Bump Emacs version to 26.2
[emacs.git] / ChangeLog.3
blobe49a3762643a4e62aff7c8ef6e67529817d41349
1 2019-04-11  Eli Zaretskii  <eliz@gnu.org>
3         Improve documentation of 'read-command'
5         * src/minibuf.c (Fread_command): Document the return value
6         when DEFAULT-VALUE is nil and the user enters nothing.
7         * doc/lispref/minibuf.texi (High-Level Completion): Document
8         the printed representation of a symbol whose name is empty.
9         (Bug#3522)
11 2019-04-11  Eli Zaretskii  <eliz@gnu.org>
13         Fix an outdated URL in a comment
15         * src/emacs.c: Fix reference to Cocoa CoreFoundation Release
16         Notes.  (Bug#35225)
18 2019-04-11  Basil L. Contovounesios  <contovob@tcd.ie>
20         Backport: Fix comment-empty-lines docstring (bug#35152)
22         * lisp/newcomment.el (comment-empty-lines): Consistently use US
23         commas in docstring.  Fix indentation of and typo in custom :type.
25         (cherry picked from commit 690c678fb6c1fb5b2f828f9bb90782bd0b01c399)
27 2019-04-11  Alex Branham  <alex.branham@gmail.com>
29         Backport: Update documentation for indent-relative functions
31         * lisp/indent.el (indent-relative): Document what happens when there
32           is no previous nonblank line.
33         * doc/lispref/text.texi (Relative Indent): Document
34           indent-relative-first-indent-point instead of obsolete
35           indent-relative-maybe. Fix documentation of which argument from
36           'indent-relative' is used.
38         Bug#34858
40         (cherry picked from commit 10cd65878c741d2a22a1f2c36c54fcad4e516f72)
42 2019-04-11  Noam Postavsky  <npostavs@gmail.com>
44         Update nxml-mode.texi: completion now gives xmlns="-!-"
46         * doc/misc/nxml-mode.texi (Completion): As of 2016-01-16 "* lisp/nxml:
47         Use standard completion; it also works for company-mode", completing
48         an attribute when there is only one candidate inserts both quotes.
49         Update the example accordingly.
51 2019-04-10  Eric Abrahamsen  <eric@ericabrahamsen.net>
53         Note that choose-completion-string-functions funcs take four args
55         * lisp/simple.el (choose-completion-string-functions): Functions in
56           this list actually need to accept four arguments, though the fourth
57           should be ignored.
59 2019-04-10  Gemini Lasswell  <gazally@runbox.com>
61         Address name conflicts in EIEIO documentation (bug#31660)
63         * doc/misc/eieio.texi (Quick Start): Rename the class used in the
64         example from 'record' to 'person'.
65         (Building Classes): Advise user to check for name conflicts before
66         naming a class.  Add a missing apostrophe.
67         (Making New Objects): Correct grammar.  Rename the class used in the
68         example from 'record' to 'my-class'.
70 2019-04-09  Mattias Engdegård  <mattiase@acm.org>
72         Clarify the TESTFN argument to `alist-get'
74         * lisp/subr.el (alist-get):
75         Rephrase the initial text to clarify the meaning of the TESTFN argument.
76         It's an equality predicate, not a look-up function (Bug#35206).
78         (cherry picked from commit c81465580fe262f28ce47502c00f4afcbe3b8f8d)
80 2019-04-08  Eli Zaretskii  <eliz@gnu.org>
82         * src/editfns.c (Fnarrow_to_region): Doc fix.  (Bug#35163)
84 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
86         Fix doc strings of 'vc-version-diff' and 'vc-version-ediff'
88         * lisp/vc/vc.el (vc-version-diff, vc-version-ediff): Describe
89         arguments in the doc strings.  (Bug#35019)
91 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
93         Improve documentation of set-window-start
95         * doc/lispref/windows.texi (Window Start and End):
96         * src/window.c (Fset_window_start): Document that reliable
97         setting of a window start position requires to adjust point to
98         be visible.  (Bug#34038)
100 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
102         Improve documentation of window parameters
104         * doc/lispref/windows.texi (Cyclic Window Ordering): Describe
105         the effect of the 'other-window' window parameter.
106         (Window Parameters): Improve the descriptions of window
107         parameters.  Move the detailed description of the
108         'quit-restore' window parameter from here...
109         (Quitting Windows): ...to here.  (Bug#35063)
111 2019-04-06  Eli Zaretskii  <eliz@gnu.org>
113         Improve commentary in frame.el
115         * lisp/frame.el: Improve commentary for display-* functions.
116         (Bug#35058)
118 2019-04-06  Mauro Aranda  <maurooaranda@gmail.com>
120         Fix typo in a doc string
122         * lisp/autorevert.el (global-auto-revert-mode): Fix a typo.
123         (Bug#35165)
125 2019-03-20  Paul Eggert  <eggert@cs.ucla.edu>
127         Say which regexp ranges should be avoided
129         * doc/lispref/searching.texi (Regexp Special): Say that
130         regular expressions like "[a-m-z]" and "[[:alpha:]-~]" should
131         be avoided, for the same reason that regular expressions like
132         "+" and "*" should be avoided: POSIX says their behavior is
133         undefined, and they are confusing anyway.  Also, explain
134         better what happens when the bound of a range is a raw 8-bit
135         byte; the old explanation appears to have been obsolete
136         anyway.  Finally, say that ranges like "[\u00FF-\xFF]" that
137         mix non-ASCII characters and raw 8-bit bytes should be
138         avoided, since it’s not clear what they should mean.
140 2019-03-20  Nicolas Petton  <nicolas@petton.fr>
142         * etc/AUTHORS: Update.
144         * ; ChangeLog.3 update
146 2019-03-20  Eli Zaretskii  <eliz@gnu.org>
148         Improve indexing of the user manual
150         * doc/emacs/search.texi (Word Search): Improve indexing of
151         "M-s M-w".
153 2019-03-19  Basil L. Contovounesios  <contovob@tcd.ie>
155         Fix url-copy-file arglist
157         * lisp/url/url-handlers.el: Silence byte-compiler.
158         (url-copy-file): Add 6th argument following change to copy-file in
159         2012-12-16T19:22:27+01:00!romain@orebokech.com. (bug#4410)
161 2019-03-19  Eli Zaretskii  <eliz@gnu.org>
163         Fix downloading updates for packages with non-ASCII descriptions
165         * lisp/emacs-lisp/package.el (package--download-one-archive):
166         Make sure archive contents are written using UTF-8 encoding.
167         (Bug#34909)
168         (list-packages): Set buffer's encoding to UTF-8.
170 2019-03-18  Nicolas Petton  <nicolas@petton.fr>
172         * etc/NEWS: Remove temporary markers.
174 2019-03-15  Alan Mackenzie  <acm@muc.de>
176         * doc/misc/cc-mode.texi (Config Basics): in @itemize, @asis -> @w{}
178 2019-03-15  Eli Zaretskii  <eliz@gnu.org>
180         Don't clobber 'comint-input-autoexpand' in 'read-shell-command'
182         * lisp/shell.el (shell-completion-vars): Set only the
183         buffer-local value of 'comint-input-autoexpand'.  (Bug#34815)
185 2019-03-13  Martin Rudalics  <rudalics@gmx.at>
187         Document restrictions when setting window margins, fringes or scroll bars
189         * src/window.c (Fset_window_margins, Fset_window_fringes)
190         (Fset_window_scroll_bars): In doc-strings tell that a window
191         must be large enough to accommodate fringes, sroll bars and
192         margins of the desired size.
193         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
194         (Display Margins): Tell that windows must be large enough to
195         accommodate fringes, sroll bars and margins of the desired
196         size.
198 2019-03-10  Eli Zaretskii  <eliz@gnu.org>
200         More improvements for 'read-buffer's doc string
202         * src/minibuf.c (Fread_buffer): Further improve the doc
203         string.  (Bug#347694)
205 2019-03-10  Alan Mackenzie  <acm@muc.de>
207         * lisp/progmodes/cc-defs.el: Update c-version to 5.33.2 for Emacs 26.2
209 2019-03-09  Eli Zaretskii  <eliz@gnu.org>
211         * src/minibuf.c (Fread_buffer): Minor doc fixes.  (Bug#34749)
213 2019-03-09  Eli Zaretskii  <eliz@gnu.org>
215         Fix markup of fake keys in the ELisp manual
217         * doc/lispref/keymaps.texi (Menu Bar, Tool Bar): Fix markup of
218         fake keys.  (Bug#34785)
220 2019-03-09  Eli Zaretskii  <eliz@gnu.org>
222         Avoid errors in Auto Revert mode
224         * lisp/autorevert.el (auto-revert-buffers): Cancel
225         auto-revert-timer only if it is non-nil.  This avoids errors
226         on first invocation of Auto-Revert mode.
228 2019-03-09  Michael Albinus  <michael.albinus@gmx.de>
230         Mention empty strings in file name expansion, emacs lisp reference
232         * doc/lispref/files.texi (Files, File Name Expansion):
233         Mention also empty strings.
235 2019-03-08  Alan Mackenzie  <acm@muc.de>
237         cc-mode.texi: Work around makeinfo alignment bug.  Fix problem with ss index
239         * doc/misc/cc-mode.texi (top level): Using txicommandconditionals to
240         differentiate between the C and perl versions of Texinfo, create an "ss
241         index" unless we are both using the C Texinfo and are building the .dvi output
242         format.
243         (Config Basics): Work around a perl Texinfo alignment bug by writing a
244         separate version of an item list structure for this version, simplifying it
245         considerably.
247 2019-03-08  Martin Rudalics  <rudalics@gmx.at>
249         Warn against recursive invocations of 'buffer-list-update-hook' (Bug#34765)
251         * src/buffer.c (Vbuffer_list_update_hook):
252         * doc/lispref/buffers.texi (Buffer List): Warn against
253         recursive invocations of 'buffer-list-update-hook' (Bug#34765).
255 2019-03-08  Martin Rudalics  <rudalics@gmx.at>
257         Provide more details in doc-string of 'delete-windows-on' (Bug#34749)
259         * lisp/window.el (delete-windows-on): Provide more details in
260         doc-string (Bug#34749).
262 2019-03-08  Eli Zaretskii  <eliz@gnu.org>
264         Improve documentation of 'delete-windows-on'
266         * doc/emacs/windows.texi (Change Window): Document
267         'delete-windows-on'.
269         * lisp/window.el (delete-windows-on): Doc fix.  (Bug#34749)
271 2019-03-08  Eli Zaretskii  <eliz@gnu.org>
273         * lisp/frame.el (make-frame-command): Doc fix.  (Bug#34715)
275 2019-03-07  Eli Zaretskii  <eliz@gnu.org>
277         Avoid undefined behavior in gdb-mi.el
279         * lisp/progmodes/gdb-mi.el (gdb-send): Don't call match-string
280         if this is not a control command.  (Bug#34769)
282 2019-03-06  Martin Rudalics  <rudalics@gmx.at>
284         * lisp/window.el (fit-frame-to-buffer): Make doc-string more accurate.
286 2019-03-05  Basil L. Contovounesios  <contovob@tcd.ie>
288         Minor spelling and grammar fixes (bug#34756)
290         doc/misc/cc-mode.texi (Style Variables, Customizing Indentation):
291         doc/misc/ede.texi (Extending EDE, ede-project-placeholder)
292         (ede-target, ede-proj-target, ede-compilation-program, ede-compiler)
293         (ede-linker): Remove apostrophe from possessive "it's".
294         doc/lispintro/emacs-lisp-intro.texi (Find a File):
295         doc/misc/gnus-faq.texi (FAQ 2-2): Write "an other" as a single word.
296         doc/misc/gnus.texi (Article Buttons):
297         lisp/gnus/gnus-art.el (gnus-button-mid-or-mail-heuristic-alist)
298         (gnus-button-mid-or-mail-heuristic): Write singular number of
299         Message-IDs, rather than plural.
300         lisp/gnus/message.el (message-user-fqdn): Capitalize initialism.
302 2019-03-04  Eli Zaretskii  <eliz@gnu.org>
304         Minor improvement of documentation of '(when CONDITION . SPEC)'
306         * doc/lispref/display.texi (Other Display Specs): Add a caveat
307         to using the '(when CONDITION . SPEC)' display specs.
309 2019-03-02  Eli Zaretskii  <eliz@gnu.org>
311         Improve documentation of 'auto-coding-functions'
313         * doc/lispref/nonascii.texi (Default Coding Systems): Clarify
314         that the functions in 'auto-coding-functions' are called both
315         for decoding and for encoding.
317         * lisp/international/mule.el (auto-coding-functions): Doc fix.
319 2019-03-02  Eli Zaretskii  <eliz@gnu.org>
321         Fix visiting XML files with non-Unix EOL format
323         * lisp/international/mule.el (sgml-xml-auto-coding-function)
324         (sgml-html-meta-auto-coding-function): Don't use
325         'buffer-file-coding-system' if the buffer is unibyte.
326         (Bug#34704)
328 2019-03-02  Basil L. Contovounesios  <contovob@tcd.ie>
330         Update example major mode code in Elisp manual
332         * doc/lispref/modes.texi (Example Major Modes): Update code examples
333         to reflect current state of lisp/textmodes/text-mode.el and
334         lisp/emacs-lisp/lisp-mode.el. (bug#34671)
336 2019-03-01  Eli Zaretskii  <eliz@gnu.org>
338         Fix a typo in the Calc manual
340         * doc/misc/calc.texi (Algebraic Tutorial): Fix parentheses in
341         @example.  (Bug#34689)
343 2019-03-01  Eli Zaretskii  <eliz@gnu.org>
345         Minor improvement in cross-references of the ELisp manual
347         * doc/lispref/modes.texi (Minor Mode Conventions): Add
348         cross-references to related major-mode descriptions.  (Bug#34678)
350 2019-03-01  Tobias Bading  <tbading@web.de>  (tiny change)
352         Fix last change on 'compilation-parse-errors'
354         * lisp/progmodes/compile.el (compilation-parse-errors): Fix
355         previous change in this function.  (Bug#34479)
357 2019-02-25  Dmitry Gutov  <dgutov@yandex.ru>
359         Backport: js--re-search-backward-inner: Fix infloop
361         Fix JS indentation infloop reported in
362         https://github.com/mooz/js2-mode/issues/513.
364         * lisp/progmodes/js.el (js--re-search-backward-inner): Account for
365         multiline string literals.
366         * test/manual/indent/js.js: New test example.
368         (cherry picked from commit b01a4295c2f9bb58858880e4e28b05cc8396791c)
370 2019-02-23  Eli Zaretskii  <eliz@gnu.org>
372         Minor improvement for docs of completion
374         * doc/lispref/minibuf.texi (Completion Commands)
375         (Completion in Buffers, Programmed Completion): Add to text
376         that references completion tables a cross-reference to where
377         "completion table" is described.
378         (Programmed Completion): Fix the description of
379         'completion-table-dynamic'.  Add more cross-references.
381 2019-02-22  Ken Brown  <kbrown@cornell.edu>
383         Disable the timerfd interface on Cygwin
385         * configure.ac (emacs_cv_have_timerfd): Set to "no" on Cygwin.
387 2019-02-22  Eli Zaretskii  <eliz@gnu.org>
389         Fix a typo in the doc string of 'regex-opt'
391         * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix example in
392         the doc string.  (Bug#34596)
394 2019-02-21  Michael Albinus  <michael.albinus@gmx.de>
396         Document bash 5.0.0 misbehavior in tramp.texi (Bug#34192)
398         * doc/misc/tramp.texi (Frequently Asked Questions): Warn about
399         bash 5.0.0 and HISTSIZE=0.  (Bug#34192)
401 2019-02-20  Nicolas Petton  <nicolas@petton.fr>
403         Bump Emacs version to 26.1.92
405         * README:
406         * configure.ac:
407         * msdos/sed2v2.inp:
408         * nt/README.W32: Bump Emacs version to 26.1.92.
410 2019-02-20  Nicolas Petton  <nicolas@petton.fr>
412         * ; ChangeLog.3 update
414         * etc/AUTHORS: Update.
416 2019-02-20  Glenn Morris  <rgm@gnu.org>
418         Remove .art from the default list of ImageMagick extensions
420         It seems that .art files can be non-image files that
421         ImageMagick mistakenly treats as extremely large images.
422         Real .art images seem rare.
423         * lisp/image.el (imagemagick-enabled-types): Remove ART.  (Bug#22289)
425 2019-02-19  Eli Zaretskii  <eliz@gnu.org>
427         Fix input after setting x-wait-for-event-timeout nil
429         * src/w32term.c (x_make_frame_visible): Call unblock_input
430         before returning early.  (Bug#34575)
432 2019-02-19  Martin Rudalics  <rudalics@gmx.at>
434         Fix two warnings in eshell.texi
436         * doc/misc/eshell.texi (Built-ins, Globbing): Fix `.' or `,'
437         must follow @xref, not `f' warnings.
439 2019-02-18  Stefan Monnier  <monnier@iro.umontreal.ca>
441         * lisp/minibuffer.el (completion-table-dynamic): Improve docstring
443 2019-02-18  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)
445         * lisp/emacs-lisp/debug.el (debug-on-variable-change): Doc fix.  (Bug#34518)
447 2019-02-17  Eli Zaretskii  <eliz@gnu.org>
449         Fix a typo in ELisp manual
451         * doc/lispref/abbrevs.texi (Abbrev Table Properties): Fix a
452         typo.  (Bug#34508)
454 2019-02-16  Paul Eggert  <eggert@cs.ucla.edu>
456         Update citations of Internet RFCs
458         For example, RFC 822 has been obsoleted by RFC 2822, which in
459         turn has been obsoleted by RFC 5322.
460         * doc/emacs/ack.texi, doc/lispref/os.texi:
461         * doc/misc/emacs-mime.texi, doc/misc/gnus-coding.texi:
462         * doc/misc/gnus.texi, doc/misc/sc.texi:
463         * lisp/calendar/parse-time.el, lisp/gnus/gnus-cite.el:
464         * lisp/gnus/gnus-util.el, lisp/gnus/message.el:
465         * lisp/gnus/mm-bodies.el, lisp/gnus/nnrss.el:
466         * lisp/mail/feedmail.el, lisp/mail/ietf-drums.el:
467         * lisp/mail/mail-extr.el, lisp/mail/mail-utils.el:
468         * lisp/mail/mailclient.el, lisp/mail/mailheader.el:
469         * lisp/mail/rfc2047.el, lisp/mail/rfc822.el, lisp/mail/rmail.el:
470         * lisp/mail/sendmail.el, lisp/mail/smtpmail.el:
471         * lisp/mail/supercite.el, lisp/mh-e/mh-e.el:
472         * lisp/mh-e/mh-utils.el, lisp/net/imap.el:
473         * lisp/net/newst-backend.el, lisp/org/org-id.el:
474         * lisp/ps-samp.el, lisp/simple.el, lisp/url/url-util.el:
475         Update RFC citations.
477 2019-02-16  Eli Zaretskii  <eliz@gnu.org>
479         Fix handling of manpage references divided by hyphenation
481         * lisp/man.el (Man-reference-regexp): Accept a newline as part
482         of a manpage name only if it's preceded by a hyphen.  (Bug#34286)
483         (Man-translate-references): Adapt to change in
484         'Man-reference-regexp'.
485         (Man-default-man-entry): Support references divided between
486         two lines by an ASCII hyphen.  This is a left-over from fixing
487         bug#6289.
489 2019-02-16  Gregor Zattler  <telegraph@gmx.net>  (tiny change)
491         * doc/misc/eshell.texi: Fix some @ref's.
493 2019-02-16  Eli Zaretskii  <eliz@gnu.org>
495         Fix a typo in lispref/syntax.texi
497         * doc/lispref/syntax.texi (Syntax Table Internals): Fix a
498         typo.  (Bug#34495)
500 2019-02-15  Victor J. Orlikowski  <vjo@duke.edu>  (tiny change)
502         Avoid errors in erc-dcc.el when erc-dcc-verbose is non-nil
504         * lisp/erc/erc-dcc.el (erc-dcc-get-filter): Don't assume STR
505         is always a string.  Use 'buffer-name' to get the DCC file
506         name, as buffer-file-name is not set in the process buffer.
508 2019-02-15  Daniel Lopez  <daniel.lopez999@gmail.com>  (tiny change)
510         Fix faces in compilation messages
512         * lisp/progmodes/compile.el (compilation-parse-errors): Don't
513         clobber the value of TYPE inside the loop.  (Bug#34479)
515 2019-02-15  Gregor Zattler  <telegraph@gmx.net>
517         * doc/misc/eshell.texi (Built-ins): Fix alias description
519         Dear eamcs developers, eshells current documentation first states
520         that alias definitions are not saved to an alias file, later that
521         they are saved to an alias file.  I tested it and the latter is
522         correct.
524         Please find attached a patch which fixes this.
526         Thanks for working on emacs which is really great, Gregor
528         >From 1fe51cc769ab7a30d0896fb3d6105c0561243fa7 Mon Sep 17 00:00:00 2001
529         From: Gregor Zattler <telegraph@gmx.net>
530         Date: Wed, 13 Feb 2019 20:19:38 +0100
531         Subject: * doc/misc/eshell.texi (Built-ins): Fix alias description.
533         Bring description of built-in 'alias' in line with (info "(eshell) Aliases"),
534         which describes the actual behaviur.
536         (cherry picked from commit a48099ce7ff63cda416a870766fe61f5b8ac7c2c)
538 2019-02-14  Katsumi Yamaoka  <yamaoka@jpl.org>
540         Work for empty MIME attachments (related to bug#34387)
542         * lisp/gnus/mm-view.el (mm-inline-text):
543         Make undisplayer do nothing if the part is empty.
545         * lisp/gnus/mm-decode.el (mm-copy-to-buffer): Work for empty MIME part.
546         * lisp/gnus/mml.el (mime-to-mml): Ditto.
548 2019-02-14  Jackson Ray Hamilton  <jackson@jacksonrayhamilton.com>
550         Backport: js-indent-align-list-continuation: Make variable safe
552         * lisp/progmodes/js.el (js-indent-align-list-continuation): Indicate
553         variable is safe as a file-local variable.  This fixes the
554         js-indent-align-list-continuation-nil test when run with make.
556         (cherry picked from commit dd319f2711f895eec87c1017b82cd9d88d9ecd0a)
558 2019-02-13  Eli Zaretskii  <eliz@gnu.org>
560         Avoid crashes upon C-g in nested invocations of 'read_char'
562         * src/keyboard.c (read_char, read_event_from_main_queue):
563         Ensure the global value of getcjmp is restored when the stack
564         is unwound by the likes of 'throw', by calling
565         record_unwind_protect_ptr instead of restoring the value
566         manually.  (Bug#34394)
567         (restore_getcjmp): Argument is now 'void *', to match the
568         signature of record_unwind_protect_ptr.
570         (cherry picked from commit 10527fca66e39d7067986904161fa33741abcd26)
572 2019-02-12  Stefan Monnier  <monnier@iro.umontreal.ca>
574         * src/data.c (Fmake_local_variable): Fix bug#34318
576         Revert part of ed962f2b8a.
578         * test/src/data-tests.el (data-tests-make-local-forwarded-var):
579         Add corresponding test.
581 2019-02-12  Eli Zaretskii  <eliz@gnu.org>
583         Minor fixes in ELisp manual wrt syntax-table properties
585         * doc/lispref/syntax.texi (Syntax Properties): Fix reference
586         to syntax-table properties.  (Bug#34455)
587         (Control Parsing): Remove redundant @vindex entry.
589 2019-02-12  Michael Albinus  <michael.albinus@gmx.de>
591         * admin/notes/emba: New file.
593 2019-02-11  Eli Zaretskii  <eliz@gnu.org>
595         Fix Hunspell invocation for discovering its dictionaries
597         * lisp/textmodes/ispell.el
598         (ispell-find-hunspell-dictionaries): Invoke Hunspell with the
599         -a switch, to prevent it from initializing its curses UI.
600         (Bug#34272)
602 2019-02-08  Eli Zaretskii  <eliz@gnu.org>
604         Minor improvements to do strings in callproc.c
606         * src/callproc.c (Fcall_process, Fcall_process_region): Minor
607         fixes to doc strings.  Suggested by Nicholas Drozd
608         <nicholasdrozd@gmail.com>.  (Bug#34274)
610 2019-02-08  Eli Zaretskii  <eliz@gnu.org>
612         Improve documentation of 'date-to-time' and 'parse-time-string'
614         * doc/lispref/os.texi (Time Parsing): Document
615         'parse-time-string', and refer to it for the description of
616         the argument of 'date-to-time'.
618         * lisp/calendar/time-date.el (date-to-time): Refer in the doc
619         string to 'parse-time-string' for more information about the
620         format of the DATE argument.  (Bug#34303)
622 2019-02-08  Nick Drozd  <nicholasdrozd@gmail.com>
624         Fix downloading of URLs that end in a slash
626         * lisp/net/eww.el (eww-download-callback): Fix download URL
627         file name.  Previously this wasn't handling download URLs
628         correctly, resulting in all downloaded pages being named
629         "!", "!(1)", etc.  (Bug#34291)
631 2019-02-08  Nick Drozd  <nicholasdrozd@gmail.com>
633         * doc/misc/eww.texi (Basics): Fix eww keybindings.  (Bug#34291)
635 2019-02-08  Robert Pluim  <rpluim@gmail.com>
637         Fix process-thread docstring
639         * src/process.c (Fprocess_thread): Correct docstring.
641 2019-02-08  Eli Zaretskii  <eliz@gnu.org>
643         Fix failures of vc-find-revision with non-ASCII file names
645         * lisp/vc/vc.el (vc-find-revision): Instead of binding
646         coding-system-for-write, make the buffer-file-coding-system of
647         the temporary buffer be no-conversion.  This avoids the
648         unwanted side effect of not encoding the command-line
649         arguments of the VCS commands invoked by the backend.
650         (Bug#34350)
652 2019-02-07  Eli Zaretskii  <eliz@gnu.org>
654         * doc/lispref/tips.texi (Documentation Tips): Fix quotes.  (Bug#34372)
656 2019-02-05  Alex Branham  <alex.branham@gmail.com>
658         Add documentation for tabulated-list functions in the elisp manual
660         * doc/lispref/modes.texi: Add documentation for
661           'tabulated-list-delete-entry', 'tabulated-list-get-id',
662           'tabulated-list-get-entry', 'tabulated-list-header-overlay-p',
663           'tabulated-list-put-tag', and 'tabulated-list-set-col'.
665         Bug#21074
667 2019-02-03  Jean-Christophe Helary  <brandelune@gmail.com>
669         Fix URL in ucs-normalize.el
671         * lisp/international/ucs-normalize.el: Fix URL of the HFS
672         normalization reference.  (Bug#34300)
674 2019-02-03  Alan Mackenzie  <acm@muc.de>
676         * etc/PROBLEMS: Amend entry for profiler bug #34235 to mention kernel 4.14.97
678 2019-02-02  Glenn Morris  <rgm@gnu.org>
680         * make-dist: Remove references to src/stamp-h.in.
682         This file was removed two years ago in 2f89350.
683         No need to merge to master.
685 2019-02-02  Paul Eggert  <eggert@cs.ucla.edu>
687         * etc/PROBLEMS: Mention profiler-report bug (Bug#34235).
689 2019-02-01  Eli Zaretskii  <eliz@gnu.org>
691         Correct the docs of inserting kmacro counter
693         * doc/emacs/kmacro.texi (Keyboard Macro Counter): Correct the
694         description of the affect "C-u" has on inserting the macro
695         counter.  Define "previous counter value".
697         * lisp/kmacro.el (kmacro-insert-counter)
698         (kmacro-start-macro-or-insert-counter): Fix the doc strings
699         regarding the effect of "C-u".  (Bug#34263)
701 2019-02-01  Nicholas Drozd  <nicholasdrozd@gmail.com>
703         * doc/misc/calc.texi (Algebraic Tutorial): Fix a typo.  (Bug#34273)
705 2019-02-01  Eli Zaretskii  <eliz@gnu.org>
707         Avoid errors in 'rmail-get-new-mail'
709         * lisp/mail/rmail.el (rmail-insert-inbox-text): Don't assume
710         the Rmail protocol is always a string when calling
711         'rmail-remote-proto-p'.  (Bug#34252)
713 2019-01-31  Paul Eggert  <eggert@cs.ucla.edu>
715         Fix process-contact bug with TCP connections
717         This fixes a regression from Emacs 25.3 (Bug#34134).
718         * src/process.c (server_accept_connection):
719         Set host correctly, fixing a bug introduced in
720         2017-09-16T21:29:18Z!eggert@cs.ucla.edu
721         when working around a GCC bug.
723 2019-01-29  Eli Zaretskii  <eliz@gnu.org>
725         Minor copyedits in last manual change
727         * doc/emacs/custom.texi (Authentication): Improve markup,
728         indexing, and wording.
730 2019-01-29  Eli Zaretskii  <eliz@gnu.org>
732         Improve documentation of face numbers
734         * doc/lispref/display.texi (Face Functions): Mention where the
735         face number is used and that it depends on the 'face' property
736         of the face symbol.  Improve indexing.
738 2019-01-27  Michael Albinus  <michael.albinus@gmx.de>
740         * doc/emacs/custom.texi (Authentication): Refer to the "Help for users" node.
742 2019-01-26  Michael Albinus  <michael.albinus@gmx.de>
744         New node Authentication in the Emacs manual
746         * doc/emacs/custom.texi (Customization):
747         * doc/emacs/emacs.texi (Top): Add node Authentication.
749 2019-01-25  Alan Mackenzie  <acm@muc.de>
751         Fix a loop in c-fl-decl-start.  This fixes bug #34186.
753         * lisp/progmodes/cc-mode.el (c-fl-decl-start) In the pair of operations
754         c-syntactic-skip-backward and c-forward-syntactic-ws, ensure the latter
755         doesn't come back to the position before the former, and break out of the
756         enclosing loop if it does.
758 2019-01-25  Eli Zaretskii  <eliz@gnu.org>
760         Fix LaTeX output of month and day from cal-tex.el
762         * lisp/calendar/cal-tex.el (cal-tex-cursor-week-iso)
763         (cal-tex-week-hours): Escape a lone blank, to make it through
764         LaTeX.  (Bug#34148)
766 2019-01-25  Daniel Kahn Gillmor  <dkg@fifthhorseman.net>  (tiny change)
768         Avoid elisp crash for OpenPGP User IDs with no e-mail address
770         * lisp/gnus/mml-sec.el (mml-secure-check-user-id): Verify that
771         there is an e-mail address in the current User ID before trying
772         to downcase it.  (Bug#34121)
774 2019-01-25  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>
776         image-mode: Do not use default scaling (bug#33990)
778         * lisp/image-mode.el (image-toggle-display-image): Set :scale == 1 so
779         that create-image does not apply additional scaling.
781 2019-01-25  Benjamin Riefenstahl  <b.riefenstahl@turtle-trading.net>
783         create-image: Expand documentation (bug#33990)
785         * lisp/image.el (create-image): Discuss default for :scale in the doc
786         string.
788 2019-01-21  Eli Zaretskii  <eliz@gnu.org>
790         Improve documentation of 'isearch-filter-predicate'
792         * lisp/isearch.el (isearch-filter-predicate)
793         (isearch-filter-visible): Doc fixes.  (Bug#34150)
795 2019-01-19  Trevor Spiteri  <tspiteri@ieee.org>  (tiny change)
797         Fix cursor column positioning on Grep hits
799         * lisp/progmodes/grep.el (grep-match-face): Move before first
800         use, to avoid byte-compilation warning.
801         (grep-regexp-alist): Don't quote grep-match-face.  (Bug#34068)
803 2019-01-18  Eli Zaretskii  <eliz@gnu.org>
805         Fix a typo in ELisp manual
807         * doc/lispref/nonascii.texi (Converting Representations): Fix
808         inconsistency between @defun and the argument description of
809         'byte-to-string'.  (Bug#34119)
811 2019-01-15  Alan Third  <alan@idiocy.org>
813         Prevent redrawing if frame is garbaged
815         * src/nsterm.m ([EmacsView viewWillDraw]): Cancel drawing if the frame
816         has been garbaged.
817         * src/xdisp.c (expose_window_tree, expose_frame): Remove NS only
818         exceptions.
820 2019-01-14  Eli Zaretskii  <eliz@gnu.org>
822         Attempt to fix hangs on MS-Windows due to C-g
824         * src/w32uniscribe.c (uniscribe_otf_capability): Set
825         inhibit-quit around calls to otf_features, because the latter
826         cons Lisp data structures while we are in a critical section.
827         * src/xdisp.c (ALLOCATE_HDC) [HAVE_NTGUI]: Set inhibit-quit.
828         (RELEASE_HDC) [HAVE_NTGUI]: Restore inhibit-quit.
829         (OPTIONAL_HDC, DECLARE_HDC): Remove macros, their job is now
830         done by ALLOCATE_HDC and by a single #ifdef.
831         (draw_glyphs): Adapt to the above changes in macros.
832         (Bug#34059)
834 2019-01-13  Eli Zaretskii  <eliz@gnu.org>
836         Fix Calc graph output on MS-Windows
838         The previous code relied on "pgnuplot" executable, which is
839         no longer provided with Gnuplot 5.x.
840         * lisp/calc/calc.el (calc-gnuplot-name): Set to "pgnuplot" on
841         MS-Windows only if such an executable exists.
842         * lisp/calc/calc-graph.el (calc-graph-w32-p): New defsubst.
843         (calc-graph-plot, calc-graph-command, calc-gnuplot-command)
844         (calc-graph-init): Call calc-graph-w32-p wherever we need to
845         do something special for invoking gnuplot on MS-Windows,
846         instead of comparing against calc-gnuplot-name.
847         (calc-graph-plot): Set the terminal to "qt" on MS-Windows when
848         pgnuplot.exe is not available.
849         (calc-graph-kill): Delete the temporary files only after
850         killing the gnuplot process, otherwise the deletion might fail
851         on MS-Windows because the files are still in use.
853 2019-01-13  Eli Zaretskii  <eliz@gnu.org>
855         Fix a minor mistake in ELisp manual
857         * doc/lispref/buffers.texi (Modification Time): Fix
858         documentation of 'visited-file-modtime'.  (Bug#34055)
860 2019-01-12  Stephen Berman  <stephen.berman@gmx.net>
862         * etc/tutorials/TUTORIAL: Fix typo (bug#34049)
864 2019-01-12  Devon Sean McCullough  <Emacs-Hacker2018@jovi.net>
866         Fix UI of Buffer-menu
868         * lisp/buff-menu.el (Buffer-menu-execute): Don't remove
869         entries of buffers whose killing the user didn't confirm.
870         (Bug#33669)
872 2019-01-12  Philip K  <philip@warpmail.net>  (tiny change)
874         Reinitialize ispell-really-enchant when changing the speller
876         * lisp/textmodes/ispell.el (ispell-check-version): Reset also
877         ispell-really-enchant.  (Bug#34019)
879 2019-01-07  Leo Liu  <sdl.web@gmail.com>
881         Speed up loading css-mode
883         lisp/textmodes/css-mode.el: Remove (require 'eww) which is redundant
884         and slow.  (Bug#33939)
886 2019-01-07  Michael Albinus  <michael.albinus@gmx.de>
888         Adapt filenotify-tests for emba
890         * .gitlab-ci.yml (test): Add EMACS_EMBA_CI variable.
892         * test/lisp/filenotify-tests.el (file-notify-test03-events)
893         (file-notify-test05-file-validity)
894         (file-notify-test06-dir-validity)
895         (file-notify-test07-many-events)
896         (file-notify-test09-watched-file-in-watched-dir): Adapt tests for emba.
898 2019-01-07  Nicolas Petton  <nicolas@petton.fr>
900         Bump Emacs version to 26.1.91
902         * README:
903         * configure.ac:
904         * msdos/sed2v2.inp:
905         * nt/README.W32: Bump Emacs version to 26.1.91.
907 2019-01-07  Nicolas Petton  <nicolas@petton.fr>
909         * etc/AUTHORS: Update.
911 2019-01-07  Leo Liu  <sdl.web@gmail.com>
913         * lisp/textmodes/mhtml-mode.el: Avoid loading flyspell.  (Bug#33939)
915 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
917         Improve GC+Cairo workaround
919         Suggested by Eli Zaretskii (Bug#20890#31).
920         * src/font.h (font_data_structures_may_be_ill_formed): New function.
921         * src/ftfont.c (ftfont_close):
922         * src/ftcrfont.c (ftcrfont_close): Use it.
924         (cherry picked from commit d02fd482fbeaf6ed551e78223b538495cb0c3541)
926 2019-01-05  Paul Eggert  <eggert@cs.ucla.edu>
928         Work around GC+Cairo bug
930         Workaround suggested by Robert Pluim (Bug#20890#13).
931         * src/ftfont.c (ftfont_close) [USE_CAIRO]:
932         Do nothing if GC is in progress.
934 2019-01-05  Eli Zaretskii  <eliz@gnu.org>
936         Improve commentary in font.h
938         * src/font.h (struct font, struct font_driver): Fix typos and
939         wording in comments.  Document all driver methods.
941 2019-01-04  Martin Rudalics  <rudalics@gmx.at>
943         Fix definition of Qwindow_point_insertion_type (Bug#33871)
945         * src/window.c (Qwindow_point_insertion_type): Fix definition
946         (Bug#33871).
948 2019-01-04  Eli Zaretskii  <eliz@gnu.org>
950         Improve documentation of 'server-name'
952         * doc/emacs/misc.texi (Emacs Server, TCP Emacs server)
953         (emacsclient Options):
954         * lisp/server.el (server-name):  Document the usage of
955         'server-name' to specify the server file as an absolute file
956         name.  Do not merge to master.  (Bug#33934)
958 2019-01-04  Eli Zaretskii  <eliz@gnu.org>
960         Update Unicode copyright notice
962         * admin/unidata/copyright.html: Updated version from the
963         Unicode Consortium's site.
965 2019-01-02  Michael Albinus  <michael.albinus@gmx.de>
967         Handle quoted file names in filenotify.el
969         * lisp/filenotify.el (file-notify-add-watch): Do not save
970         quoted file names in `file-notify-descriptors'.
972         * test/lisp/files-tests.el
973         (files-file-name-non-special-notify-handlers): Do not expect
974         to fail.
976 2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>
978         Fix copyright years by hand
980         These are dates that admin/update-copyright did not update, or
981         updated incorrectly.
983 2019-01-01  Paul Eggert  <eggert@cs.ucla.edu>
985         Update copyright year to 2019
987         Run 'TZ=UTC0 admin/update-copyright $(git ls-files)'.
989 2018-12-31  Eli Zaretskii  <eliz@gnu.org>
991         * doc/man/emacs.1.in: Fix value of default frame height.  (Bug#33921)
993 2018-12-30  Martin Rudalics  <rudalics@gmx.at>
995         In user manual fix value of default frame height (Bug#33921)
997         * doc/emacs/cmdargs.texi (Window Size X): Fix value of default
998         frame height (Bug#33921).
1000 2018-12-29  Eli Zaretskii  <eliz@gnu.org>
1002         Improve documentation of 'file-local-name' and related APIs
1004         * doc/lispref/files.texi (Unique File Names)
1005         (Magic File Names, File Name Expansion): Improve documentation
1006         of the "local part" of a remote file name.
1007         * doc/lispref/processes.texi (Synchronous Processes)
1008         (Asynchronous Processes): State explicitly that program and
1009         file names passed to functions that start remote processes
1010         need to be relative or obtained by 'file-local-name'.
1012         * lisp/files.el (file-local-name):
1013         * lisp/simple.el (start-file-process, process-file): Improve
1014         the documentation of the "local part" of a remote file name,
1015         and its use in APIs that start remote processes.
1017 2018-12-29  Michael Albinus  <michael.albinus@gmx.de>
1019         Fix Bug#31704.  Do not merge
1021         * lisp/net/tramp.el (tramp-eshell-directory-change):
1022         Use `path-separator' as it does eshell.  (Bug#31704)
1024 2018-12-29  Michael Albinus  <michael.albinus@gmx.de>
1026         Fix Bug#31704.  Do not merge
1028         * lisp/eshell/esh-proc.el (eshell-gather-process-output): Do not
1029         let `expand-file-name' prefix remote file names with MS Windows
1030         volume letter.
1032         * lisp/net/tramp.el (tramp-eshell-directory-change):
1033         Use `path-separator' as it does eshell.  (Bug#31704)
1035 2018-12-29  Eli Zaretskii  <eliz@gnu.org>
1037         * lisp/files.el (cd): Fix last change.  (Bug#33791)
1039 2018-12-29  Eli Zaretskii  <eliz@gnu.org>
1041         Fix remote directories in Eshell on MS-Windows
1043         * lisp/files.el (cd): Support remote directory names on
1044         MS-Windows.  (Bug#33791)
1046 2018-12-29  Drew Adams  <drew.adams@oracle.com>
1048         Fix :type 'group' in defcustom
1050         * lisp/wid-edit.el (group): Fix the :format spec.  (Bug#33566)
1052 2018-12-28  Alan Third  <alan@idiocy.org>
1054         Fix NS fringe bitmap drawing bug (bug#33864)
1056         * src/nsterm.m (ns_draw_fringe_bitmap): Check the rectangle to clear
1057         correctly.
1059 2018-12-28  Eli Zaretskii  <eliz@gnu.org>
1061         Fix commentary in dispnew.c
1063         * src/dispnew.c (buffer_posn_from_coords): Fix inaccuracies in
1064         the commentary.
1066 2018-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1068         Improve accept-process-process doc
1070         * doc/lispref/processes.texi (Accepting Output):
1071         * src/process.c (Faccept_process_output):
1072         Document that (accept-process-output P) can return non-nil
1073         even after P has exited, and that it can return nil even if P
1074         is still running (Bug#33839).
1076 2018-12-23  Stephen Leake  <stephen_leake@stephe-leake.org>
1078         Fix a simple bug in display-buffer-use-some-frame
1080         * lisp/window.el (display-buffer-use-some-frame): Simplify the
1081         predicate, fix TYPE arg to window--display-buffer.
1083 2018-12-23  Michael Albinus  <michael.albinus@gmx.de>
1085         Clarify thread switching while waiting for process output
1087         * doc/lispref/threads.texi (Threads): Clarify, that thread
1088         switching happens when waiting for process output from
1089         asynchronous processes.
1091 2018-12-22  Charles A. Roelli  <charles@aurox.ch>
1093         Improve process doc. with respect to handling of large input (Bug#33191)
1095         * src/process.c (Fprocess_send_region, Fprocess_send_string):
1096         Document that process input longer than the process input
1097         buffer may be split into bunches.  Remove an outdated
1098         reference to a 500 character split boundary.
1099         * doc/lispref/processes.texi (Asynchronous Processes): Remove
1100         mention of "stray character injections" in PTY processes.  See
1101         also the comment about ICANON in src/sysdep.c, function
1102         child_setup_tty.
1104 2018-12-22  Terrence Brannon  <metaperl@gmail.com>
1106         Minor copyedits in landmark.el
1108         * lisp/obsolete/landmark.el: Fix author's email and commentary.
1110 2018-12-20  Alan Mackenzie  <acm@muc.de>
1112         Check result from c-backward-token-2 to avoid infinite loop
1114         This fixes bug #33784.
1116         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): While moving back
1117         over enclosing parentheses, check that c-backward-token-2 actually moves.
1119 2018-12-19  Paul Eggert  <eggert@cs.ucla.edu>
1121         cl-make-random-state was not copying its arg
1123         Problem reported by Xu Chunyang (Bug#33731).
1124         * lisp/emacs-lisp/cl-extra.el (cl-make-random-state):
1125         Use copy-sequence, not copy-tree, so that the record is copied.
1126         * test/lisp/emacs-lisp/cl-extra-tests.el:
1127         (cl-extra-test-cl-make-random-state): New test.
1129 2018-12-19  Glenn Morris  <rgm@gnu.org>
1131         Skip a vc-bzr test if run as root
1133         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-faulty-bzr-autoloads):
1134         Skip this test when run as root.  This works around a race
1135         condition in root-specific code in vc-mode-line when deleting a file.
1137 2018-12-19  Chris Feng  <chris.w.feng@gmail.com>
1139         Backport: Handle unread-command-events consistently (bug#23980)
1141         * src/keyboard.c (read_char): Events put into `unread-command-events'
1142         with the form (t . EVENT) should always have the t stripped when read
1143         out.
1144         * test/src/keyboard-tests.el: New tests for `unread-command-events'.
1146         (cherry picked from commit 1f3f4b1296613b8cdc0632a68fde86e86ddad866)
1148 2018-12-19  Glenn Morris  <rgm@gnu.org>
1150         Restrict downcasing in elisp xref tests (bug#25534)
1152         The tests happen to not fail at the moment because find-library-name
1153         now has an extra feature, find-library--from-load-history, which
1154         happens to do a case-insensitive regexp match; but still it seems
1155         better not to rely on this.
1157         * test/lisp/progmodes/elisp-mode-tests.el (xref--case-insensitive):
1158         New variable.
1159         (xref-elisp-test-run, emacs-test-dir): Only downcase if the
1160         filesystem seems to be case-insensitive.
1162 2018-12-18  Rob Browning  <rlb@defaultvalue.org>
1164         Avoid test failures if directory name looks like a regexp
1166         Taken from <https://sources.debian.org/patches/emacs/1:26.1+1-1>
1167         * test/lisp/ibuffer-tests.el (ibuffer-filter-inclusion-3):
1168         * test/lisp/net/tramp-tests.el (tramp-test42-remote-load-path):
1169         Regexp-quote file names to avoid failures with directory names
1170         of the form "build/emacs-i87jK3/emacs-26.1+1/...".
1172 2018-12-18  Michael Albinus  <michael.albinus@gmx.de>
1174         Fix Bug#33524
1176         * lisp/progmodes/flymake-proc.el
1177         (flymake-proc-create-temp-with-folder-structure):
1178         Unquote file-name.  (Bug#33524)
1180 2018-12-17  Glenn Morris  <rgm@gnu.org>
1182         * doc/lispintro/emacs-lisp-intro.texi (Finding More): Fix xref.
1184 2018-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1186         More porting to GCC 8 of --enable-gcc-warnings
1188         Backport from master.
1189         I ran into this when building Emacs 26 with GCC 8 on Fedora 29 x86.
1190         * lwlib/lwlib-Xaw.h (xaw_update_one_value, xaw_popup_menu):
1191         * lwlib/lwlib-Xlw.h (xlw_update_one_value, xlw_pop_instance):
1192         * lwlib/lwlib.h (lw_allow_resizing, lw_set_main_areas) [!USE_MOTIF]:
1193         No longer const.
1194         * src/emacs-module.c: Ignore -Wcast-function-type.
1196 2018-12-15  Glenn Morris  <rgm@gnu.org>
1198         Fix an epg test for recent GnuPG versions (bug#33439)
1200         * test/lisp/epg-tests.el (epg-decrypt-1):
1201         Tell recent GnuPG (e.g. 2.2.11) not to worry about missing MDC.
1203 2018-12-14  Robert Pluim  <rpluim@gmail.com>
1205         Document font structure layout constraints
1207         This has to be the same as in src/ftcrfont.c and src/ftfont.c
1209         * src/xftfont.c (struct xftfont_info): Document layout constraints.
1211 2018-12-14  Robert Pluim  <rpluim@gmail.com>
1213         Document font structure layout constraints
1215         The layout of the initial members of ftcrfont_info must match
1216         ftfont_info
1218         * src/ftcrfont.c (struct ftcrfont_info): Likewise.
1220         * src/ftfont.c (struct ftfont_info): Document layout constraints.
1222 2018-12-14  Eli Zaretskii  <eliz@gnu.org>
1224         Fix display of line numbers in empty lines beyond EOB
1226         * src/xdisp.c (maybe_produce_line_number): When the current
1227         line is at EOB, use the 'line-number-current-line' face only
1228         on that single line, but not on the rest of empty lines beyond
1229         EOB.  (Bug#33732)
1231 2018-12-11  Eli Zaretskii  <eliz@gnu.org>
1233         Fix redisplay when a window's scroll bar or fringes are changed
1235         * src/window.c (set_window_fringes, set_window_scroll_bars):
1236         Set windows_or_buffers_changed flag to cause immediate
1237         thorough redisplay of a window when scroll bars or fringes are
1238         changed.  (Bug#33694)
1240 2018-12-11  Martin Rudalics  <rudalics@gmx.at>
1242         Tiny markup fix in Elisp manual
1244         * doc/lispref/lists.texi (Building Lists): Use '@var' instead
1245         of '@code' for argument.
1247 2018-12-10  Alan Mackenzie  <acm@muc.de>
1249         CC Mode: stop extra parens on expression causing false fontification as type
1251         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): recognize
1252         arithmetic operator followed by several open parentheses, not just one, as not
1253         being an argument list.
1255 2018-12-10  Ari Roponen  <ari.roponen@gmail.com>
1257         Fix cairo scrolling for side-by-side windows
1259         Backport: Fixes Bug#33442.
1261         * src/xterm.c (x_scroll_run) [USE_CAIRO]: Fix scrolling for
1262         side-by-side split windows.  (Bug#31288)
1264         (cherry picked from commit 6e362a32bc9d21f73a0f29ca6f45481edeea6f29)
1266 2018-12-10  Alan Mackenzie  <acm@muc.de>
1268         CC Mode: stop wrongly recognizing "func(a * 9)" as "pointer to type a"
1270         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): When testing for an
1271         identifier after "a *", on failure additionally check for a digit, setting a
1272         new flag variable got-number if one is found.  In the test for CASE 18, check
1273         this flag.
1275 2018-12-10  Stefan Monnier  <monnier@iro.umontreal.ca>
1277         * lisp/emacs-lisp/cursor-sensor.el: Add motivation
1279 2018-12-10  Raimon Grau  <raimonster@gmail.com>
1281         Guard occur against an undefined orig-line
1283         * lisp/replace.el (occur-engine): Avoid inserting the current line if
1284         orig-line is nil.  This happens, for example, when reverting an occur
1285         buffer with `list-matching-lines-jump-to-current-line' set to t.
1286         (Bug#33476)
1288 2018-12-09  Eli Zaretskii  <eliz@gnu.org>
1290         Indexing followup to recent changes
1292         * doc/lispref/text.texi (Special Properties): Index
1293         'cursor-sensor-inhibit'.  (Bug#33664)
1295 2018-12-09  Stefan Monnier  <monnier@iro.umontreal.ca>
1297         Improve documentation of cursor-sensor.el (bug#33664)
1299         * doc/lispref/text.texi (Special Properties): Mention cursor-sensor-inhibit.
1300         * lisp/emacs-lisp/cursor-sensor.el (Commentary): Add cursor-sensor-mode.
1301         (cursor-sensor-inhibit): Add docstring.
1303 2018-12-09  Stefan Monnier  <monnier@iro.umontreal.ca>
1305         * doc/lispref/commands.texi (Adjusting Point): Bug#33662
1307         Tweak text to clarify intangibility.
1309 2018-12-09  Michael Albinus  <michael.albinus@gmx.de>
1311         Tramp multi-hop methods must be inline
1313         * doc/misc/tramp.texi (Ad-hoc multi-hops): Involved methods must
1314         be inline methods.
1316 2018-12-08  Ari Roponen  <ari.roponen@gmail.com>
1318         Fix scaling problem in Cairo builds
1320         * src/xterm.c (x_begin_cr_clip) [USE_GTK]:
1321         (x_update_begin) [USE_CAIRO && USE_GTK]: Support scaling.
1322         (Bug#33442)
1324 2018-12-06  Juri Linkov  <juri@linkov.net>
1326         * lisp/simple.el (next-line-or-history-element): Use current-column
1328         in all position calculations.
1329         (previous-line-or-history-element): Idem.  (Bug#33640)
1331 2018-12-03  Martin Rudalics  <rudalics@gmx.at>
1333         A few further fixes of window internals description
1335         * doc/lispref/internals.texi (Window Internals): Add a few
1336         more items and clarify description of some others.
1338 2018-12-02  Eli Zaretskii  <eliz@gnu.org>
1340         Revert "Revert "Fix infloop in GC mark_kboards""
1342         This reverts commit c418c85617babbe7b63730fefb71e2c87a0141af.
1343         This reinstates the original fix, as it had nothing to do
1344         with the behavior reported in bug#33571, which seems to be
1345         the expected behavior.
1347 2018-12-02  Eli Zaretskii  <eliz@gnu.org>
1349         Revert "Fix infloop in GC mark_kboards"
1351         This reverts commit af914fc26db273d8788e7efa57c569f0f778d037,
1352         since it caused unintended adverse effects on echoing of keys.
1353         (Bug#33571)
1355 2018-12-02  Glenn Morris  <rgm@gnu.org>
1357         * lisp/emacs-lisp/subr-x.el (if-let, when-let): Doc fix: active voice.
1359 2018-12-01  Paul Eggert  <eggert@cs.ucla.edu>
1361         Fix infloop in GC mark_kboards
1363         Do not merge to master, as I have a more systematic fix there.
1364         * src/keyboard.c (mark_kboards): Fix infloop (Bug#33547).
1366 2018-12-01  Alan Third  <alan@idiocy.org>
1368         Fix macOS run-time feature check
1370         * src/nsterm.m (x_set_parent_frame) [NS_IMPL_COCOA]: Fix run-time
1371         feature check.
1373 2018-12-01  Stefan Monnier  <monnier@iro.umontreal.ca>
1375         * etc/NEWS-*: Fix capitalization of "Emacs"
1377 2018-12-01  Eli Zaretskii  <eliz@gnu.org>
1379         Fix "M-x man" when there's no 'man' program on PATH
1381         * lisp/man.el (Man-bgproc-sentinel): Make sure the process
1382         buffer is not read-only when inserting a message into it.
1383         (Bug#33510)
1385 2018-11-30  Paul Eggert  <eggert@cs.ucla.edu>
1387         Fix core dump in dbus-message-internal
1389         Backport from master.
1390         * src/dbusbind.c (Fdbus_message_internal):
1391         Don’t go past array end (Bug#33530).
1393 2018-11-30  Michael Albinus  <michael.albinus@gmx.de>
1395         * doc/misc/dbus.texi (Type Conversion): Fix typo.  (Bug#33551)
1397 2018-11-30  Eli Zaretskii  <eliz@gnu.org>
1399         Improve documentation of gdb-mi.el
1401         * lisp/progmodes/gdb-mi.el (gdb-show-changed-values)
1402         (gdb-max-children): Doc fixes.
1404         * doc/emacs/building.texi (Source Buffers, Stack Buffer)
1405         (GDB User Interface Layout): Mention some additional
1406         customizable variables.  (Bug#33548)
1408 2018-11-29  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
1410         LDAP: Set process-connection-type to t on Darwin
1412         * lisp/net/ldap.el (ldap-search-internal): Set
1413         process-connection-type to t on Darwin.  Do not merge to
1414         master.  (Bug#33050)
1416 2018-11-28  Eli Zaretskii  <eliz@gnu.org>
1418         Fix a typo in a doc string
1420         * lisp/emacs-lisp/map-ynp.el (read-answer-short): Fix typo.
1421         (Bug#33528)
1423 2018-11-28  Eli Zaretskii  <eliz@gnu.org>
1425         Minor markup fix in frames.texi
1427         * doc/lispref/frames.texi (Frame Layout): Fix markup of @table
1428         entries.  (Bug#33531)
1430 2018-11-28  Glenn Morris  <rgm@gnu.org>
1432         * lisp/net/trampver.el (customize-package-emacs-version-alist):
1433         Add 2.3.3.
1435         * lisp/mh-e/mh-e.el (customize-package-emacs-version-alist): Additions.
1437 2018-11-27  Glenn Morris  <rgm@gnu.org>
1439         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Pass format to message.
1441 2018-11-27  Robert Pluim  <rpluim@gmail.com>
1443         Don't call xwidget functions until GTK has been initialized
1445         Follow up fix to Bug#33294.
1447         * src/gtkutil.c: Define xg_gtk_initialized.
1448         (xg_initialize): Set it when GTK has finished initializing.
1450         * src/gtkutil.h: Declare xg_gtk_initialized.
1452         * src/xwidget.c (Fmake_xwidget): Error out if GTK has not been
1453         initialized.
1454         (xwidget_init_view): Likewise.
1456 2018-11-27  Eli Zaretskii  <eliz@gnu.org>
1458         Improve documentation of Ediff wordwise commands
1460         * lisp/vc/ediff.el (ediff-windows-wordwise)
1461         (ediff-windows-linewise, ediff-regions-wordwise): Update and
1462         clarify the doc strings.
1464         * doc/misc/ediff.texi (Major Entry Points): Update and clarify
1465         the documentation of 'ediff-windows-wordwise' and
1466         'ediff-regions-wordwise'.  See the discussion starting at
1467         https://lists.gnu.org/archive/html/help-gnu-emacs/2018-11/msg00197.html
1468         for the details.
1470 2018-11-26  Eli Zaretskii  <eliz@gnu.org>
1472         Support Hunspell 1.7.0 in ispell.el
1474         * lisp/textmodes/ispell.el
1475         (ispell-find-hunspell-dictionaries): Invoke Hunspell with an
1476         additional command-line argument, to work around a misfeature
1477         in Hunspell 1.7.0 that prevents it from reporting the loaded
1478         dictionary.  (Bug#33493)
1480 2018-11-26  Eli Zaretskii  <eliz@gnu.org>
1482         Avoid clearing echo-area message by auto-save-visited-file-name
1484         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p): Record the
1485         previous echo-area message, if any, and restore it before
1486         exiting.  (Bug#33490)
1488 2018-11-25  Alan Third  <alan@idiocy.org>
1490         Set tooltip text color (bug#33452)
1493         * src/nsmenu.m: ([EmacsTooltip init]): Set text color to black.
1495 2018-11-25  Alan Third  <alan@idiocy.org>
1497         Fix more drawing bugs in NS port (bug#32932)
1499         * src/nsterm.m (ns_row_rect): New function.
1500         (ns_clip_to_row): Remove function.
1501         (ns_copy_bits): Fix mistake.
1502         (ns_shift_glyphs_for_insert): Mark the frame as dirty instead of
1503         directly copying.
1504         (ns_draw_fringe_bitmap): Stop using ns_clip_to_row.
1505         (ns_draw_window_cursor): Stop using ns_clip_to_row and perform a
1506         display when not in redisplay.
1507         (ns_update_window_begin): Remove redundant code that never executes.
1508         ([EmacsView drawRect:]): Show the rectangle being exposed in NSTRACE.
1509         * src/xdisp.c (expose_window_tree) [HAVE_NS]:
1510         (expose_frame) [HAVE_NS]: Redraw even if the frame is garbaged.
1512 2018-11-24  Alan Mackenzie  <acm@muc.de>
1514         Fix bug #33416, where typing a ) in a comment at EOB caused a loop (CC Mode).
1516         * lisp/progmodes/cc-mode.el (c-fl-decl-start): A c-forward-syntactic-ws leaves
1517         point inside whitespace when moving over a comment at EOB which has no
1518         terminating LF.  Check this possibility and correct for it.
1520 2018-11-24  Ulrich Müller  <ulm@gentoo.org>
1522         Update the calc units table
1524         On 2018-11-16, the 26th meeting of the General Conference on Weights
1525         and Measures (CGPM) has redefined the International System of Units by
1526         adopting fixed values for the Planck constant, the elementary charge,
1527         the Boltzmann constant, and the Avogadro constant:
1528         https://www.bipm.org/utils/en/pdf/CGPM/Draft-Resolution-A-EN.pdf
1530         * lisp/calc/calc-units.el (math-standard-units): Update according
1531         to redefinition of the SI in 2018.  (Bug#33412)
1533 2018-11-24  Eli Zaretskii  <eliz@gnu.org>
1535         Improve indexing in the ELisp manual
1537         * doc/lispref/control.texi (Control Structures, Sequencing)
1538         (Conditionals, Iteration, Catch and Throw, Handling Errors)
1539         (Cleanups):
1540         * doc/lispref/eval.texi (Self-Evaluating Forms)
1541         (Symbol Forms, Function Forms, Macro Forms, Special Forms)
1542         (Quoting, Backquote): Add index entries that begin with
1543         "forms".  (Bug#33440)
1545 2018-11-23  Eli Zaretskii  <eliz@gnu.org>
1547         More Symbola-related extensions for default fontset
1549         * lisp/international/fontset.el (setup-default-fontset): Add
1550         few more blocks of symbols and punctuation supported by latest
1551         Symbola.
1553 2018-11-23  Eli Zaretskii  <eliz@gnu.org>
1555         Better support for display of U+1F900..U+1F9FF block
1557         * lisp/international/fontset.el (setup-default-fontset): Add
1558         the [#x1F900..#x1F9FF] block to those supported by Symbola.
1560 2018-11-23  Eli Zaretskii  <eliz@gnu.org>
1562         Improve documentation of 'edit-abbrevs-mode'
1564         * lisp/abbrev.el (edit-abbrevs-mode): Refer to 'edit-abbrevs'
1565         for more detailed usage information.  (Bug#33443)
1566         (edit-abbrevs): Doc fix.
1568 2018-11-22  Eli Zaretskii  <eliz@gnu.org>
1570         Improve documentation of 'dired-do-compress'
1572         * lisp/dired-aux.el (dired-do-compress): Describe in the doc
1573         string the effect on directories and on compressed archive.
1574         (Bug#33450)
1576 2018-11-22  Eli Zaretskii  <eliz@gnu.org>
1578         Improve doc string and display of 'describe-character'
1580         * lisp/descr-text.el (describe-char): Explain how does the
1581         function obtain the various data about the character.  Don't
1582         display "preferred" before "charset": it tends to confuse
1583         people.
1585 2018-11-21  Eli Zaretskii  <eliz@gnu.org>
1587         * etc/NEWS: Clarify what 'Z' does in Dired.  (Bug#33450)
1589 2018-11-20  Eli Zaretskii  <eliz@gnu.org>
1591         Update the docs of object internals
1593         * doc/lispref/internals.texi (Buffer Internals)
1594         (Window Internals, Process Internals): Update the descriptions
1595         of Lisp objects.
1597 2018-11-19  Stephen Berman  <stephen.berman@gmx.net>
1599         Fix two Edebug defcustoms (bug#33428)
1601         * lisp/emacs-lisp/edebug.el (edebug-print-length)
1602         (edebug-print-level): Fix customization type to allow setting
1603         the documented valid value nil via the Customize interface.
1605 2018-11-19  Michael Albinus  <michael.albinus@gmx.de>
1607         Fix Bug#33141
1609         * lisp/net/tramp.el (tramp-make-tramp-file-name): Avoid check for
1610         empty method with simplified `tramp-syntax'.  (Bug#33141)
1612 2018-11-19  Eli Zaretskii  <eliz@gnu.org>
1614         Improve documentation of the window tree
1616         * doc/lispref/windows.texi (Windows and Frames): More accurate
1617         wording regarding the relation of a mini-window to its frame's
1618         window tree.
1620         * src/window.h (struct window): Improve commentary to some
1621         fields.
1623 2018-11-19  Eli Zaretskii  <eliz@gnu.org>
1625         Fix window scrolling on TTY frames when there's no mode line
1627         * src/window.c (window_internal_height): Remove tests for
1628         next, prev, and parent pointers, as they are unrelated to
1629         whether a window has a mode line.  (Bug#33363)
1631 2018-11-19  Eli Zaretskii  <eliz@gnu.org>
1633         Fix decoding XML files encoded in ISO-8859
1635         * lisp/international/mule.el (sgml-xml-auto-coding-function):
1636         Avoid signaling an error from coding-system-equal when the XML
1637         encoding tag specifies an encoding whose type is 'charset'.
1638         (Bug#33429)
1640 2018-11-19  Nicolas Petton  <nicolas@petton.fr>
1642         * etc/AUTHORS: Update.
1644 2018-11-18  Martin Rudalics  <rudalics@gmx.at>
1646         Fix description of some window hooks
1648         * doc/lispref/windows.texi (Window Hooks): Remove text that
1649         warns against using 'save-window-excursion' while running
1650         'window-size-change-functions', it's no more relevant.
1651         Clarify description of 'window-configuration-change-hook'.
1653 2018-11-18  Gary Fredericks  <fredericksgary@gmail.com>  (tiny change)
1655         Run 'window--adjust-process-windows' when frame size changes (Bug#32720)
1657         * lisp/window.el (window-size-change-functions): Run
1658         'window--adjust-process-windows' from
1659         'window-size-change-functions' too (Bug#32720, "another issue"
1660         in Bug#33230).
1662 2018-11-16  Eli Zaretskii  <eliz@gnu.org>
1664         Avoid errors in zone.el when there's overlay at EOB
1666         * lisp/play/zone.el (zone): Make sure the window-end position
1667         is calculated accurately, to avoid errors from
1668         buffer-substring.  (Bug#33384)
1670 2018-11-16  Eli Zaretskii  <eliz@gnu.org>
1672         Document Emacs 26 behavior of Dired's 'Z' on directories
1674         * doc/emacs/dired.texi (Operating on Files): Document behavior
1675         of 'Z' on directories.
1677         * etc/NEWS: Belatedly announce the new behavior of Dired's 'Z'
1678         on directory names and on .tar.gz archives.
1680 2018-11-15  Eli Zaretskii  <eliz@gnu.org>
1682         Fix a typo in the Emacs manual
1684         * doc/emacs/rmail.texi (Rmail Deletion): Fix a typo.
1685         Reported by Jorge P. de Morais Neto <jorge+list@disroot.org>
1686         in emacs-manual-bugs@gnu.org
1688 2018-11-15  Paul Eggert  <eggert@cs.ucla.edu>
1690         Fix tempfile creation when byte compiling
1692         This improves on the recent fix for master failing to build
1693         on FreeBSD.  Suggested by Stefan Monnier in:
1694         https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
1695         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
1696         Put tempfile next to the target file, as was the original intent.
1698         (cherry picked from commit 64c846738617d1d037eac0cefb6586c04317b0a1)
1700 2018-11-14  Markus Triska  <triska@metalevel.at>
1702         Small documentation correction.
1704         * doc/lispref/windows.texi (Textual Scrolling): In the description of
1705         scroll-up-aggressively, refer to scroll-down-aggressively instead of
1706         a recursive reference to scroll-up-aggressively.  (Bug#33369)
1708 2018-11-14  Eli Zaretskii  <eliz@gnu.org>
1710         * src/coding.c (Fcheck_coding_systems_region): Doc fix.  (Bug#33372)
1712 2018-11-14  Michael Albinus  <michael.albinus@gmx.de>
1714         Fix Bug#33364
1716         * lisp/net/tramp.el (tramp-parse-sconfig-group): Support also
1717         "Host host1 host2 ..." syntax.  (Bug#33364)
1719 2018-11-13  Michael Albinus  <michael.albinus@gmx.de>
1721         * test/README: Explain $REMOTE_TEMPORARY_FILE_DIRECTORY.
1723 2018-11-12  Glenn Morris  <rgm@gnu.org>
1725         Avoid kill-emacs-hook errors hanging batch mode
1727         * src/emacs.c (Fkill_emacs): Prevent errors from kill-emacs-hook
1728         hanging Emacs in batch mode.  (Bug#29955)
1730         (cherry picked from commit 109da684c5124e22505917fe0255ca66f2a6bfc9)
1732 2018-11-12  Nicolas Petton  <nicolas@petton.fr>
1734         Bump Emacs version to 26.1.90
1736         * README:
1737         * configure.ac:
1738         * msdos/sed2v2.inp:
1739         * nt/README.W32: Bump Emacs version to 26.1.90.
1741 2018-11-12  Nicolas Petton  <nicolas@petton.fr>
1743         * etc/AUTHORS: Update.
1745 2018-11-12  Paul Eggert  <eggert@cs.ucla.edu>
1747         Work around dumping bug on GNU/Linux ppc64le
1749         Problem reported by Thomas Fitzsimmons (Bug#33174).
1750         Do not merge to master, as we have a better fix there.
1751         * src/Makefile.in (emacs$(EXEEXT)):
1752         (bootstrap-emacs$(EXEEXT)):
1753         Unset EMACS_HEAP_EXEC before invoking temacs.
1755 2018-11-11  Eli Zaretskii  <eliz@gnu.org>
1757         * lisp/files.el (write-file): Clarify the doc string.  (Bug#33339)
1759 2018-11-11  Simen Heggestøyl  <simenheg@gmail.com>
1761         Fix typos in midnight.el
1763         * lisp/midnight.el (clean-buffer-list-delay-general)
1764         (clean-buffer-list-kill-regexps)
1765         (clean-buffer-list-kill-buffer-names): Fix docstring typos.
1767 2018-11-10  Eli Zaretskii  <eliz@gnu.org>
1769         Improve documentation of 'move-file-to-trash'
1771         * doc/emacs/files.texi (Misc File Ops): Index
1772         move-file-to-trash.  State that the way to restore trashed
1773         files is system-dependent.
1775 2018-11-09  Stefan Monnier  <monnier@iro.umontreal.ca>
1777         * src/data.c (Ftype_of): xwidget objects are possible! (bug#33294)
1779         (syms_of_data): Define Qwidget here.
1780         * src/xwidget.c (syms_of_xwidget): Instead of here.
1782 2018-11-09  Eli Zaretskii  <eliz@gnu.org>
1784         Improve documentation of Diff mode
1786         * doc/emacs/files.texi (Diff Mode): Document the effect of
1787         prefix argument on the Diff mode's commands.  Document
1788         'diff-jump-to-old-file'.
1790 2018-11-09  Noam Postavsky  <npostavs@gmail.com>
1792         Note that lex bound lambda forms are not self-quoting (Bug#33199)
1794         * doc/lispref/functions.texi (Anonymous Functions):
1795         * lisp/subr.el (lambda): Note that under lexical binding a lambda form
1796         yields a closure object (Bug#33199).
1798 2018-11-08  Martin Rudalics  <rudalics@gmx.at>
1800         Rewrite buffer display related doc-strings and doc
1802         * lisp/window.el (display-buffer-overriding-action)
1803         (display-buffer-alist, display-buffer-base-action)
1804         (display-buffer-fallback-action, display-buffer-assq-regexp)
1805         (display-buffer): Rewrite doc-strings using suggestions by
1806         Alan Mackenzie <acm@muc.de>.
1807         (display-buffer-use-some-frame): Adjust doc-string and
1808         reformat code.
1809         * doc/lispref/windows.texi (Buffer Display Action Alists):
1810         Make docs on 'window-height', 'window-width' and
1811         'preserve-size' entries more accurate.
1813 2018-11-06  Eli Zaretskii  <eliz@gnu.org>
1815         Fix call to GlobalMemoryStatusEx in w32.c
1817         * src/w32.c (system_process_attributes): Initialize the size
1818         of the data structure passed to GlobalMemoryStatusEx,
1819         otherwise it fails.
1821 2018-11-04  Eli Zaretskii  <eliz@gnu.org>
1823         Improve recent changes in documentation of window handling
1825         * doc/lispref/windows.texi (Displaying Buffers)
1826         (Choosing Window, Buffer Display Action Functions)
1827         (Buffer Display Action Alists, Choosing Window Options)
1828         (Precedence of Action Functions, The Zen of Buffer Display):
1829         Fix wording, punctuation, and markup.  Remove redundant
1830         cross-references.
1832         * doc/emacs/windows.texi (Window Choice, Temporary Displays):
1833         Fix wording and punctuation.
1835 2018-11-04  Martin Rudalics  <rudalics@gmx.at>
1837         Rewrite documentation of buffer display
1839         * doc/emacs/windows.texi (Window Choice): Rewrite, replacing
1840         references to older buffer display options with references to
1841         and examples of buffer display actions.
1842         (Temporary Displays): Rewrite display of *Completions*
1843         example.
1845         * doc/lispref/elisp.texi (Top): New Windows section
1846         'Displaying Buffers'.
1847         * doc/lispref/frames.texi (Child Frames): Adjust cross
1848         reference.
1849         * doc/lispref/windows.texi (Windows): New section 'Displaying
1850         Buffers'.  Move sections 'Choosing Window', 'Display Action
1851         Functions' and 'Choosing Window Options' there and adjust
1852         namings.  Preferably write 'Buffer Display Action' instead of
1853         'Display Action'.  More consistently use @w{} to make key
1854         binding specifications unsplittable.
1855         (Displaying Buffers): New section.
1856         (Choosing Window): Make it a subsection of 'Displaying
1857         Buffers'.  More explicitly describe how 'display-buffer'
1858         compiles its list of action functions and the action alist.
1859         (Buffer Display Action Functions): Rename from 'Display Action
1860         Functions', make it a subsection of 'Displaying Buffers' and
1861         rewrite it.  Elide more detailed descriptions of action alist
1862         entries; these are now in the new section 'Buffer Display
1863         Action Functions'.  Remove example.
1864         (Buffer Display Action Alists): New subsection of 'Displaying
1865         Buffers' giving a comprehensive description of recognized
1866         action alist entries with appropriate indexing.  Contents were
1867         partially moved here from the old 'Display Action Functions'
1868         section.
1869         (Choosing Window Options): Make it a subsection of 'Displaying
1870         Buffers'.  Add examples of how to rewrite old buffer display
1871         options with the help of buffer display actions.
1872         (Precedence of Action Functions): New subsection of
1873         'Displaying Buffers' explaining the execution order of action
1874         functions with the help of a detailed example.
1875         (The Zen of Buffer Display): New subsection of 'Displaying
1876         Buffers' supplying guidelines on how to write and use buffer
1877         display actions with examples.
1878         (Side Windows, Displaying Buffers in Side Windows)
1879         (Frame Layouts with Side Windows, Atomic Windows): Update
1880         references to the 'Displaying Buffers' subsections.
1882 2018-11-03  Eli Zaretskii  <eliz@gnu.org>
1884         Improve documentation of destructuring-binding macros
1886         * lisp/emacs-lisp/pcase.el (pcase-dolist, pcase-let)
1887         (pcase-let*): Improve the doc strings.
1889         * doc/lispref/sequences.texi (Sequence Functions): Improve
1890         wording and rename arguments of seq-let to be more
1891         descriptive.  Add a cross-reference to "Destructuring with
1892         pcase Patterns".
1893         * doc/lispref/control.texi (Pattern-Matching Conditional):
1894         Improve wording and the menu.
1895         (pcase Macro): Incorporate patch suggested by Paul Eggert
1896         <eggert@cs.ucla.edu>.  Reformat text.
1897         (Destructuring with pcase Patterns): Rename from
1898         "Destructuring patterns", and improve wording and indexing.
1900 2018-11-03  Eli Zaretskii  <eliz@gnu.org>
1902         Avoid byte compilation warning in rcirc.el
1904         * lisp/net/rcirc.el (rcirc-prompt-start-marker): Move
1905         definition before 1st use to avoild byte-compiler warning.
1907 2018-11-03  Basil L. Contovounesios  <contovob@tcd.ie>
1909         Avoid race in rcirc process filter (bug#33145)
1911         * lisp/net/rcirc.el (rcirc-filter): Clear rcirc-process-output
1912         before processing its constituent lines.  Otherwise, if rcirc-filter
1913         runs again before the last rcirc-process-server-response is
1914         finished, the contents of rcirc-process-output could be duplicated.
1916 2018-11-03  Jordan Wilson  <jordan.t.wilson@gmx.com>  (tiny change)
1918         Avoid file-name errors when viewing PDF from Gnus
1920         * lisp/doc-view.el (doc-view-mode): Run the output file name
1921         through 'convert-standard-filename', to avoid problems with
1922         characters that are not allowed in file names on some
1923         systems.  (Bug#32989)
1925 2018-11-02  Eli Zaretskii  <eliz@gnu.org>
1927         Avoid crashes with remapped default face in Org mode
1929         * src/xfaces.c (face_at_buffer_position): Look up BASE_FACE_ID
1930         anew if it is not in the frame's face cache.  This avoids
1931         crashes when Org mode sets up for a new major mode in embedded
1932         code fragment, and the default face is remapped.  (Bug#33222)
1934 2018-11-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
1936         Doc fix for checkdoc-continue
1938         * lisp/emacs-lisp/checkdoc.el (checkdoc-continue): There is no second
1939           optional argument, and the function always starts from point.
1941 2018-11-01  Eli Zaretskii  <eliz@gnu.org>
1943         Fix a typo in autoload.el
1945         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
1946         Remove stray backslashes.  (Bug#33231)
1948 2018-10-31  Stefan Monnier  <monnier@iro.umontreal.ca>
1950         * doc/lispref/control.texi (Destructuring patterns): New subsection.
1952 2018-10-31  Gemini Lasswell  <gazally@runbox.com>
1954         Add regression test for Bug#33014
1956         Backport from master.
1957         * test/src/eval-tests.el:
1958         (eval-tests-byte-code-being-evaluated-is-protected-from-gc): New test.
1959         (eval-tests-33014-var): New variable.
1960         (eval-tests-33014-func, eval-tests-33014-redefine): New functions.
1962 2018-10-31  Paul Eggert  <eggert@cs.ucla.edu>
1964         Refer to bytecode constant vectors (Bug#33014)
1966         Backport from master.
1967         * src/bytecode.c (exec_byte_code): Save VECTOR into stack slot
1968         so that it survives GC.  The stack slot was otherwise unused,
1969         so this doesn’t cost us memory, only a store insn.
1971 2018-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
1973         * lisp/emacs-lisp/pcase.el: Improve docstrings.
1975 2018-10-30  Eli Zaretskii  <eliz@gnu.org>
1977         * lisp/emacs-lisp/rx.el (rx): Fix typo in doc string.  (Bug#33205)
1979 2018-10-30  Eli Zaretskii  <eliz@gnu.org>
1981         Improve doc string of 'call-process'
1983         * src/callproc.c (Fcall_process): Clarify DESTINATION in the
1984         doc string.
1986 2018-10-30  Eli Zaretskii  <eliz@gnu.org>
1988         Document that generic functions cannot be commands
1990         * doc/lispref/commands.texi (Defining Commands):
1991         * doc/lispref/functions.texi (Generic Functions): Document
1992         that generic functions cannot be turned into commands.
1993         (Bug#33170)
1995 2018-10-28  Charles A. Roelli  <charles@aurox.ch>
1997         * lisp/mail/rmailsum.el (rmail-summary-output): Add lost word to doc.
1999 2018-10-28  Charles A. Roelli  <charles@aurox.ch>
2001         Add index entries for more isearch commands/bindings (Bug#32990)
2003         * doc/emacs/search.texi (Basic Isearch): Index isearch-exit,
2004         isearch-abort, isearch-cancel, isearch-repeat-forward,
2005         isearch-repeat-backward and their bindings.
2006         (Repeat Isearch): Index isearch-ring-advance,
2007         isearch-ring-retreat and isearch-edit-string.
2008         (Special Isearch): Index isearch-quote-char,
2009         isearch-char-by-name and their bindings.  Index
2010         isearch-query-replace and isearch-query-replace-regexp, and
2011         the latter's binding.  Explain what
2012         isearch-query-replace-regexp does.  Index isearch-complete.
2013         (Word Search): Index isearch-toggle-word.
2015 2018-10-27  Noam Postavsky  <npostavs@gmail.com>
2017         * lisp/simple.el (filter-buffer-substring): Clarify doc (Bug#33179).
2019 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
2021         Fix recent change in lispref/processes.texi.
2023         * doc/lispref/processes.texi (Asynchronous Processes): Clarify
2024         wording.  Suggested by Thomas Fitzsimmons <fitzsim@fitzsim.org>.
2025         (Bug#33050)
2027 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
2029         * lisp/simple.el (region-extract-function): Doc fix.  (Bug#33167)
2031         * lisp/simple.el (region-bounds): Doc fix.  (Bug#33168)
2033 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
2035         Improve documentation of 'process-connection-type'
2037         * doc/lispref/processes.texi (Asynchronous Processes): Clarify
2038         better when it is advisable to use pipes for communicating
2039         with subprocesses.  (Bug#33050)
2041 2018-10-27  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
2043         Unify prompt for gnupg passphrase between GNU/Linux and MS-Windows.
2045         * lisp/epg.el (epg--start): Use 'raw-text' for coding system instead
2046         of 'binary', in order to avoid spurious carriage return on Microsoft
2047         Windows and MS-DOS when prompting for a password.  (Bug#33040)
2049 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
2051         Doc fix of 'gnus-fetch-old-headers'
2053         * lisp/gnus/gnus-sum.el (gnus-fetch-old-headers): Avoid
2054         treating 'some' and 'invisible' as symbols that need to be
2055         hyperlinked.  Reported by Robert Pluim <rpluim@gmail.com>.
2056         (Bug#33090)
2058 2018-10-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
2060         Deactivate incorrect hyperlinking in gnus-build-sparse-threads doc
2062         * lisp/gnus/gnus-sum.el (gnus-build-sparse-threads): Add the word
2063         "symbol" so it doesn't link to the `some' function.  (Bug#33090)
2065 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
2067         Minor copyedits in cmdargs.texi
2069         * doc/emacs/cmdargs.texi (Initial Options): Document '-nsl'.
2070         Add a cross-reference to "Writing Dynamic Modules".
2072 2018-10-27  Eli Zaretskii  <eliz@gnu.org>
2074         Improve documentation of X resource loading
2076         * doc/emacs/cmdargs.texi (Initial Options):
2077         * doc/emacs/frames.texi (Frame Parameters):
2078         * doc/emacs/xresources.texi (Resources): Document the
2079         '--no-x-resources' command-line option and the fact that X
2080         resources override .emacs settings of frame parameters.
2081         (Bug#32975)
2083 2018-10-27  Michael Albinus  <michael.albinus@gmx.de>
2085         * lisp/net/tramp-sh.el (tramp-inline-compress-commands):
2087         Suppress warnings about obsolete environment variable GZIP.
2089 2018-10-25  Noam Postavsky  <npostavs@gmail.com>
2091         Don't error when indenting malformed Lisp (Bug#30891)
2093         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-calc-next): If we run out
2094         of indent stack, reset the parse state.
2096 2018-10-25  Charles A. Roelli  <charles@aurox.ch>
2098         Improve 'isearch-delete-char' documentation (Bug#32990)
2100         * doc/emacs/search.texi (Basic Isearch): Index
2101         'isearch-delete-char', its keybinding and the isearch "input
2102         item" concept, and define the latter.
2103         (Error in Isearch): Clarify the different uses of DEL and
2104         C-M-w during isearch.
2106         * lisp/isearch.el (isearch-delete-char): Correct its
2107         documentation and link to the Info node '(emacs)Basic Isearch'
2108         which explains less technically how this function works in
2109         everyday usage.
2111 2018-10-25  Alan Third  <alan@idiocy.org>
2113         Improve XPM load failure message (bug#33126)
2115         * src/image.c (xpm_load_image): Only XPM3 is supported, so make that
2116         explicit.
2118 2018-10-25  Eli Zaretskii  <eliz@gnu.org>
2120         Avoid infloop in CPerl mode fontification
2122         * lisp/progmodes/cperl-mode.el
2123         (cperl-font-lock-fontify-region-function): Stop the loop at
2124         EOB, to avoid inflooping there.  (Bug#33114)
2126 2018-10-25  Andreas Schwab  <schwab@suse.de>
2128         Fix minibuffer-help-form for lexical binding
2130         * lisp/simple.el (set-variable): Substitute var into
2131         minibuffer-help-form.
2132         * lisp/cus-edit.el (custom-prompt-variable): Likewise.
2134 2018-10-24  Alan Third  <alan@idiocy.org>
2136         Fix some NS drawing issues (bug#32932)
2138         * src/nsterm.m (ns_clip_to_rect):
2139         (ns_reset_clipping): Remove gsaved variable and associated code.
2140         (ns_flush_display): Remove function.
2141         (ns_copy_bits): use translateRectsNeedingDisplayInRect:by: to copy any
2142         pending drawing actions along with the image.
2143         ([EmacsView windowWillResize:toSize:]): Remove unneeded call.
2144         ([EmacsView drawRect:]): Remove redundant call to ns_clear_frame_area,
2145         and optimize the exposed rectangles.
2146         (ns_draw_window_cursor): Remove unneeded disabling of screen updates.
2148 2018-10-24  Katsumi Yamaoka  <yamaoka@jpl.org>
2150         * lisp/gnus/mm-util.el (mm-decompress-buffer): Fix split-string args.
2152 2018-10-24  Noam Postavsky  <npostavs@gmail.com>
2154         * doc/misc/calc.texi (Summary): The +/- key is 'p', not 'P'.
2156 2018-10-23  Robert Pluim  <rpluim@gmail.com>
2158         Correct typo in GNU ELPA url
2160         * doc/misc/efaq.texi (Packages that do not come with Emacs):
2161         Correct typo in GNU ELPA url (Bug#33072).  Change other url
2162         references to use https scheme.
2164 2018-10-22  Eli Zaretskii  <eliz@gnu.org>
2166         * doc/misc/dired-x.texi (Omitting Variables): Fix wording. (Bug#33112)
2168 2018-10-20  Michael Heerdegen  <michael_heerdegen@web.de>
2170         Fix help-form binding in dired-create-files
2172         This fixes Bug#32630: since "dired-aux" moved to lexical binding mode,
2173         the free variable TO in the constructed HELP-FORM got out of scope of
2174         the surrounding 'let'.
2176         * lisp/dired-aux.el (dired-create-files): Make the binding of
2177         HELP-FORM a string.
2179 2018-10-20  Eli Zaretskii  <eliz@gnu.org>
2181         Fix a pasto in a Gnus doc string
2183         * lisp/gnus/gnus-art.el (gnus-article-treat-fold-newsgroups):
2184         Doc string fix.  (Bug#33081)
2186 2018-10-19  Mauro Aranda  <maurooaranda@gmail.com>  (tiny change)
2188         Update revert-buffer documentation
2190         * doc/emacs/files.texi (Reverting): Document that revert-buffer
2191         does keep undo history.  (Bug#33084)
2193 2018-10-18  Juri Linkov  <juri@linkov.net>
2195         * lisp/mail/smtpmail.el (smtpmail-send-queued-mail): Load file with .el suffix.
2197         For the case when load-prefer-newer is t, ensure loading the right file
2198         by explicitly adding the .el suffix.  Use the same variable names
2199         as in the function smtpmail-send-it.  (Bug#33055)
2201 2018-10-16  Glenn Morris  <rgm@gnu.org>
2203         Tweak Makefile emacs-module.h handling
2205         * Makefile.in (install-arch-indep, uninstall): Respect DESTDIR.
2206         Handle whitespace.  Remove non-portable mkdir argument.
2208         (cherry picked from commit c1d0dbd6ca92cb221024382b19654e4fbf1d1ed3)
2210 2018-10-16  Philipp Stephani  <phst@google.com>
2212         Install emacs-module.h (Bug#31929)
2214         * Makefile.in (includedir): New variable.
2215         (install-arch-indep): Install emacs-module.h.
2216         (uninstall): Uninstall emacs-module.h.
2218         (cherry picked from commit 00ea749f2af44bff6ea8c1259477fbf0ead8a306)
2220 2018-10-15  Alan Mackenzie  <acm@muc.de>
2222         Clarify documentation of fractional vertical scrolling and some doc strings
2224         * doc/lispref/windows.texi (vertical scrolling): Clarify the meaning of
2225         vertical scrolling by referring to tall screen lines, images, and the display
2226         action.  Clarify an ambiguous English tense.
2228         * src/window.c (window-vscroll, set-window-vscroll): Amend doc strings to
2229         refer to display.
2231 2018-10-15  Charles A. Roelli  <charles@aurox.ch>
2233         * lisp/isearch.el (isearch-cmds): Recall absent isearch--state slot.
2235 2018-10-14  Alan Mackenzie  <acm@muc.de>
2237         doc/lispref/edebug.texi (Specification List) Remove obstrusive blank line
2239 2018-10-14  Eli Zaretskii  <eliz@gnu.org>
2241         Fix wording in module API documentation
2243         * doc/lispref/internals.texi (Module Functions): Fix confusing
2244         wording.  Reported by Basil L. Contovounesios <contovob@tcd.ie>.
2246 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
2248         Fix redisplay of glyphless characters
2250         * src/conf_post.h (bool_bf): Use 'unsigned int' in the MinGW
2251         builds.  Suggested by Tom Tromey <tom@tromey.com>.  (Bug#33017)
2252         * src/dispnew.c (scrolling_window): Update commentary
2253         regarding xwidget builds.
2255 2018-10-13  Robert Pluim  <rpluim@gmail.com>
2257         Update --without-toolkit-scroll-bars doc
2259         * configure.ac (--without-toolkit-scroll-bars): Update list of
2260         affected toolkits.
2262 2018-10-13  Robert Pluim  <rpluim@gmail.com>
2264         Call GTK functions only on GTK scrollbars
2266         * src/gtkutil.c (xg_set_background_color) [USE_TOOLKIT_SCROLL_BARS]:
2267         Don't call GTK functions on non-GTK scrollbars (Bug#32975).
2269 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
2271         Update the description of startup in ELisp manual
2273         * doc/lispref/os.texi (Startup Summary): Remove stale
2274         reference to window-system-initialization-alist.  Reported by
2275         Zhang Haijun <ccsmile2008@outlook.com>.
2277 2018-10-13  Eli Zaretskii  <eliz@gnu.org>
2279         Use the 'line-number' face for line-number fields past EOB
2281         * src/xdisp.c (get_phys_cursor_geometry): Treat rows at and
2282         beyond ZV specially.  Don't let the cursor exceed the
2283         vertical dimensions of the row.
2284         (maybe_produce_line_number): Use the 'line-number' face
2285         instead of 'default' for blank fields beyond ZV.  Don't update
2286         the IT metrics when displaying blank line-number fields beyond
2287         ZV.  (Bug#32337)
2289 2018-10-12  Alan Third  <alan@idiocy.org>
2291         Ensure NS frame is redrawn correctly  after scroll
2293         * src/nsterm.m (ns_copy_bits): Set needsDisplay so the previous cursor
2294         position is redrawn.
2296 2018-10-12  Alex Branham  <alex.branham@gmail.com>
2298         Avoid byte-compiler warning in em-rebind.el
2300         * lisp/eshell/em-rebind.el (eshell-delete-backward-char): Use
2301         'delete-char' instead of delete-backward-char.  (Bug#32945)
2303 2018-10-12  Eli Zaretskii  <eliz@gnu.org>
2305         Improve indexing of 'C-SPC C-SPC'
2307         * doc/emacs/mark.texi (Disabled Transient Mark): Fix
2308         indexing.  (Bug#32959)
2310 2018-10-11  Eric Abrahamsen  <eric@ericabrahamsen.net>
2312         Fix bug with precious entries in Gnus registry
2314         * lisp/registry.el (registry-collect-prune-candidates): This `cdr' was
2315           an error: it meant that the last key in the precious list, would be
2316           considered a nil. Since the precious list only contains the symbol
2317           'mark by default, marks were never considered precious.
2318         * doc/misc/gnus.texi (Store arbitrary data): Fix typo: "marks" should
2319           be "mark".
2321 2018-10-11  Eli Zaretskii  <eliz@gnu.org>
2323         Document in the ELisp manual how to write loadable modules
2325         * doc/lispref/internals.texi (Writing Dynamic Modules)
2326         (Module Initialization, Module Functions, Module Values)
2327         (Module Misc, Module Nonlocal): New nodes.
2328         * doc/lispref/loading.texi (Dynamic Modules): Add
2329         cross-reference to the new node.
2330         * doc/lispref/internals.texi (GNU Emacs Internals):
2331         * doc/lispref/elisp.texi (Top): Update menus for the new nodes.
2333 2018-10-11  Tino Calancha  <tino.calancha@gmail.com>
2335         dired-do-shell-command: Notify users after abort the command
2337         * lisp/dired-aux.el (dired-do-shell-command):  Notify users that
2338         the command have aborted when they answer 'n' to the prompt (Bug#32969).
2340 2018-10-11  Michael Albinus  <michael.albinus@gmx.de>
2342         Adapt Tramp version.  Do not merge with master
2344         * lisp/net/trampver.el: Change version to "2.3.5.26.2".
2345         (customize-package-emacs-version-alist): Add Tramp version
2346         integrated in Emacs 26.2.
2348 2018-10-10  Alan Third  <alan@idiocy.org>
2350         Fix Apple Script permissions error
2352         * nextstep/templates/Info.plist.in: Add NSAppleEventsUsageDescription
2353         message to enable AppleEvents usage.
2355 2018-10-10  Mauro Aranda  <maurooaranda@gmail.com>  (tiny change)
2357         Fix typo in 'timerp' documentation
2359         * doc/lispref/os.texi (Timers): Fix typo in 'timerp' documentation.
2360         (Bug#32999)
2362 2018-10-08  Charles A. Roelli  <charles@aurox.ch>
2364         * doc/emacs/mark.texi (Mark): Index "(de)activating the mark".
2366         (Bug#32956)
2368 2018-10-08  Scott Corley  <scott@scorley.com>  (tiny change)
2370         Fix overflow lockup with frames > 255 lines
2372         Backport from master.
2373         * src/scroll.c (struct matrix_elt): Change unsigned char fields to
2374         int to handle frames with more than 255 lines (Bug#32951).
2376 2018-10-07  Eli Zaretskii  <eliz@gnu.org>
2378         Avoid assertion violations in nonsensical calls to 'signal'
2380         * src/eval.c (Fsignal): If both arguments are nil, replace the
2381         first one with 'error', to avoid assertion violations further
2382         down the line.  (Bug#32961)
2384 2018-10-06  Charles A. Roelli  <charles@aurox.ch>
2386         * lisp/simple.el (transient-mark-mode): Correct documentation.  (Bug#32956)
2388 2018-10-06  Eli Zaretskii  <eliz@gnu.org>
2390         Update the locale and language database
2392         * lisp/international/mule-cmds.el (locale-language-names):
2393         Update the list of supported locales.  Use existing language
2394         names where available.
2396 2018-10-05  Eli Zaretskii  <eliz@gnu.org>
2398         Fix a typo in a doc string.
2400         * lisp/window.el (display-buffer-alist): Fix a typo in a doc string.
2401         Reported by Michael Heerdegen <michael_heerdegen@web.de>.
2403 2018-10-05  Katsumi Yamaoka  <yamaoka@jpl.org>
2405         Make nneething allow CRLF-encoded files (bug#32940)
2407         * lisp/gnus/nneething.el (nneething-request-article):
2408         Bind coding system to raw-text instead of binary when reading a file,
2409         that may be CRLF-encoded (bug#32940).
2411 2018-10-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
2413         Further fix to eieio-persistent
2415         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
2416           Make handling of hash tables and vectors recursive. This is
2417           necessary because the write process, in `eieio-override-prin1' is
2418           also recursive. With any luck, this will be the last fix of its
2419           kind. If that's true, cherry-pick to Emacs 26.2 later on.
2421 2018-10-04  Eli Zaretskii  <eliz@gnu.org>
2423         Avoid ridiculously high stack limit requests on macOS
2425         * src/emacs.c (main): Avoid wraparound in subtraction of
2426         rlim_t values, in case rlim_t is an unsigned type.  (Bug#32338)
2428 2018-10-03  Charles A. Roelli  <charles@aurox.ch>
2430         Improve documentation of 'read-hide-char'
2432         * src/minibuf.c (syms_of_minibuf) <Vread_hide_char>: Clarify
2433         documentation and mention where else the variable is used.
2434         * doc/lispref/minibuf.texi (Reading a Password): Add an index
2435         entry for 'read-hide-char'.
2437 2018-10-03  Alan Mackenzie  <acm@muc.de>
2439         In follow mode, prevent the cursor resting on a partially displayed line
2441         Don't merge to master.  This fixes bug #32848
2443         * lisp/follow.el (follow-adjust-window): If point ends up in a partially
2444         displayed line in a left hand or middle window, move it one line
2445         forward, to
2446         prevent unwanted scrolling should make-cursor-line-fully-visible be
2447         non-nil.
2449 2018-10-03  Alan Mackenzie  <acm@muc.de>
2451         Revert "Temporary workaround for bug #32848 for branch emacs-26"
2453         This reverts commit 6650751ce73413d05599df07a9c5bc70744260f3.
2455 2018-10-03  Alan Mackenzie  <acm@muc.de>
2457         Revert "* etc/NEWS: Note setting make-cursor-line-fully-visible to nil in follow-mode"
2459         This reverts commit f3c8f4bde2de2b9d42c44f5e44f34c427bebdc58.
2461 2018-10-03  Alan Mackenzie  <acm@muc.de>
2463         * etc/NEWS: Note setting make-cursor-line-fully-visible to nil in follow-mode
2465         Also re-insert the "temporary note" explaining --- and +++.
2467 2018-10-03  Noam Postavsky  <npostavs@gmail.com>
2469         Fix note about interactive advice (Bug#32905)
2471         * doc/lispref/functions.texi (Core Advising Primitives): Add missing
2472         ':', and finish the sentence fragment.
2474 2018-10-01  Michael Albinus  <michael.albinus@gmx.de>
2476         Comple fix for Bug#32550
2478         * lisp/net/tramp.el (tramp-rfn-eshadow-update-overlay):
2479         Use `save-excursion'.  This completes the fix of Bug#32550.
2481 2018-10-01  Eli Zaretskii  <eliz@gnu.org>
2483         * lisp/savehist.el (savehist-mode): Doc fix.  (Bug#32889)
2485 2018-09-30  Nicolas Goaziou  <mail@nicolasgoaziou.fr>
2487         Org manual: Rewrite the Org Mobile section
2489         * doc/misc/org.texi (Org Mobile): Rewritten from "MobileOrg" section.
2490         Remove all references to non-free software.
2491         Moved into "Miscellaneous", much like Org Crypt library. No longer an
2492         appendix.
2493         (Footnotes): Remove a reference to "MobileOrg".
2494         (Bug#32722)
2496 2018-09-30  Alan Mackenzie  <acm@muc.de>
2498         Temporary workaround for bug #32848 for branch emacs-26
2500         Do not merge with master.
2502         * lisp/follow.el (follow-mode): Set make-cursor-line-fully-visible to nil
2503         buffer locally whilst follow-mode is active.
2505 2018-09-29  Tino Calancha  <tino.calancha@gmail.com>
2507         Improve cl-do, cl-do* docstrings
2509         * lisp/emacs-lisp/cl-macs.el(cl-do, cl-do*):
2510         Improve docstring (Bug#32803).
2512 2018-09-29  Eli Zaretskii  <eliz@gnu.org>
2514         Avoid returning early in 'while-no-input' due to subprocesses
2516         * src/keyboard.c (kbd_buffer_store_buffered_event): Support
2517         also the internal buffer-switch events.
2518         (syms_of_keyboard) <Qbuffer_switch>: New DEFSYM.
2520         * lisp/subr.el (while-no-input-ignore-events): Ignore
2521         'buffer-switch' events.  Reported by Michael Heerdegen
2522         <michael_heerdegen@web.de>.
2524         * etc/NEWS: Mention the change in behavior of 'while-no-input'
2526 2018-09-29  John Shahid  <jvshahid@gmail.com>
2528         Cleanup when opening a new terminal fails. (Bug#32794)
2530         * src/term.c (init_tty): Call delete_terminal_internal if emacs_open
2531         fail.
2532         * src/terminal.c (delete_terminal): Move some code into
2533         delete_terminal_internal and call it.
2534         (delete_terminal_internal): New function.
2535         * src/termhooks.h: Prototype for delete_terminal_internal.
2537 2018-09-28  Alan Third  <alan@idiocy.org>
2539         Fix deprecation warning
2541         * src/nsterm.m (ns_term_init): Use writeToFile or writeToURL as
2542         required.
2544 2018-09-28  Alan Third  <alan@idiocy.org>
2546         Make all NS drawing be done from drawRect
2548         See bug#31904 and bug#32812.
2550         * src/nsterm.m (ns_update_begin): Don't lock focus, only clip if there
2551         is already a view focused.
2552         (ns_update_end): Don't mess with view focusing any more.
2553         (ns_focus): Only clip drawing if there is already a focused view,
2554         otherwise mark area dirty for later drawing.  Renamed ns_clip_to_rect.
2555         All callers changed.
2556         (ns_unfocus): Don't unfocus the view any more.  Renamed
2557         ns_reset_clipping. All callers changed.
2558         (ns_clip_to_row): Update to match ns_clip_to_rect.
2559         (ns_clear_frame):
2560         (ns_clear_frame_area):
2561         (ns_draw_fringe_bitmap):
2562         (ns_draw_window_cursor):
2563         (ns_draw_vertical_window_border):
2564         (ns_draw_window_divider):
2565         (ns_dumpglyphs_stretch):
2566         (ns_draw_glyph_string): Only draw if ns_focus or ns_clip_to_row
2567         return YES.
2568         (ns_copy_bits): Remove superfluous calls to ns_(un)focus.
2569         (ns_flush_display): New function.
2571 2018-09-28  Michael Albinus  <michael.albinus@gmx.de>
2573         Fix Bug#32828
2575         * lisp/net/dbus.el (dbus-init-bus): Return number of connections,
2576         as promised by the docstring.  (Bug#32828)
2578 2018-09-28  Noam Postavsky  <npostavs@gmail.com>
2580         * lisp/net/shr.el (shr-copy-url): Fix docstring.
2582 2018-09-27  Eli Zaretskii  <eliz@gnu.org>
2584         Fix typos in documentation
2586         * doc/misc/vhdl-mode.texi (Custom Indentation Functions):
2587         * doc/misc/url.texi (Customization):
2588         * doc/misc/tramp.texi (Overview):
2589         * doc/misc/srecode.texi (Developing Template Functions):
2590         * doc/misc/sieve.texi (Sieve Mode):
2591         * doc/misc/reftex.texi (Options - Creating Citations):
2592         * doc/misc/org.texi (Cooperation, Conflicts):
2593         * doc/misc/gnus.texi (Misc Group Stuff):
2594         * doc/misc/eshell.texi (Bugs and ideas):
2595         * doc/misc/calc.texi (Summary):
2596         * doc/man/emacsclient.1:
2597         * doc/lispref/os.texi (Security Considerations):
2598         * doc/lispref/control.texi (pcase Macro):
2599         * CONTRIBUTE: Fix typos.  Reported by Mak Kolybabi
2600         <mak@kolybabi.com>  (Bug#32853)
2602 2018-09-24  Stefan Monnier  <monnier@iro.umontreal.ca>
2604         * doc/emacs/kmacro.texi (Basic Keyboard Macro): Mention old bindings
2606         According to Apple gospel, function keys are partly going the way of the dodo
2607         so F3/F4 can, like in the good old days, be hard to reach for some users.
2609 2018-09-24  Eli Zaretskii  <eliz@gnu.org>
2611         Improve docs of functions/variables related to 'display-buffer'
2613         * lisp/window.el (display-buffer, pop-to-buffer-same-window)
2614         (display-buffer-same-window, display-buffer-in-side-window)
2615         (same-window-p, display-buffer-overriding-action)
2616         (display-buffer-base-action)
2617         (display-buffer--same-window-action)
2618         (display-buffer--other-frame-action)
2619         (with-current-buffer-window, with-displayed-buffer-window)
2620         (display-buffer-alist, display-buffer-assq-regexp)
2621         (display-buffer-other-frame): Clarify and improve the doc
2622         strings.  (Bug#32798)
2624 2018-09-23  Stefan Monnier  <monnier@iro.umontreal.ca>
2626         * lisp/mouse.el (tear-off-window): Fix non-mouse use (bug#32799)
2628 2018-09-22  Eli Zaretskii  <eliz@gnu.org>
2630         Improve documentation of directory-local variables
2632         * lisp/files.el (hack-local-variables, normal-mode)
2633         (after-find-file, find-file-hook): Mention directory-local
2634         variables in the doc strings.  Suggested by Marcin Borkowski
2635         <mbork@mbork.pl>.
2637         * doc/emacs/custom.texi (File Variables, Directory Variables):
2638         Clarify that directory-local variables are overridden by
2639         file-local ones.
2641 2018-09-22  Eli Zaretskii  <eliz@gnu.org>
2643         Don't use obsolete variable 'save-place' in documentation
2645         * doc/lispref/customize.texi (Variable Definitions): Replace
2646         example of saveplace defcustom with a fictitious one, which
2647         will not bit-rot with time.  (Bug#32741)
2649 2018-09-22  Mark A. Hershberger  <mah@everybody.org>
2651         Use save-place-mode instead of save-place
2653         * lisp/menu-bar.el (menu-bar-options-save, menu-bar-options-menu):
2654         * lisp/saveplace.el (save-place-to-alist, save-places-to-alist)
2655         (save-place-find-file-hook, save-place-dired-hook): Use
2656         save-place-mode instead of the obsolete save-place.
2658 2018-09-20  Eli Zaretskii  <eliz@gnu.org>
2660         More accurate docs for 'text-char-description'
2662         * src/keymap.c (Ftext_char_description):
2663         * doc/lispref/help.texi (Describing Characters): More accurate
2664         description of 'text-char-description'.  Remove incorrect
2665         examples from the ELisp manual.  (Bug#32743)
2667 2018-09-20  Noam Postavsky  <npostavs@gmail.com>
2669         Document synchronous behavior of eshell/make (Bug#32513)
2671         * doc/misc/eshell.texi (Built-ins):
2672         * lisp/eshell/em-unix.el (eshell/make): Mention that it falls back to
2673         the external 'make' command when called synchronously.
2675 2018-09-20  Shigeru Fukaya  <shigeru.fukaya@gmail.com>
2677         Fix bs-show with wide characters (Bug#17822)
2679         * lisp/bs.el (bs--insert-one-entry, bs-show-in-buffer): Use
2680         string-width instead of length.
2682 2018-09-19  Eli Zaretskii  <eliz@gnu.org>
2684         Improve Custom menu labels for 2 options
2686         * lisp/dired.el (dired-use-ls-dired):
2687         * lisp/progmodes/xref.el (xref-prompt-for-identifier): Improve
2688         the doc string and the defcustom menu/tags text.  (Bug#32756)
2690 2018-09-19  Eli Zaretskii  <eliz@gnu.org>
2692         Improve wording of last change in dired-x.texi
2694         * doc/misc/dired-x.texi (Shell Command Guessing): Clarify
2695         wording in description of 'dired-guess-shell-alist-user'.
2696         Avoid passive tense.  (Bug#32733)
2698 2018-09-18  Eli Zaretskii  <eliz@gnu.org>
2700         Fix GnuTLS test suite with GnuTLS versions 3.4.x
2702         * src/gnutls.c (gnutls_cipher_get_tag_size): Make it return
2703         zero only for versions of GnuTLS < 3.2.2, where
2704         gnutls_cipher_get_tag_size was introduced.  This fixes the
2705         GnuTLS test suite, which assumes that any cipher whose tag
2706         size is non-zero is AEAD-capable, and doesn't test such ciphers
2707         if AEAD is not available, i.e. for GnuTLS < 3.5.1.  (Bug#32446)
2709 2018-09-17  Noam Postavsky  <npostavs@gmail.com>
2711         Fix build with gnutls versions 3.0 to 3.2 (Bug#32446)
2713         We previously used functions available only in 3.2+ for all 3.x
2714         versions.
2715         * src/gnutls.c [GNUTLS_VERSION_NUMBER < 0x030501]: Replace calls to
2716         gnutls_cipher_get_tag_size with 0.
2717         [GNUTLS_VERSION_NUMBER < 0x030200]: Alias gnutls_cipher_get_iv_size
2718         to gnutls_cipher_get_block_size, gnutls_digest_list to
2719         gnutls_mac_list, and gnutls_digest_get_name to gnutls_mac_get_name.
2720         [WINDOWSNT]: Adjust DLL function definitions and declarations
2721         accordingly.
2723 2018-09-17  Eli Zaretskii  <eliz@gnu.org>
2725         Fix the Bubbles game on TTY frames
2727         * lisp/play/bubbles.el (bubbles--col-offset)
2728         (bubbles--row-offset): Doc fixes.
2729         (bubbles--compute-offsets): Conflate the GUI and TTY code into
2730         a single common version.  Set the offsets to simple numbers,
2731         not to lists.
2732         (bubbles--initialize, bubbles--show-scores): Wrap offset
2733         values in a list, so that they are interpreted as pixel
2734         values, not as units of character width.  This fixes the game
2735         on TTY frames.  (Bug#32744)
2737 2018-09-17  Allen Li  <darkfeline@felesatra.moe>
2739         Add choice to reshow certificate information (Bug#31877)
2741         In various situations, the window displaying the certificate
2742         information can be hidden (such as if the user accidentally presses ?,
2743         which causes the read-multiple-choice help window to replace it).
2744         Instead of leaving the user to make a choice blindly, add a choice to
2745         reshow the certification information.
2747         * lisp/net/nsm.el (nsm-query-user): Add reshow choice.
2749 2018-09-16  Glenn Morris  <rgm@gnu.org>
2751         * src/alloc.c (Fbool_vector, Flist, Fvector): Doc tweak.
2753         Use a simpler, consistent form.
2755 2018-09-15  Alan Mackenzie  <acm@muc.de>
2757         * src/alloc.c (vector): Fix grammatical error in doc string: "are" -> "is".
2759 2018-09-15  Eli Zaretskii  <eliz@gnu.org>
2761         Avoid adverse side effects of fixing bug#21824
2763         * test/src/buffer-tests.el
2764         (overlay-modification-hooks-deleted-overlay): New test.
2766         * src/buffer.c (report_overlay_modification): Don't bypass all
2767         the overlay-modification hooks; instead, invoke each function
2768         only if the buffer associated with the overlay is the current
2769         buffer.  (Bug#30823)
2771 2018-09-15  Eli Zaretskii  <eliz@gnu.org>
2773         Document changes called out in NEWS
2775         * doc/lispref/lists.texi (Association Lists): Document
2776         'assoc-delete-all'.
2777         * doc/lispref/minibuf.texi (Minibuffers): Adapt menu.
2778         (Multiple Queries): Document 'read-answer'.
2780         * etc/NEWS: Reflect the above documentation in the respective
2781         entries.
2783 2018-09-14  Glenn Morris  <rgm@gnu.org>
2785         Tiny doc updates re yum/dnf etc
2787         * INSTALL: Mention dnf and Debian unversioned emacs package.
2788         * doc/misc/efaq.texi (Installing Emacs): Mention dnf.
2790 2018-09-14  Leo Liu  <sdl.web@gmail.com>
2792         Remove unused variable
2794         * lisp/progmodes/prolog.el (prolog-hungry-delete-key-flag): Remove.
2796 2018-09-14  Leo Liu  <sdl.web@gmail.com>
2798         Fix (thing-at-point 'list) regression (Bug#31772)
2800         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point): Revert
2801           to pre 26.1 behavior.  Return whole sexp at point if no enclosing
2802           list.
2803           (list-at-point): New optional arg to ignore comments and strings.
2805         * test/lisp/thingatpt-tests.el
2806           (thing-at-point-bounds-of-list-at-point): Fix and augment tests.
2808 2018-09-14  Robert Pluim  <rpluim@gmail.com>
2810         Clarify meaning of '*'
2812         * doc/misc/dired-x.texi (Shell Command Guessing): Clarify meaning
2813         of '*'. (Bug#32733)
2815 2018-09-12  Paul Eggert  <eggert@cs.ucla.edu>
2817         * etc/PROBLEMS: Document Ubuntu 16.04 issue.
2819 2018-09-12  Alex Branham  <alex.branham@gmail.com>  (tiny change)
2821         Increase default value for imenu-auto-rescan-maxout
2823         * lisp/imenu.el (imenu-auto-rescan-maxout): Increase default value to
2824           600000.  (Bug#18426)
2825         * doc/emacs/programs.texi (imenu-auto-rescan-maxout): Add
2826           documentation for imenu-auto-rescan-maxout.
2828 2018-09-11  Eli Zaretskii  <eliz@gnu.org>
2830         Improve recent change to ELisp manual
2832         * doc/lispref/commands.texi (Keyboard Events): Add index entry
2833         for "character event".  (Bug#32562)
2835 2018-09-11  Eli Zaretskii  <eliz@gnu.org>
2837         * doc/lispref/display.texi (SVG Images): Improve wording.
2839         * doc/lispref/display.texi (SVG Images): Fix a typo.  (Bug#32690)
2841 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
2843         Clarify completion text in the ELisp manual
2845         * doc/lispref/minibuf.texi (Programmed Completion): Clarify
2846         text.  Suggested by Stefan Monnier <monnier@iro.umontreal.ca>.
2848 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
2850         Fix handling of abbreviated control command in gdb-mi.el
2852         * lisp/progmodes/gdb-mi.el (gdb-control-commands-regexp):
2853         Support unambiguous abbreviations of commands.  (Bug#32576)
2855 2018-09-10  Eli Zaretskii  <eliz@gnu.org>
2857         Clarify documentation of functions reading character events
2859         * doc/lispref/help.texi (Describing Characters):
2860         * doc/lispref/commands.texi (Keyboard Events)
2861         (Reading One Event, Classifying Events): Make the distinction
2862         between characters and character events more explicit.
2864         * src/keymap.c (Ftext_char_description)
2865         (Fsingle_key_description):
2866         * src/lread.c (Fread_char, Fread_char_exclusive): Doc fixes,
2867         to make a clear distinction between a character input event
2868         and a character code.  (Bug#32562)
2870 2018-09-07  Eli Zaretskii  <eliz@gnu.org>
2872         Record :version for built-in variables while dumping
2874         * lisp/cus-start.el (standard): Record the ':version; of the
2875         symbols when dumping, so that 'describe-variable' could tell
2876         which built-in variables were added/changed in recent
2877         versions.
2879 2018-09-07  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
2881         * src/process.c (connect_network_socket): Fix memory leak.  (Bug#32604)
2883 2018-09-05  Glenn Morris  <rgm@gnu.org>
2885         * Makefile.in (appdatadir): Use the non-obsolete location "metainfo".
2887 2018-09-04  Stefan Monnier  <monnier@iro.umontreal.ca>
2889         Better fix for bug#32550
2891         * lisp/rfn-eshadow.el (rfn-eshadow-overlay): Give it a global default.
2893         * lisp/net/tramp.el (rfn-eshadow-overlay): Declare it as dynamically scoped.
2894         (tramp-rfn-eshadow-update-overlay): Revert the corresponding part of
2895         last change.
2897 2018-09-04  Michael Albinus  <michael.albinus@gmx.de>
2899         Fix Bug#32550
2901         * lisp/net/tramp.el (tramp-rfn-eshadow-setup-minibuffer): Do not
2902         use `symbol-value'.
2903         (tramp-rfn-eshadow-update-overlay): Do not use `symbol-value'.  Do
2904         not let-bind `rfn-eshadow-overlay', assign it directly (due to
2905         lexical binding).  (Bug#32550)
2907 2018-09-04  Martin Rudalics  <rudalics@gmx.at>
2909         Don't call XGetGeometry for frames without outer X window (Bug#32615)
2911         * src/xfns.c (frame_geometry): Don't call XGetGeometry when
2912         FRAME has no outer X window; return nil instead.  (Bug#32615)
2914 2018-09-03  Paul Eggert  <eggert@cs.ucla.edu>
2916         * lisp/calculator.el: Fix doc typo.
2918 2018-09-03  Glenn Morris  <rgm@gnu.org>
2920         Standardize calc bug reporting instructions
2922         * doc/misc/calc.texi (Reporting Bugs): Use standard commands.
2923         * lisp/calc/calc-misc.el (report-calc-bug, calc-report-bug):
2924         * lisp/calc/calc.el (calc-bug-address): Change to be
2925         obsolete aliases for standard Emacs bug reporting items.
2927 2018-08-31  Michael Albinus  <michael.albinus@gmx.de>
2929         Rename thread-alive-p to thread-live-p
2931         * doc/lispref/threads.texi (Basic Thread Functions): Use thread-live-p.
2933         * etc/NEWS: 'thread-alive-p' has been renamed to 'thread-live-p'.
2935         * src/thread.c (thread_live_p): Rename from thread_alive_p.  Adapt
2936         all callees.
2937         (Fthread_live_p): Rename from Fthread_alive_p.
2938         (syms_of_threads): Make thread-alive-p an alias of thread-live-p.
2940         * test/src/thread-tests.el (all): Replace `thread-alive-p' by
2941         `thread-live-p'.
2942         (threads-live): Rename from `threads-alive'.
2944 2018-08-30  Miciah Masters  <miciah.masters@gmail.com>  (tiny change)
2946         rcirc: Document /reconnect as a built-in command (Bug#29656)
2948         The change "New command rcirc-cmd-reconnect" from 2014-04-09 (shipped
2949         in Emacs 25.1) added a /reconnect command to rcirc but did not
2950         document it and did not delete the example /reconnect command
2951         definition in the manual.
2952         * doc/misc/rcirc.texi (rcirc commands): Document the built-in /reconnect
2953         command.
2954         (Hacking and Tweaking): Delete example reconnect command.
2956 2018-08-30  Noam Postavsky  <npostavs@gmail.com>
2958         * test/lisp/calc/calc-tests.el (calc-imaginary-i): New test.
2960 2018-08-28  Glenn Morris  <rgm@gnu.org>
2962         admin.el: respect environment settings for makeinfo etc
2964         * admin/admin.el (manual-makeinfo, manual-texi2pdf, manual-texi2dvi):
2965         New variables.
2966         (manual-html-mono, manual-html-node, manual-pdf, manual-ps): Use them.
2968 2018-08-28  Glenn Morris  <rgm@gnu.org>
2970         * etc/PROBLEMS: New entry about GTK+ 3 crash with some X servers.
2972 2018-08-28  Noam Postavsky  <npostavs@gmail.com>
2974         Index profiler commands in elisp manual
2976         * doc/lispref/debugging.texi (Profiling): Add index entries for
2977         profiler-start, profiler-report, profiler-stop.
2979 2018-08-28  Noam Postavsky  <npostavs@gmail.com>
2981         Fix math-imaginary-i check
2983         Reported by Bastian Erdnüß at
2984         <https://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00300.html>.
2985         * lisp/calc/calc-cplx.el (math-imaginary-i): Check for a value
2986         of (polar 1 <quarter-circle>).
2988 2018-08-28  Eli Zaretskii  <eliz@gnu.org>
2990         Avoid infinite hscrolling loops when line numbers are displayed
2992         * src/xdisp.c (maybe_produce_line_number): Don't produce line
2993         numbers if we don't have enough screen estate.  (Bug#32351)
2995 2018-08-28  Eli Zaretskii  <eliz@gnu.org>
2997         Avoid crashes in malformed defvar
2999         * src/eval.c (Fdefvar): Don't call XSYMBOL on something that
3000         might not be a symbol.  This avoids crashes due to malformed
3001         'defvar' forms.  (Bug#32552)
3003 2018-08-28  Glenn Morris  <rgm@gnu.org>
3005         * configure.ac (emacs_config_features): Add GLIB, XDBE, XIM.
3007         * configure.ac: Doc fixes related to --with-xim.
3009 2018-08-28  Glenn Morris  <rgm@gnu.org>
3011         Small checkdoc quoting fix (bug#32546)
3013         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
3014         Fix quoting thinko.
3016 2018-08-26  Sergey Vinokurov  <serg.foo@gmail.com>
3018         Fix detection of freed emacs_values (Bug#32479)
3020         * src/emacs-module.c (module_free_global_ref): Compare a value to be
3021         freed with all entries of the list.
3023         * test/data/emacs-module/mod-test.c (Fmod_test_globref_free): New
3024         function.
3025         (emacs_module_init): Make it accessible from Lisp.
3026         * test/src/emacs-module-tests.el (mod-test-globref-free-test): New
3027         test which uses it.
3029 2018-08-25  Eli Zaretskii  <eliz@gnu.org>
3031         Avoid crashes with very wide TTY frames on MS-Windows
3033         * src/w32console.c <glyph_base>: Reduce the number of elements
3034         to 80.
3035         <glyphs, glyphs_len>: New static variables.
3036         (w32con_clear_end_of_line): If the line is wider than the
3037         current size of the "empty row" in 'glyphs', reallocate
3038         'glyphs' to support the full width of the frame.  This
3039         avoids segfaults when the frame is wider than 256 columns.
3040         (Bug#32445)
3042 2018-08-25  Wenjamin Petrenko  <wenjamin.petrenko@yandex.ru>  (tiny change)
3044         Prevent `modify-file-local-variable-prop-line' from adding extra ';'
3046         * lisp/files-x.el (modify-file-local-variable-prop-line): Handle
3047         whitespace when checking if there's already a ';' before the
3048         variable (Bug#23294).
3050 2018-08-24  Glenn Morris  <rgm@gnu.org>
3052         Update GNOME bugtracker URLs
3054         * configure.ac, admin/notes/multi-tty, etc/PROBLEMS:
3055         * src/emacs.c (main):
3056         * src/xterm.c (x_connection_closed): Update GNOME bugtracker URLs.
3058 2018-08-23  Eli Zaretskii  <eliz@gnu.org>
3060         Clarify in the Emacs manual that ChangeLog files are not used
3062         * doc/emacs/trouble.texi (Sending Patches): Use "commit log"
3063         instead of "change log", to avoid the interpretation that we
3064         are talking about literal ChangeLog files.  (Bug#32359)
3066 2018-08-21  Eli Zaretskii  <eliz@gnu.org>
3068         Recognize codepage 65001 as a valid encoding
3070         * lisp/international/mule-conf.el (cp65001): Define it as an
3071         alias for UTF-8.
3073 2018-08-18  Eli Zaretskii  <eliz@gnu.org>
3075         Avoid compilation warning in nt/addpm.c
3077         * nt/addpm.c [!MINGW_W64]: Undefine _WIN32_IE before
3078         redefining it, to avoid compilation warnings.
3080 2018-08-17  Basil L. Contovounesios  <contovob@tcd.ie>
3082         Fix duplicate custom group names in bibtex.el
3084         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
3085         Change :group from BibTeX to bibtex.  (bug#32436)
3087 2018-08-17  Eli Zaretskii  <eliz@gnu.org>
3089         Fix outdated text in the Calc manual
3091         * doc/misc/calc.texi (Internals): Don't advertise
3092         'calc-extensions' which no longer exists.  Reported by Francis
3093         Wright <francis.j.wright@gmail.com>.
3095 2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>
3097         Port better to x86 -fexcess-precision=fast
3099         Problem reported by Eli Zaretskii in:
3100         https://lists.gnu.org/r/emacs-devel/2018-08/msg00380.html
3101         * src/data.c (arithcompare): Work around incompatibility
3102         between gcc -fexcess-precision=fast and the C standard on x86,
3103         by capturing the results of floating-point comparisons before
3104         the excess precision spontaneously decays.  Although this fix
3105         might not work in general, it does work here and is probably
3106         good enough for the platforms we care about.
3108         (cherry picked from commit a84cef90957f2379cc0df6bd908317fc441971ce)
3110 2018-08-13  Paul Eggert  <eggert@cs.ucla.edu>
3112         Add comment about floating point test
3114         * test/src/data-tests.el (data-tests--float-greater-than-fixnums):
3115         New constant.
3116         (data-tests-=, data-tests-<, data-tests->, data-tests-<=)
3117         (data-tests->=, data-tests-min): Use it.
3119 2018-08-13  Tino Calancha  <tino.calancha@gmail.com>
3121         Ibuffer: Add toggle ibuffer-do-toggle-lock
3123         Toggle the locked status in marked buffers or the buffer
3124         at point (Bug#32421).
3125         * lisp/ibuffer.el (ibuffer-do-toggle-lock): New command.
3126         (ibuffer-mode-map): Bind it to 'L'.
3127         (ibuffer-mode-operate-map): Add entries for
3128         `ibuffer-do-toggle-read-only' and `ibuffer-do-toggle-lock'.
3129         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.2):
3130         Announce the change.
3132 2018-08-13  Tino Calancha  <tino.calancha@gmail.com>
3134         Ibuffer: Detect correctly the buffers running a process
3136         * lisp/ibuffer.el (filename-and-process): Store the process buffer
3137         as a text property; check for such property to detect a buffer
3138         with a process (Bug#32420).
3140 2018-08-12  Michael Albinus  <michael.albinus@gmx.de>
3142         Backport fix for Bug#32226
3144         * test/lisp/shadowfile-tests.el: Set Tramp variables for hydra.
3145         (shadow-test06-literal-groups, shadow-test07-regexp-groups)
3146         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
3147         Use `set-visited-file-name' instead of setting the value in
3148         `buffer-file-name' directly.
3149         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
3150         Test for writable temporary directory.  Suppress errors in
3151         cleanup.  (Bug#32226)
3153 2018-08-12  Yuri D'Elia  <wavexx@thregr.org>
3155         Do not consider external packages to be removable (Bug#27822)
3157         Packages which are not directly user-installed shouldn't be autoremoved,
3158         since they can be setup through a different path (via
3159         `package-directory-list') where we have no authority over.
3160         * lisp/emacs-lisp/package.el (package--user-installed-p): New
3161         function.
3162         (package--removable-packages): Use it.
3164 2018-08-11  Paul Eggert  <eggert@cs.ucla.edu>
3166         * src/alloc.c: Remove obsolete comments.
3168 2018-08-11  Eli Zaretskii  <eliz@gnu.org>
3170         Better support utf-8-with-signature and utf-8-hfs in HTML
3172         * lisp/international/mule.el (sgml-html-meta-auto-coding-function):
3173         Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
3174         obey the buffer's encoding if it is one of these variants, instead
3175         of re-encoding in UTF-8 proper.  (Bug#20623)
3177 2018-08-11  Eli Zaretskii  <eliz@gnu.org>
3179         Don't use -Wabi compiler option
3181         * configure.ac: Add -Wabi to the list of disabled warning
3182         options.  For the details, see
3183         http://lists.gnu.org/archive/html/emacs-devel/2018-08/msg00123.html.
3185 2018-08-10  Filipp Gunbin  <fgunbin@fastmail.fm>
3187         Fix bugs in `auth-source-netrc-parse-one'.
3189         * lisp/auth-source.el (auth-source-netrc-parse-one): Ensure that match
3190           data is not overwritten in `auth-source-netrc-parse-next-interesting'.
3191           Ensure that blanks are skipped before and after going over comments
3192           and eols.
3193         * test/lisp/auth-source-tests.el (auth-source-test-netrc-parse-one): New test.
3195         (cherry picked from commit 60ff8101449eea3a5ca4961299501efd83d011bd)
3197 2018-08-09  Eli Zaretskii  <eliz@gnu.org>
3199         Fix copying text properties by 'format'
3201         * src/editfns.c (styled_format): Add the spec beginning index
3202         to the info recorded for each format spec, and use it to
3203         detect the case that a format spec and its text property end
3204         where the next spec with another property begins.  (Bug#32404)
3206         * test/src/editfns-tests.el (format-properties): Add tests for
3207         bug#32404.
3209 2018-08-09  Alexander Gramiak  <agrambot@gmail.com>
3211         Improve error messages regarding initial-buffer-choice (Bug#29098)
3213         * lisp/startup.el (command-line-1) <initial-buffer-choice>: Make the
3214         messages conform to Emacs conventions, and show the invalid return
3215         value in the message.
3217 2018-08-09  Glenn Morris  <rgm@gnu.org>
3219         * test/lisp/wdired-tests.el (wdired-test-unfinished-edit-01): Fix typo.
3221 2018-08-09  Lars Ingebrigtsen  <larsi@gnus.org>
3223         Make async :family 'local failures fail correctly again
3225         * src/fileio.c (get_file_errno_data): Refactor out into its own
3226         function so that we can reuse the error handling from an async
3227         context (bug#31901).
3229         * src/process.c (connect_network_socket): When an async :family
3230         'local client fails (with a file error, for instance), mark the
3231         process as failed.
3233         (cherry picked from commit 92ba34d89ac4f5b5bbb818e1c39a3cc12a405790)
3235 2018-08-09  Noam Postavsky  <npostavs@gmail.com>
3237         Fix emacsclient check for term.el buffer (Bug#21041)
3239         * lib-src/emacsclient.c (find_tty): Check for any TERM value with
3240         prefix of "eterm", not just "eterm" itself.  Also check for ",term:"
3241         in INSIDE_EMACS value.
3243 2018-08-08  Eli Zaretskii  <eliz@gnu.org>
3245         Improve documentation of 'set-fontset-font'
3247         * doc/lispref/display.texi (Fontsets): Fix description of
3248         'set-fontset-font'.
3249         * src/fontset.c (Fset_fontset_font): Doc fix.  (Bug#32401)
3251 2018-08-07  Eli Zaretskii  <eliz@gnu.org>
3253         Improve documentation of M-?
3255         * doc/emacs/maintaining.texi (Identifier Search):
3256         * lisp/progmodes/xref.el (xref-find-references): Improve
3257         documentation of xref-find-references and
3258         xref-prompt-for-identifier.  (Bug#32389)
3260 2018-08-07  Ivan Shmakov  <ivan@siamics.net>
3262         Reinterpret Esperanto characters in iso-transl as iso-8859-3.
3264         * lisp/international/iso-transl.el (iso-transl-language-alist):
3265         Reinterpret Esperanto characters as iso-8859-3 (were: iso-8859-1).
3266         (Bug#32371)
3268 2018-08-07  Eli Zaretskii  <eliz@gnu.org>
3270         Fix Flyspell mode when several languages are mixed in a buffer
3272         * lisp/textmodes/flyspell.el (flyspell-external-point-words):
3273         Handle "misspelled" words that actually belong to a language
3274         unsupported by the current dictionary.  (Bug#32280)  Fix the test
3275         for Ispell the program.
3277 2018-08-04  Juri Linkov  <juri@linkov.net>
3279         New function read-answer (Bug#31782)
3281         * lisp/emacs-lisp/map-ynp.el (read-answer-short): New defcustom.
3282         (read-answer): New function.
3283         * lisp/subr.el (assoc-delete-all): New function.
3284         * etc/NEWS: Announce them.
3286         * lisp/dired.el (dired-delete-file): Use read-answer.
3287         (dired--yes-no-all-quit-help): Remove function.
3288         (dired-delete-help): Remove defconst.
3290         (backported from master, "New function read-answer (bug#30073)" and
3291         "Respect non-saved value of `read-short-answer' (Bug#31782)")
3293 2018-08-02  Eli Zaretskii  <eliz@gnu.org>
3295         Avoid assertion violations in maybe_produce_line_number
3297         * src/xdisp.c (redisplay_window): Make sure desired_matrix is
3298         cleared before calling try_window.  This is important when
3299         display-line-numbers is non-nil, because line-number display code
3300         assumes each glyph row is completely cleared when it is called to
3301         produce a line number.  (Bug#32358)
3303 2018-08-02  Eli Zaretskii  <eliz@gnu.org>
3305         Avoid assertion violations in set_text_properties_1
3307         * src/textprop.c (set_text_properties): If the call to
3308         modify_text_properties modifies the interval tree as side effect,
3309         recalculate the correct interval for START and END.  (Bug#32265)
3311 2018-07-31  Stephen Berman  <stephen.berman@gmx.net>
3313         Fix wdired test failure when byte compiled (bug#32318)
3315         * test/lisp/wdired-tests.el: Require wdired.  Defvar dired-query
3316         to silence byte-compiler.
3318 2018-07-30  Stephen Berman  <stephen.berman@gmx.net>
3320         * test/lisp/wdired-tests.el (wdired-test-symlink-name): New test.
3322 2018-07-29  Raimon Grau  <raimonster@gmail.com>
3324         Fix url's thing-at-point beginning-op (Bug#32028)
3326         * lisp/thingatpt.el (url): Fix beginning-op making.
3328 2018-07-29  Eli Zaretskii  <eliz@gnu.org>
3330         Fix last change in 'char_width'
3332         * src/character.c (char_width): Make sure variable C is always
3333         initialized.  (Bug#32276)
3335 2018-07-29  Stephen Berman  <stephen.berman@gmx.net>
3337         Add initial tests for wdired.el
3339         * test/lisp/wdired-tests.el: New file.
3341 2018-07-28  Stephen Berman  <stephen.berman@gmx.net>
3343         Fix use of non-nil wdired-use-interactive-rename
3345         This is a fairly minimal fix for the release branch; a more
3346         comprehensive fix is on master, so do not merge this to master.
3348         * lisp/wdired.el (wdired-search-and-rename): Remove dired-filename
3349         text property in order to find new filename when it only partially
3350         replaces old filename (bug#32173).  If user quits before renaming
3351         succeeds, restore the dired-filename text property.
3353 2018-07-28  Eli Zaretskii  <eliz@gnu.org>
3355         Fix compilation with mingw.org's MinGW 5.x headers
3357 2018-07-28  Eli Zaretskii  <eliz@gnu.org>
3359         Update the list of special forms in the ELisp manual
3361         * doc/lispref/eval.texi (Special Forms):
3362         * doc/lispref/frames.texi (Mouse Tracking): 'track-mouse' is
3363         nowadays a macro.  (Bug#32284)
3365 2018-07-28  Noam Postavsky  <npostavs@gmail.com>
3367         Don't fail to indent-sexp before a full sexp (Bug#31984)
3369         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Only signal error if the
3370         initial forward-sexp fails.  Suppress scan-error forn any of the
3371         forward-sexp calls after that.
3372         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-cant-go): New
3373         test.
3375 2018-07-27  Eli Zaretskii  <eliz@gnu.org>
3377         Fix calls to modifications hooks in replace-buffer-contents
3379         * src/editfns.c (Freplace_buffer_contents): Call the modification
3380         hooks on the entire region where replacements could have taken
3381         place.  The previous attempts of being more accurate just
3382         introduced bugs.  (Bug#32278)
3384 2018-07-27  Eli Zaretskii  <eliz@gnu.org>
3386         * src/character.c (char_width): Support glyphs with faces.  (Bug#32276)
3388 2018-07-27  Eli Zaretskii  <eliz@gnu.org>
3390         Display raw bytes as belonging to 'eight-bit' charset
3392         * lisp/descr-text.el (describe-char):
3393         * lisp/simple.el (what-cursor-position): Display characters in the
3394         range #x3FFF80..#x3FFF9F as belonging to charset 'eight-bit', not
3395         'tis620-2533'.
3396         * lisp/international/mule-diag.el (describe-character-set):
3397         Improve description of :supplementary-p.
3399 2018-07-26  Eli Zaretskii  <eliz@gnu.org>
3401         Fix inaccurate text in the user manual
3403         * doc/emacs/mule.texi (International Chars): Correct inaccurate
3404         description of raw bytes display by "C-x =".
3406 2018-07-26  Michael Albinus  <michael.albinus@gmx.de>
3408         Copyedits in tramp.texi, improved example with bash's readline
3410         * doc/misc/tramp.texi (all): Unify some wordings.
3411         (Frequently Asked Questions): Update example with bash's readline.
3413 2018-07-25  Michael Albinus  <michael.albinus@gmx.de>
3415         Minor Tramp doc update
3417         * doc/misc/tramp.texi (Frequently Asked Questions): Disable bash's
3418         INPUTRC.
3420 2018-07-25  Michael Albinus  <michael.albinus@gmx.de>
3422         File Shadowing is not available on MS Windows
3424         * doc/emacs/files.texi (File Shadowing): File Shadowing is not
3425         available on MS Windows.
3427         * test/lisp/shadowfile-tests.el (shadow-test00-clusters)
3428         (shadow-test01-sites, shadow-test02-files)
3429         (shadow-test03-expand-cluster-in-file-name)
3430         (shadow-test04-contract-file-name, shadow-test05-file-match)
3431         (shadow-test06-literal-groups, shadow-test07-regexp-groups)
3432         (shadow-test08-shadow-todo, shadow-test09-shadow-copy-files):
3433         Skip under MS Windows.
3435 2018-07-24  Noam Postavsky  <npostavs@gmail.com>
3437         Let bookmark-jump override window-point (Bug#31751)
3439         * lisp/bookmark.el (bookmark-jump): Use pop-to-buffer-same-window
3440         instead of switch-to-buffer, the latter obeys
3441         switch-to-buffer-preserve-window-point and so loses the bookmark's
3442         point.
3444 2018-07-23  Noam Postavsky  <npostavs@gmail.com>
3446         Omit keymap from subword-mode docstring (Bug#32212)
3448         * lisp/progmodes/subword.el (subword-mode): Remove listing of
3449         subword-mode-map bindings, since it is empty as of 2014-03-23 "Merge
3450         capitalized-words-mode and subword-mode".
3452 2018-07-23  Tino Calancha  <tino.calancha@gmail.com>
3453             Noam Postavsky  <npostavs@gmail.com>
3455         Prevent line-mode term from showing user passwords
3457         For buffers whose mode derive from comint-mode, the user password is
3458         read from the minibuffer and it's hidden.  A buffer in term-mode and
3459         line submode, instead shows the passwords.  Make buffers in line
3460         term-mode to hide passwords too (Bug#30190).
3462         * lisp/term.el (term-send-invisible): Prefer the more robust
3463         `read-passwd' instead of `term-read-noecho'.
3464         (term-watch-for-password-prompt): New function.
3465         (term-emulate-terminal): Call it each time we receive non-escape
3466         sequence output.
3468 2018-07-22  Jonathan Kyle Mitchell  <kyle@jonathanmitchell.org>
3470         Check for special filenames in eshell (Bug#30724)
3472         * lisp/eshell/esh-cmd.el (eshell-lisp-command): Check for "~"
3473         in lisp commands with the eshell-filename-arguments property
3474         (Bug#30724).
3476         * lisp/eshell/em-dirs.el (eshell/cd, eshell/pushd, eshell/popd):
3477         * lisp/eshell/em-ls.el (eshell/ls):
3478         * lisp/eshell/em-unix.el (eshell/rm, eshell/mkdir, eshell/rmdir)
3479         (eshell/mv, eshell/cp, eshell/ln, eshell/cat, eshell/du, eshell/diff):
3480         * lisp/eshell/esh-ext.el (eshell/addpath): Add
3481         eshell-filename-arguments to symbol plist.
3483 2018-07-22  Noam Postavsky  <npostavs@gmail.com>
3485         Fix indent-sexp of #s(...) (Bug#31984)
3487         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Look for a sexp that
3488         ends after the current line.
3489         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-go): New test.
3491 2018-07-22  Noam Postavsky  <npostavs@gmail.com>
3493         Add save-match-data to abbreviate-file-name (Bug#32201)
3495         * lisp/files.el (abbreviate-file-name): Save match-data around
3496         expand-file-name; it is not guaranteed to preserve match-data, and may
3497         well do so depending on what file handlers and hooks are in effect.
3499 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
3501         Fix last change in editfns.c
3503         * src/editfns.c (Freplace_buffer_contents): Fix last change: always
3504         call buffer modification hooks, even if nothing was deleted/inserted.
3505         (bug#32237)
3507 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
3509         Fix calls to buffer modification hooks from replace-buffer-contents
3511         * src/editfns.c (Freplace_buffer_contents): Don't call buffer
3512         modification hooks if nothing was deleted/inserted.  (Bug#32237)
3514 2018-07-21  Michael Albinus  <michael.albinus@gmx.de>
3516         Fix Bug#32226
3518         * lisp/shadowfile.el (shadow-site-name, shadow-name-site):
3519         Use "[-.[:word:]]+" as hostname regexp.  (Bug#32226)
3521         * test/lisp/shadowfile-tests.el (shadow-test06-literal-groups)
3522         (shadow-test07-regexp-groups, shadow-test08-shadow-todo)
3523         (shadow-test09-shadow-copy-files): Skip if needed.
3525 2018-07-21  Eli Zaretskii  <eliz@gnu.org>
3527         Improve doc strings of several variables in keyboard.c
3529         * src/keyboard.c (syms_of_keyboard) <debug-on-event>
3530         <attempt-stack-overflow-recovery>
3531         <attempt-orderly-shutdown-on-fatal-signal>: Make sure the first
3532         sentence of the doc string fits on a single line.
3534 2018-07-20  Michael Albinus  <michael.albinus@gmx.de>
3536         Fix (Bug#32218).  Do not merge with master
3538         * doc/misc/trampver.texi:
3539         * lisp/net/trampver.el: Change version to "2.3.4.26.2".
3540         (customize-package-emacs-version-alist): Add Tramp version
3541         integrated in Emacs 26.2.
3543         * lisp/net/tramp.el (tramp-handle-file-truename):
3544         * lisp/net/tramp-adb.el (tramp-adb-handle-file-truename):
3545         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename): Fix problem
3546         with trailing slash.  (Bug#32218)
3548         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
3549         Remove `tramp--test-emacs27-p' check.
3551 2018-07-20  Eli Zaretskii  <eliz@gnu.org>
3553         Improve documentation of 'pcase-defmacro rx'
3555         * lisp/emacs-lisp/rx.el (rx): Clarify and improve the doc string.
3556         For the details, see the discussion starting at
3557         http://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00399.html.
3559 2018-07-19  Eli Zaretskii  <eliz@gnu.org>
3561         Fix TTY colors breakage by 'clear-face-cache'
3563         Without examining the right frame, 'tty-color-24bit' was erroneously
3564         treating a GUI frame as a 24-bit TTY frame.
3565         * lisp/term/tty-colors.el (tty-color-24bit): Accept optional
3566         argument DISPLAY and pass it to display-color-cells.  Doc fix.
3567         (tty-color-define, tty-color-desc): Pass the FRAME argument to
3568         tty-color-24bit.  (Bug#32072)
3570 2018-07-18  Michael Albinus  <michael.albinus@gmx.de>
3572         * admin/MAINTAINERS: Add files maintained by me (Michael Albinus).
3574 2018-07-18  Michael Albinus  <michael.albinus@gmx.de>
3576         Adapt shadowfile.el for Tramp  (Bug#4526, Bug#4846)
3578         * etc/NEWS: Mention changes in shadowfile.el.
3580         * lisp/shadowfile.el (top): Require 'tramp instead of 'ange-ftp.
3581         (shadow-cluster): New defstruct.
3582         (shadow-make-cluster, shadow-cluster-name, shadow-cluster-primary)
3583         (shadow-cluster-regexp, shadow-get-user)
3584         (shadow-parse-fullname): Remove.
3585         (shadow-info-file, shadow-todo-file, shadow-system-name)
3586         (shadow-homedir, shadow-regexp-superquote, shadow-suffix)
3587         (shadow-set-cluster, shadow-get-cluster, shadow-site-name)
3588         (shadow-name-site, shadow-site-primary, shadow-site-cluster)
3589         (shadow-read-site, shadow-parse-name, shadow-make-fullname)
3590         (shadow-replace-name-component, shadow-local-file)
3591         (shadow-expand-cluster-in-file-name, shadow-contract-file-name)
3592         (shadow-same-site, shadow-file-match, shadow-define-cluster)
3593         (shadow-define-literal-group, shadow-define-regexp-group)
3594         (shadow-make-group, shadow-shadows-of-1, shadow-read-files)
3595         (shadow-write-info-file, shadow-write-todo-file)
3596         (shadow-initialize): Adapt variables and functions.
3598         * test/lisp/shadowfile-tests.el: New file.
3600 2018-07-18  Noam Postavsky  <npostavs@gmail.com>
3602         Fix auth-source-delete (Bug#26184)
3604         * lisp/auth-source.el (auth-source-delete): Fix `auth-source-search'
3605         call.
3606         * test/lisp/auth-source-tests.el (auth-source-delete): New test.
3608 2018-07-17  Eli Zaretskii  <eliz@gnu.org>
3610         Avoid assertion violations in gnutls.c
3612         * src/gnutls.c (Fgnutls_hash_digest, gnutls_symmetric)
3613         (Fgnutls_hash_mac): Check CONSP before invoking XCDR.  (Bug#32187)
3614         Report values of invalid arguments when signaling an error.
3616 2018-07-14  Eli Zaretskii  <eliz@gnu.org>
3618         Don't use a literal "C-u" in ispell.el  help message text
3620         * lisp/textmodes/ispell.el (ispell-command-loop): Use
3621         "\\[universal-argument]" instead of a literal "C-u".  (Bug#32142)
3623 2018-07-14  Eli Zaretskii  <eliz@gnu.org>
3625         Improve documentation of 'seqp'
3627         * doc/lispref/sequences.texi (Sequence Functions): Add text to
3628         explain the relation between 'seqp' and 'sequencep'.  (Bug#32125)
3630 2018-07-14  Eli Zaretskii  <eliz@gnu.org>
3632         Clarify usage and dependencies between several Flyspell features
3634         * lisp/textmodes/flyspell.el (flyspell-region)
3635         (flyspell-small-region, flyspell-persistent-highlight):
3636         Documentation improvements.  (Bug#32142)
3638 2018-07-13  Michael Albinus  <michael.albinus@gmx.de>
3640         Use consistent function names in thread-tests.el
3642         * test/src/thread-tests.el (threads-call-error, threads-custom)
3643         (threads-errors, threads-sticky-point, threads-signal-early):
3644         Rename, using naming convention to prefix with "threads-".
3646 2018-07-13  Michael Albinus  <michael.albinus@gmx.de>
3648         Fix format error in Faccept_process_output
3650         * src/process.c (Faccept_process_output): Do not use format spec
3651         "%p", it isn't valid for error().
3653 2018-07-13  Paul Eggert  <eggert@cs.ucla.edu>
3655         Lessen stack consumption in recursive read1
3657         * src/lread.c (read1): Shrink local buffer size from
3658         MAX_ALLOCA to 128 (Bug#31995).
3660 2018-07-13  Noam Postavsky  <npostavs@gmail.com>
3662         Match w32 paths in grep sans --null hits (Bug#32051)
3664         * lisp/progmodes/grep.el (grep-regexp-alist): Add an optional part to
3665         match paths starting with C: (other drive letters).
3666         * test/lisp/progmodes/compile-tests.el
3667         (compile-tests--grep-regexp-testcases)
3668         (compile-tests--grep-regexp-tricky-testcases)
3669         (compile-test-grep-regexps): New tests.
3670         (compile--test-error-line): Return `compilation-message'.
3672 2018-07-13  Noam Postavsky  <npostavs@gmail.com>
3674         Fix previous make-network-process change
3676         * src/process.c (Fmake_network_process): On 2018-07-09 "Explicitly
3677         reject :server and :nowait (Bug#31903)", the sense of the SERVER check
3678         was accidentally reversed so that we ended up looking for the wrong
3679         ADDRESS.  Reported by T.V Raman in
3680         <https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00437.html>.
3682 2018-07-12  Eli Zaretskii  <eliz@gnu.org>
3684         Another documentation improvement in flyspell.el
3686         * lisp/textmodes/flyspell.el (flyspell-persistent-highlight): Doc
3687         fix.
3689 2018-07-12  Eli Zaretskii  <eliz@gnu.org>
3691         Improve documentation of Flyspell
3693         For the background, see
3694         http://lists.gnu.org/archive/html/help-gnu-emacs/2018-07/msg00099.html.
3696         * doc/emacs/fixit.texi (Spelling): Add a couple of caveats.
3697         * lisp/textmodes/flyspell.el: Update commentary.
3699 2018-07-12  Michael Albinus  <michael.albinus@gmx.de>
3701         Provide feature 'threads
3703         * src/thread.c (syms_of_threads): Provide feature "threads".
3705         * test/src/thread-tests.el (top): Declare the functions.
3706         (all): Use (featurep 'threads) check.
3708 2018-07-11  Miciah Masters  <miciah.masters@gmail.com>  (tiny change)
3710         Save the server alias on reconnect (Bug#29657)
3712         rcirc does not retain the server alias on reconnect.  As a result, rcirc
3713         fails to re-use server and channel buffers when an alias is used.  Further
3714         problems may ensue when aliases are used to differentiate multiple
3715         connections to the same host, for example when using a single IRC bouncer
3716         or proxy to connect to multiple IRC networks.
3718         Save the server alias when connecting to a server so that reconnect will
3719         retain the alias.
3720         * lisp/net/rcirc.el (rcirc-connect): Include server-alias when setting
3721         rcirc-connection-info.
3723 2018-07-11  Basil L. Contovounesios  <contovob@tcd.ie>
3725         Refer to "proper lists" instead of "true lists"
3727         * doc/lispref/lists.texi (Cons Cells, Building Lists):
3728         * doc/lispref/sequences.texi (Vector Functions): Use the more
3729         popular term "proper", rather than "true", to qualify nil-terminated
3730         lists.
3732         For discussion, see the following emacs-devel subthreads:
3733         https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00112.html
3734         https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00138.html
3736 2018-07-10  John Shahid  <jvshahid@gmail.com>
3738         Avoid turning on the global-minor-mode recursively
3740         * lisp/emacs-lisp/easy-mmode.el (define-globalized-minor-mode): Clear
3741         the buffer-list inside MODE-enable-in-buffers to avoid enabling the
3742         mode recursively.  (Bug#31793)
3744 2018-07-10  Michael Albinus  <michael.albinus@gmx.de>
3746         Fix Bug#32085
3748         * doc/misc/tramp.texi (GVFS based methods): `dav' and `davs' do
3749         not support paths in the volume name.  (Bug#32085)
3751 2018-07-10  Noam Postavsky  <npostavs@gmail.com>
3753         Stop using indent-line-to in lisp-indent-line (Bug#32014)
3755         This is partial revert of "Remove ignored argument from
3756         lisp-indent-line", because `indent-line-to' doesn't respect field
3757         boundaries.
3758         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Use delete-region
3759         and indent-to instead of `indent-line-to'.
3760         * test/lisp/emacs-lisp/lisp-mode-tests.el
3761         (lisp-indent-with-read-only-field): Expect to pass.
3763         Don't merge to master, we will fix indent-line-to there instead.
3765 2018-07-10  Noam Postavsky  <npostavs@gmail.com>
3767         Explicitly reject :server and :nowait (Bug#31903)
3769         * src/process.c (Fmake_network_process): Explicitly check for and
3770         signal an error when passed both :server and :nowait non-nil.  In
3771         Emacs 25, :nowait would be ignored in this case, but as of Emacs 26.1
3772         this gives an error, albeit an unclear one.  Also remove obsolete
3773         comment regarding configurations lacking non-blocking mode, the
3774         corresponding code was removed in 2012-11-17 "Assume POSIX 1003.1-1988
3775         or later for fcntl.h."
3777 2018-07-09  Michael Albinus  <michael.albinus@gmx.de>
3779         Fix Bug#32090
3781         * lisp/files-x.el (connection-local-normalize-criteria): Do not
3782         use PROPERTIES anymore.
3783         (connection-local-get-profiles): Rewrite, in order to accept any
3784         property as optional.  (Bug#32090)
3785         (connection-local-set-profiles):
3786         Adapt ´connection-local-normalize-criteria' call.
3788         * test/lisp/files-x-tests.el
3789         (files-x-test-connection-local-set-profiles)
3790         (files-x-test-hack-connection-local-variables-apply): Extend tests.
3792 2018-07-08  Paul Eggert  <eggert@cs.ucla.edu>
3794         Fix floating point exceptions on Alpha (Bug#32086)
3796         Backport from master.
3797         * admin/merge-gnulib (GNULIB_MODULES): Add fpieee.
3798         * m4/fpieee.m4: New file, copied from Gnulib.
3799         * m4/gnulib-comp.m4: Regenerate.
3801 2018-07-08  Paul Eggert  <eggert@cs.ucla.edu>
3803         Fix bootstrap infloop in GNU/Linux alpha
3805         * src/emacs.c (main): Do not re-exec if EMACS_HEAP_EXEC
3806         is already set (Bug#32083).
3808 2018-07-08  Eli Zaretskii  <eliz@gnu.org>
3810         Minor fix of a recent documentation change
3812         * lisp/net/gnutls.el (gnutls-algorithm-priority): Clarify the doc
3813         string.
3815 2018-07-08  Lars Ingebrigtsen  <larsi@gnus.org>
3817         Mention the NSM in the gnutls variable doc strings
3819         * lisp/net/gnutls.el (gnutls-algorithm-priority): Mention the Network
3820         Security Manager here since this variable is an obvious place
3821         for people concerned about network security to look.
3822         (gnutls-verify-error): Ditto.
3823         (gnutls-min-prime-bits): Ditto.
3825 2018-07-08  Michael Albinus  <michael.albinus@gmx.de>
3827         Remove test code from last commit
3829 2018-07-08  Michael Albinus  <michael.albinus@gmx.de>
3831         Fix Bug#32084
3833         * test/lisp/net/dbus-tests.el (dbus-test02-register-service-own-bus):
3834         Unset $DISPLAY when calling dbus-launch, in order to avoid
3835         possible X11 authentication errors.  (Bug#32084)
3837 2018-07-07  Basil L. Contovounesios  <contovob@tcd.ie>
3839         Fix (length NON-SEQUENCE) documentation
3841         Suggested by Eli Zaretskii <eliz@gnu.org> in the following threads:
3842         https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00171.html
3843         https://lists.gnu.org/archive/html/emacs-devel/2018-07/msg00206.html
3845         * doc/lispref/sequences.texi (Sequence Functions): Mention that
3846         'length' signals a 'wrong-type-argument' also when given a
3847         non-sequencep argument.
3849 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
3851         Fix bug #11732
3853         * src/w32fns.c (w32_wnd_proc): Fix handling of Windows input
3854         methods.  (Bug#11732)
3856 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
3858         Improve documentation of 'emacs-lock-mode'
3860         * lisp/emacs-lock.el (emacs-lock-mode): Mention in the doc string
3861         the special handling of some major modes due to
3862         'emacs-lock-unlockable-modes'.
3864 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
3866         * lisp/imenu.el (imenu-generic-expression): Doc fix.  (Bug#32016)
3868 2018-07-07  Eli Zaretskii  <eliz@gnu.org>
3870         Improve indexing of 'eval-defun' in ELisp manual
3872         * doc/lispref/display.texi (Defining Faces):
3873         * doc/lispref/debugging.texi (Explicit Debug):
3874         * doc/lispref/customize.texi (Variable Definitions):
3875         * doc/lispref/variables.texi (Defining Variables): Add index
3876         entries for 'eval-defun'.  (Bug#32066)
3878 2018-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3880         Fix (length CIRCULAR) documentation
3882         * doc/lispref/sequences.texi (Sequence Functions):
3883         Correct documentation of what (length X) does when
3884         X is a circular list.
3886 2018-07-06  Michael Albinus  <michael.albinus@gmx.de>
3888         Tramp editorials
3890         * doc/misc/tramp.texi (Android shell setup): Mention Termux.
3892         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
3893         Use proper spelling "Tramp" in docstring.
3895 2018-07-06  Eli Zaretskii  <eliz@gnu.org>
3897         Clarify and improve doc strings of 'eval-last-sexp' and friends
3899         * lisp/simple.el (eval-expression, eval-expression-print-format):
3900         * lisp/progmodes/elisp-mode.el (eval-last-sexp): Doc fixes.
3901         (Bug#32064)
3903 2018-07-06  Glenn Morris  <rgm@gnu.org>
3905         Automate upload of Emacs manuals to gnu.org
3907         * admin/make-manuals, admin/upload-manuals: New scripts.
3908         * admin/admin.el (make-manuals, make-manuals-dist): Handle batch mode.
3909         * admin/make-tarball.txt: Update web-page details.
3911 2018-07-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
3913         Fix MH-E mail composition with GNU Mailutils (SF#485)
3915         * lisp/mh-e/mh-comp.el (mh-bare-components): Recursively delete
3916         the temporary folder.
3918 2018-07-03  Eli Zaretskii  <eliz@gnu.org>
3920         Speed up 'replace-buffer-contents' some more
3922         * src/editfns.c (EXTRA_CONTEXT_FIELDS): New members beg_a and beg_b.
3923         (Freplace_buffer_contents): Set up ctx.beg_a and ctx.beg_b.
3924         (buffer_chars_equal): Use ctx->beg_a and ctx->beg_b instead of
3925         calling BUF_BEGV, which is expensive.  This speeds up the recipe
3926         in bug#31888 by 30%.
3928 2018-07-03  Glenn Morris  <rgm@gnu.org>
3930         * doc/emacs/docstyle.texi: Avoid messing up the html output.
3932         Previously the @hyphenation commands somehow caused the <head>
3933         section to go missing, with makeinfo 4.13 at least.
3935 2018-07-01  Paul Eggert  <eggert@cs.ucla.edu>
3937         * etc/HISTORY: Cite Brinkhoff on early history.
3939 2018-07-01  Martin Rudalics  <rudalics@gmx.at>
3941         Document internal use of 'above-suspended' z-group frame parameter
3943         * src/w32fns.c (w32_dialog_in_progress, x_set_z_group):
3944         * src/xterm.c (x_set_z_group): Clarify the internal use of
3945         'above-suspended' when setting a frame's 'z-group' parameter.
3947 2018-06-30  Gemini Lasswell  <gazally@runbox.com>
3949         Increase max-lisp-eval-depth adjustment while in debugger (bug#31919)
3951         * src/eval.c (call_debugger): Increase the amount of extra Lisp
3952         evaluation depth given to the debugger to allow it to call cl-print.
3953         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Add a comment
3954         to suggest updating call_debugger when changing print-level.
3956 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
3958         Improve on last change in replace-buffer-contents
3960         * src/editfns.c (Freplace_buffer_contents): Call modification
3961         hooks only for the actual region where changes are made.
3962         (Bug#31888)
3964 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
3966         Fix a factual error in Introduction to Emacs Lisp
3968         * doc/lispintro/emacs-lisp-intro.texi (Buffer Names): Update the
3969         key that exits the splash screen.  (Bug#32019)
3971 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
3973         Minor improvements in documentation of imenu.el
3975         * lisp/imenu.el (imenu-generic-skip-comments-and-strings)
3976         (imenu--generic-function): Doc fixes.  (Bug#31962)
3978 2018-06-30  Eli Zaretskii  <eliz@gnu.org>
3980         Avoid errors with recentering in 'skeleton-insert'
3982         * lisp/skeleton.el (skeleton-insert): Don't recenter if we are
3983         running in a buffer other than the one displayed in the selected
3984         window.  (Bug#31950)
3986 2018-06-29  Paul Eggert  <eggert@cs.ucla.edu>
3988         * src/lisp.h: Omit obsolete comment re bytecode stack.
3990 2018-06-29  Eli Zaretskii  <eliz@gnu.org>
3992         Speed up replace-buffer-contents
3994         * src/editfns.c (EXTRA_CONTEXT_FIELDS): Add a_unibyte and
3995         b_unibyte members.
3996         (rbc_quitcounter): New static variable.
3997         (Freplace_buffer_contents): Initialize a_unibyte, b_unibyte, and
3998         rbc_quitcounter.  Inhibit modification hooks if they were not
3999         already inhibited.  Use rarely_quit to allow user to quit, to
4000         avoid calling maybe_quit too frequently (which hurts performance).
4001         Remove redundant assertions (which hurt performance too much).
4002         Call signal_after_change and update_compositions after all the
4003         changes are done.
4004         (buffer_chars_equal): Remove redundant assertions (which hurt
4005         performance).  Avoid using BUF_FETCH_CHAR_AS_MULTIBYTE, which
4006         hurts performance by referencing Lisp symbols; instead, use
4007         lower-level macros with explicit tests to select which macro to
4008         use.  (Bug#31888)
4010 2018-06-27  Dmitry Gutov  <dgutov@yandex.ru>
4012         Remove extra process call from vc-git-find-file-hook
4014         * lisp/vc/vc-git.el (vc-git-find-file-hook): Resolve FIXMEs.
4016 2018-06-27  Dmitry Gutov  <dgutov@yandex.ru>
4018         Speed up vc-git-dir-status-files
4020         * lisp/vc/vc-git.el (vc-git-dir-status-goto-stage): Call 'git
4021         ls-files -u' for the ls-files-conflict stage
4022         (https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00885.html).
4024 2018-06-27  Eli Zaretskii  <eliz@gnu.org>
4026         Avoid compiler warning using coding.h
4028         * src/coding.h: Add INLINE_HEADER_BEGIN..INLINE_HEADER_END, since
4029         this header now has an extern INLINE function.
4031 2018-06-27  Michael Albinus  <michael.albinus@gmx.de>
4033         Sync with Tramp 2.3.4.  Do not merge with master
4035         * doc/misc/trampver.texi:
4036         * lisp/net/trampver.el: Change version to "2.3.4".
4038         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
4039         Check, that the directory has been removed indeed.
4041         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Adapt test.
4042         (tramp--test-emacs25-p): New defun.
4043         (tramp-test34-vc-registered): Use it.
4045 2018-06-27  Martin Rudalics  <rudalics@gmx.at>
4047         * src/xdisp.c (Vmouse_autoselect_window): Clarify doc-string (Bug#31975)
4049 2018-06-26  Noam Postavsky  <npostavs@gmail.com>
4051         Detect a non-list package archive content properly (Bug#22311)
4053         * lisp/emacs-lisp/package.el (package--download-one-archive): Use
4054         `read' instead of `read-from-string'; the latter always returns a
4055         cons, so the `listp' check on its return value doesn't make sense.  It
4056         was changed from `read' to `read-from-string' in 2015-04-01 "*
4057         emacs-lisp/package.el: Implement asynchronous refreshing", but that
4058         change was not needed because `read' works fine on strings as well as
4059         buffers.
4061 2018-06-25  Christophe Junke  <junke.christophe@gmail.com>  (tiny change)
4063         Add ido-fallback special variable (Bug#31707)
4065         Before ido.el switch to lexical-binding, it was possible for other
4066         packages to modify the 'fallback' variables declared inside
4067         'ido-file-internal' and 'ido-buffer-internal'.
4068         * lisp/ido.el (ido-fallback): New variable.
4069         (ido-buffer-internal, ido-file-internal): Reset ido-fallback to nil
4070         before prompting user.  Use ido-fallback when ido-exit is 'fallback'.
4071         (ido-fallback-command): Add optional FALLBACK-COMMAND argument.
4073 2018-06-25  Karl Fogel  <kfogel@red-bean.com>
4075         Tighten a cross-reference in documentation
4077         * doc/lispref/internals.texi (Writing Emacs Primitives): Switch to
4078           a simple parenthetical cross-reference, following up to my
4079           commit 9a53b6d426 of 2018-06-24.
4081         See discussion:
4083           https://lists.gnu.org/archive/html/emacs-devel/2018-06/msg00826.html
4084           From: Eli Zaretskii
4085           Subject: Re: [Emacs-diffs] \
4086                    emacs-26 9a53b6d: Say how to override a primitive interactive spec
4087           To: Karl Fogel
4088           CC: Stefan Monnier, Emacs Devel
4089           Date: Mon, 25 Jun 2018 17:41:53 +0300
4090           Message-Id: <83r2kvrkr2.fsf@gnu.org>
4092 2018-06-25  Michael Albinus  <michael.albinus@gmx.de>
4094         Fix last change in tramp-sh.el
4096         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-directly):
4097         Use "-R" rather than "-r" for recursive copy of directories.
4099 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
4101         Revert previous patch; comment was OK after all.
4103 2018-06-24  Paul Eggert  <eggert@cs.ucla.edu>
4105         Fix lead comment for count_trailing_zero_bits
4107         * src/data.c (count_trailing_zero_bits): Fix comment to match code.
4109 2018-06-24  Noam Postavsky  <npostavs@gmail.com>
4111         * lisp/emacs-lisp/regexp-opt.el (regexp-opt): Fix docstring quotes.
4113 2018-06-24  Simen Heggestøyl  <simenheg@gmail.com>
4115         Make a minor update to the CSS mode docstring
4117         * lisp/textmodes/css-mode.el (css-mode): Mention 'fill-paragraph'.
4119 2018-06-24  Karl Fogel  <kfogel@red-bean.com>
4121         Say how to override a primitive interactive spec
4123         * doc/lispref/internals.texi (Writing Emacs Primitives): Mention that
4124           the `interactive-form' property can be used to override a primitive
4125           interactive specification, and refer to the detailed documentation
4126           for setting that property.
4128         From this thread on Emacs Devel:
4130           https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00923.html
4131           From: Eli Zaretskii
4132           To: Karl Fogel
4133           CC: Juri Linkov, Emacs Devel
4134           Subject: Re: [Emacs-diffs] \
4135                    master b88e7c8: Make transpose-regions interactive (Bug#30343)
4136           Date: Thu, 29 Mar 2018 14:38:15 +0300
4137           Message-Id: <834lkzdsd4.fsf@gnu.org>
4139 2018-06-24  Michael Albinus  <michael.albinus@gmx.de>
4141         Fix Bug#31941
4143         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): In case of
4144         FILENAME being a directory, check whether `copy-directory' could
4145         be avoided.  Suggested by Stephen Nutt <stnutt@gmail.com>.  (Bug#31941)
4146         (tramp-do-copy-or-rename-file-directly): Call "cp" with "-r".
4148 2018-06-23  Leo Liu  <sdl.web@gmail.com>
4150         Fix previous change in minibuffer-default-add-dired-shell-commands
4152         The mailcap minibuffer completion used dynamic binding.  Locally set
4153         a dynamic variable.
4154         * lisp/dired-aux.el (minibuffer-default-add-dired-shell-commands):
4155         Store list of files in 'minibuffer-completion-table'.  (Bug#31794)
4157 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
4159         * src/editfns.c (Fformat): Make %x easier to spot in doc string.  (Bug#31945)
4161 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
4163         Improve responsiveness while in 'replace-buffer-contents'
4165         * src/editfns.c (buffer_chars_equal): Avoid calling
4166         buf_charpos_to_bytepos when the buffer is plain-ASCII.
4167         Suggested by Milan Stanojević <mstanojevic@janestreet.com>.
4168         Call maybe_quit to improve responsiveness.
4169         (Freplace_buffer_contents): Call maybe_quit.  Warn in the doc
4170         string that the function could be slow.  (Bug#31888)
4172 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
4174         Improve documentation of 'server-start' and friends
4176         * lisp/server.el (server-start, server-running-p): Document how to
4177         reliably check that the current Emacs process started the server.
4178         (Bug#31859)
4180 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
4182         Clarify wording about functions' argument lists
4184         * doc/lispref/functions.texi (Argument List): Clarify the
4185         wording.  (Bug#31872)
4187 2018-06-23  Eli Zaretskii  <eliz@gnu.org>
4189         * lisp/doc-view.el: Fix typos in the commentary.  (Bug#31937)
4191 2018-06-22  Eli Zaretskii  <eliz@gnu.org>
4193         Fix a typo in emacs-lisp-intro.texi
4195         * doc/lispintro/emacs-lisp-intro.texi (kill-ring-yank-pointer):
4196         Add a missing quote.  Reported by Jean-Christophe Helary
4197         <brandelune@gmail.com> in emacs-devel.
4199 2018-06-22  Paul Eggert  <eggert@cs.ucla.edu>
4201         Fix doc typo: missing double-quote
4203 2018-06-22  Eli Zaretskii  <eliz@gnu.org>
4205         Avoid segfaults in replace-buffer-contents with large buffers
4207         * src/editfns.c (Freplace_buffer_contents): Don't release
4208         malloc'ed memory as long as we are using it.  (Bug#31888)
4210 2018-06-22  Robert Pluim  <rpluim@gmail.com>
4212         Adjust for scaling for mode-line popup menus (Bug#31880)
4214         * src/xmenu.c (menu_position_func) [HAVE_GTK3]: Take scaling
4215         into account when calculating screen size.
4217 2018-06-21  Simen Heggestøyl  <simenheg@gmail.com>
4219         Change name of `seqp' argument (Bug#26411)
4221         * lisp/emacs-lisp/seq.el (seqp): Change argument name.
4223         * doc/lispref/sequences.texi: Update the documentation for seqp.
4225 2018-06-20  Noam Postavsky  <npostavs@gmail.com>
4227         Change index of ";" to better reflect it's usage (Bug#31623)
4229         * doc/lispref/objects.texi (Comments): "; for commenting" fits better
4230         with the following text about how a semicolon begins a comment.  Also
4231         mention that only unescaped semicolons start a comment.
4233 2018-06-20  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
4235         Fix bug of 'mouse-drag-and-drop-region' to detect edges of region (Bug#31905)
4237         * lisp/mouse.el (mouse-drag-and-drop-region): Detect both the
4238         beginning and the end of character of region during dragging
4239         text.
4241 2018-06-19  Noam Postavsky  <npostavs@gmail.com>
4243         Fix #'fun handling inside `labels' (Bug#31792)
4245         * lisp/emacs-lisp/cl.el (labels): Apply the equivalent of the
4246         cl-labels change from 2015-01-16 "* lisp/emacs-lisp/cl-macs.el: Fix
4247         last change".
4248         * test/lisp/emacs-lisp/cl-tests.el (labels-function-quoting): New
4249         test.
4250         * lisp/emacs-lisp/cl-macs.el (cl-flet, cl-labels): Improve docstring,
4251         link to relevant manual page.
4252         * doc/misc/cl.texi (Function Bindings): Don't imply that function
4253         cells of symbols are modified by cl-flet.  Don't claim that cl-flet or
4254         cl-labels affect references of the form (quote FUNC).
4256 2018-06-18  Eli Zaretskii  <eliz@gnu.org>
4258         Fix vertical-motion with 'visual' line-number display
4260         * src/indent.c (Fvertical_motion): Don't exempt 'visual' sty;e of
4261         line-number display from X coordinate adjustments.  (Bug#31875)
4263 2018-06-17  Alan Third  <alan@idiocy.org>
4265         Handle NSAttributedString inputs (bug#29837)
4268         * src/nsterm.m (EmacsView::insertText): Handle NSAttributedString.
4270 2018-06-17  Philipp Stephani  <phst@google.com>
4272         Allow inserting non-BMP characters
4274         * src/coding.h (UTF_16_HIGH_SURROGATE_P, UTF_16_LOW_SURROGATE_P): Move
4275         from coding.c and document.
4276         (surrogates_to_codepoint): New function.
4278         * src/nsterm.m (insertText:): Properly handle surrogate pairs.
4280         (cherry picked from commit 703ac3ea1c1ce381f385469a0e88bc29d3fe83c2)
4282 2018-06-17  Aaron Jensen  <aaronjensen@gmail.com>
4284         Prevent errant scroll on mouse click (Bug#31546)
4286         * src/nsterm.m (ns_mouse_position): Use correct frame when determining
4287           mouse position.
4288         * lisp/mouse.el (mouse-drag-track): Only account for mode-line height
4289           if `mode-line-format' is non-nil.
4291 2018-06-17  Eli Zaretskii  <eliz@gnu.org>
4293         Minor documentation fix
4295         * doc/lispref/windows.texi (Window Start and End): Improve
4296         documentation and indexing of window-end.
4298 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
4300         * lisp/window.el (window-toggle-side-windows): Doc fix.  (Bug#31858)
4302 2018-06-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
4304         Fix byte compilation of (eq foo 'default)
4306         Backport from master.
4307         Do not use the symbol ‘default’ as a special marker.
4308         Instead, use a value that cannot appear in the program,
4309         improving on a patch proposed by Robert Cochran (Bug#31718#14).
4310         * lisp/emacs-lisp/bytecomp.el (byte-compile--default-val):
4311         New constant.
4312         (byte-compile-cond-jump-table-info)
4313         (byte-compile-cond-jump-table): Use it instead of 'default.
4314         * test/lisp/emacs-lisp/bytecomp-tests.el:
4315         (byte-opt-testsuite-arith-data): Add a test for the bug.
4317 2018-06-16  Michael Albinus  <michael.albinus@gmx.de>
4319         Fix Bug#31846.  Do not merge with master
4321         * lisp/net/secrets.el (secrets-search-items)
4322         (secrets-create-item): Fix format of :dict-entry values.  (Bug#31846)
4324 2018-06-16  Eli Zaretskii  <eliz@gnu.org>
4326         Fix documentation of ':propertize' in mode-line-format
4328         * doc/lispref/modes.texi (Mode Line Data): Make the description of
4329         ':propertize' more accurate.  (Bug#26291)
4331 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
4333         Reject invalid 5-byte sequences when detecting UTF-8 encoding
4335         * src/coding.c (detect_coding_utf_8): Reject multibyte sequences
4336         whose leading byte is greater than MAX_MULTIBYTE_LEADING_CODE.
4337         (Bug#31829)
4338         * src/character.h (MAX_MULTIBYTE_LEADING_CODE): Add commentary
4339         about the connection between the value of this macro and MAX_CHAR.
4341 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
4343         Fix 'replace-buffer-contents' in multibyte buffers
4345         * src/editfns.c (buffer_chars_equal): Pass a byte position to
4346         BUF_FETCH_CHAR_AS_MULTIBYTE, not a character position.
4347         (Bug#31837)
4349         * test/src/editfns-tests.el (replace-buffer-contents-bug31837):
4350         New test.
4352 2018-06-15  Robert Pluim  <rpluim@gmail.com>
4354         Update etc/NEWS for mail-source-movemail-program change
4356         * etc/NEWS: Describe change in how we search for
4357         mail-source-movemail-program.
4359 2018-06-15  Robert Pluim  <rpluim@gmail.com>
4361         Improve movemail default
4363         * lisp/gnus/mail-source.el (mail-source-movemail-program):
4364         Change default to "movemail".
4365         (mail-source-movemail): Pass just mail-source-movemail-program to
4366         call-process instead of fully specifying it relative to
4367         exec-directory.  Ensures that we will find Mailutils movemail if
4368         it is installed.  (Bug#31737)
4370 2018-06-15  Eli Zaretskii  <eliz@gnu.org>
4372         Delete description of deleted Customize functions
4374         * doc/lispref/customize.texi (Variable Definitions): Remove the
4375         description of 'custom-initialize-safe-set' and
4376         'custom-initialize-safe-default', which were deleted in Emacs
4377         23.2, and replace with the description of
4378         'custom-initialize-delay'.
4380 2018-06-14  Noam Postavsky  <npostavs@gmail.com>
4382         Keep vc-print-log from putting point at buffer end (Bug#31764)
4384         * lisp/vc/vc.el (vc-print-log-internal): Use `save-excursion' around
4385         `vc-print-log-setup-buttons'.
4387 2018-06-14  Paul Eggert  <eggert@cs.ucla.edu>
4389         Don’t set EMACS=t if Bash is 4.4 or newer
4391         (Backport from master.)
4392         (Thanks to Stefan Monnier for improvements to this patch.)
4393         * lisp/term.el (term--bash-needs-EMACS-status): New var.
4394         (term--bash-needs-EMACSp): New function.
4395         (term-exec-1): Use it instead of always setting EMACS.
4397 2018-06-14  Eli Zaretskii  <eliz@gnu.org>
4399         Improve commentary in info.el
4401         * lisp/info.el: Explain in commentary why some commands start with
4402         "info-" and others with "Info-".  See also
4403         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00482.html.
4405 2018-06-13  Michael Albinus  <michael.albinus@gmx.de>
4407         Fix wording in tramp.texi
4409         * doc/misc/tramp.texi (Frequently Asked Questions):
4410         Fix wording for abbreviations.
4412 2018-06-13  Michael Albinus  <michael.albinus@gmx.de>
4414         * doc/misc/tramp.texi (Remote shell setup): Fix typo.
4416 2018-06-12  Sam Steingold  <sds@gnu.org>
4418         Finish the Bug#11728 work: hg & git
4420         * lisp/vc/vc-git.el (vc-git--pushpull): Make `extra-args' a list.
4421         Do not set `compilation-error-regexp-alist', this is done in
4422         `vc-compilation-mode'.
4423         (vc-git-error-regexp-alist): Tweak the regexp.
4424         * lisp/vc/vc-hg.el (vc-hg-error-regexp-alist): Make non-trivial.
4425         (vc-hg--pushpull): Accept `post-processing' argument.
4426         Call them after the `command'.
4427         (vc-hg-pull): Pass the `post-processing' commands that show which
4428         are to be modified by the `update', and then run `update'.
4430 2018-06-12  Sam Steingold  <sds@gnu.org>
4432         Fix Bug#11728: show files updated by git
4434         * lisp/vc/vc-git.el (vc-git--pushpull): Accept extra-args and set
4435         `compilation-error-regexp-alist' to `vc-git-error-regexp-alist'.
4436         (vc-git-pull): Pass "--stat" as `extra-args' to `vc-git--pushpull'.
4437         (vc-git-push): Pass "" as `extra-args' to `vc-git--pushpull'.
4439 2018-06-12  Noam Postavsky  <npostavs@gmail.com>
4441         Make 'tags' targets respect --with-silent-rules (Bug#31744)
4443         * lwlib/Makefile.in (TAGS):
4444         * lisp/Makefile.in (TAGS):
4445         * src/Makefile.in (TAGS): Use AM_V_GEN and AM_V_at.
4446         * src/Makefile.in: Note that TAGS are generated in build dir.
4448 2018-06-11  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
4449             Noam Postavsky  <npostavs@gmail.com>
4451         soap-client: Add byte-code compatibility function (Bug#31742)
4453         * lisp/net/soap-client.el: Bump version to 3.1.4.
4454         (soap-type-of): New function.
4455         (soap-resolve-references, soap-decode-type)
4456         (soap-encode-attributes, soap-encode-value): Replace aref
4457         calls with calls to soap-type-of.
4459         * lisp/net/soap-inspect.el (soap-sample-value, soap-inspect):
4460         Replace aref calls with calls to soap-type-of.
4463         Backport: (cherry picked from commit
4464         1feb2e221349f26ec26bc684e0cce2acecbed3ca)
4466 2018-06-11  Eli Zaretskii  <eliz@gnu.org>
4468         * doc/lispref/files.texi (Unique File Names): Fix a typo.  (Bug#31784)
4470 2018-06-10  Noam Postavsky  <npostavs@gmail.com>
4472         Fix term.el cursor movement at bottom margin (Bug#31690)
4474         * lisp/term.el (term-handle-ansi-escape) <\E[B cud>: Allow moving the
4475         cursor to the bottom margin line, rather than stopping one line
4476         before.
4478 2018-06-10  Reuben Thomas  <rrt@sc3d.org>
4480         Call enchant-lsmod correctly when Enchant is installed with a suffix
4482         * lisp/textmodes/ispell.el (ispell--call-enchant-lsmod): Cope with a
4483         version suffix on the binary name, so enchant-2 is converted to
4484         enchant-lsmod-2, not enchant-2-lsmod.  (Bug#31761)
4486         (cherry picked from commit a402d9aacbecf4bf0b9afde592a3b90c71f96832)
4488 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
4490         Enlarge DUMPED_HEAP_SIZE for 64-bit Windows builds
4492         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump to 23MB.  Reported by
4493         Andy Moreton <andrewjmoreton@gmail.com>.
4495 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
4497         Update Unicode data files to version 11.0.0 of Unicode
4499         * admin/unidata/UnicodeData.txt:
4500         * admin/unidata/SpecialCasing.txt:
4501         * admin/unidata/NormalizationTest.txt:
4502         * admin/unidata/copyright.html:
4503         * admin/unidata/BidiMirroring.txt:
4504         * admin/unidata/BidiBrackets.txt: Import from Unicode 11.0.
4505         * admin/notes/unicode: Update the URL for OTF script tags.
4507         * lisp/international/mule-cmds.el (ucs-names): Update unused ranges.
4508         * lisp/international/fontset.el (script-representative-chars): Add
4509         hanifi-rohingya, old-sogdian, sogdian, dogra, gunjala-gondi,
4510         makasar, and medefaidrin.
4511         (otf-script-alist): Add old-hungarian.
4512         * lisp/international/characters.el (tbl): Add syntax entries for
4513         Supplemental Mathematical Operators, Miscellaneous Symbols and
4514         Arrows, and Supplemental Punctuation.
4515         Update the list of wide characters.
4517         * test/lisp/international/ucs-normalize-tests.el
4518         (ucs-normalize-tests--failing-lines-part2): Update to match
4519         admin/unidata/NormalizationTest.txt.
4521         * doc/lispref/nonascii.texi (Character Properties): Update the
4522         reference to the Unicode Standard.
4523         * doc/misc/efaq.texi (New in Emacs 26):
4524         * etc/NEWS: Mention compatibility with Unicode 11.0.
4526 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
4528         * etc/NEWS: Belatedly call out vc-hg changes in v26.1.  (Bug#31759)
4530 2018-06-09  Eli Zaretskii  <eliz@gnu.org>
4532         Clarify the documentation of 'dired-recursive-deletes'
4534         * doc/emacs/dired.texi (Dired Deletion): Clarify text regarding
4535         recursive deletion of non-empty directories.  (Bug#31529)
4537 2018-06-08  Eli Zaretskii  <eliz@gnu.org>
4539         Clarify doc string of 'update-glyphless-char-display'
4541         * lisp/international/characters.el
4542         (update-glyphless-char-display): Doc fix.  (Bug#31730)
4544 2018-06-08  Eli Zaretskii  <eliz@gnu.org>
4546         Clarify subtle issues with 'eq' in byte-compiled code
4548         * doc/lispref/objects.texi (Equality Predicates): Explain why
4549         byte-compiled code might compare literal objects with identical
4550         contents as 'eq'.  (Bug#31688)
4552 2018-06-07  Gemini Lasswell  <gazally@runbox.com>
4554         Make cl-print respect print-quoted (bug#31649)
4556         * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Observe
4557         print-quoted when printing quote and its relatives.  Add printing of
4558         'function' as #'.
4560 2018-06-07  Martin Rudalics  <rudalics@gmx.at>
4562         Fix unexpected jumps of window-point in 'set-window-configuration' (Bug#31695)
4564         * src/window.c (Fset_window_configuration): Prevent that the
4565         fix for Bug#12208 affects restoration of window points when
4566         using separate minibuffer frames (Bug#31695).
4568 2018-06-06  Nicolas Petton  <nicolas@petton.fr>
4570         * etc/emacs.appdata.xml: Update Emacs screenshot.
4572 2018-06-06  Eli Zaretskii  <eliz@gnu.org>
4574         Fix cursor movement by 'next-logical-line' after 'next-line'
4576         * src/indent.c (Fvertical_motion): Adjust TO_X when line-numbers
4577         are being displayed.  Remove unneeded "correction" of TO_X at the
4578         goal line.
4580         * lisp/simple.el (last--line-number-width): Remove unneeded
4581         variable.
4582         (line-move-visual): Account for line-number display width by
4583         adjusting the pixel X coordinate that gets converted into
4584         canonical columns passed to vertical-motion, instead of adjusting
4585         temporary-goal-column (which then affects next commands, including
4586         next-logical-line).  (Bug#31723)
4588 2018-06-05  Allen Li  <darkfeline@felesatra.moe>
4590         Fix prompt in bookmark.el (Bug#24726)
4592         * lisp/bookmark.el (bookmark-set-internal): Conform to the standard
4593         default prompt format (per `minibuffer-electric-default-mode') which
4594         does not use a colon.
4596 2018-06-05  Basil L. Contovounesios  <contovob@tcd.ie>
4598         Improve documentation of 'empty' whitespace-style
4600         * doc/emacs/display.texi (Useless Whitespace): Clarify that the
4601         'empty' whitespace-style option highlights empty lines only at
4602         BOB/EOB, as per the docstring of whitespace-style. (bug#31713)
4604 2018-06-05  Paul Eggert  <eggert@cs.ucla.edu>
4606         Port FC_COLOR change to older fontconfig
4608         Problem reported by John ff in:
4609         https://lists.gnu.org/r/emacs-devel/2018-04/msg00058.html
4610         * src/ftfont.c (ftfont_spec_pattern) [!FC_COLOR]:
4611         Don’t use FC_COLOR on older fontconfigs that don’t have it.
4613 2018-06-05  Robert Pluim  <rpluim@gmail.com>
4615         Ignore color fonts when using Xft
4617         * src/font.c (syms_of_font): New configuration variable
4618         xft-ignore-color-fonts, default t.
4619         * src/ftfont.c (ftfont_spec_pattern): Tell fontconfig to ignore
4620         color fonts if xft-ignore-color-fonts is t.  (Bug#30874, Bug#30045)
4621         * etc/NEWS: Document xft-ignore-color-fonts.
4623 2018-06-04  Noam Postavsky  <npostavs@gmail.com>
4625         Fix comint-get-old-input-default for output field case (Bug#25028)
4627         * lisp/comint.el (comint-get-old-input-default): Don't return whole
4628         field when point was on an output field.
4630 2018-06-04  Eli Zaretskii  <eliz@gnu.org>
4632         Prevent infloop in 'delete-trailing-whitespace'
4634         * lisp/simple.el (delete-trailing-whitespace): Avoid inflooping
4635         when some region of trailing whitespace is unmodifiable.
4636         (Bug#31557)
4638 2018-06-04  Gemini Lasswell  <gazally@runbox.com>
4640         Make cl-print respect print-level and print-length (bug#31559)
4642         * lisp/emacs-lisp/cl-print.el (cl-print--depth): New variable.
4643         (cl-print-object) <cons>: Print ellipsis if printing depth greater
4644         than 'print-level' or length of list greater than 'print-length'.
4645         (cl-print-object) <vector>: Truncate printing with ellipsis if
4646         vector is longer than 'print-length'.
4647         (cl-print-object) <cl-structure-object>: Truncate printing with
4648         ellipsis if structure has more slots than 'print-length'.
4649         (cl-print-object) <:around>: Bind 'cl-print--depth'.
4650         * test/lisp/emacs-lisp/cl-print-tests.el
4651         (cl-print-tests-3, cl-print-tests-4): New tests.
4653         (cherry picked from commit 0f48d18fd2a30f29cc3592a835d2a2254c9b0afb)
4655 2018-06-03  Phil Sainty  <psainty@orcon.net.nz>
4657         Fix remote-host directory tracking for shells in `term' buffers
4659         * lisp/term.el (term-handle-ansi-terminal-messages): Use an explicit
4660         tramp method when constructing the tramp path for a non-local host,
4661         as this is now mandatory.  "-" is a pseudo-method for the user's
4662         `tramp-default-method'.  (Bug#31355)
4664         Specify the remote username explicitly in all cases, as
4665         `tramp-default-user' and `tramp-default-user-alist' could cause the
4666         previous logic to fail.
4668         Minor related improvements to the commentary.
4670 2018-06-03  Eli Zaretskii  <eliz@gnu.org>
4672         Update doc string of 'rx'
4674         * lisp/emacs-lisp/rx.el (rx): Update the description of some
4675         character classes.
4677 2018-06-03  Stefan Monnier  <monnier@iro.umontreal.ca>
4679         Fix bug#30846, along with misc cleanups found along the way
4681         * test/src/data-tests.el (data-tests-kill-all-local-variables): New test.
4683         * src/buffer.c (swap_out_buffer_local_variables): Remove.
4684         Fuse the body of its loop into that of reset_buffer_local_variables.
4685         (Fkill_buffer, Fkill_all_local_variables): Don't call it any more.
4686         (reset_buffer_local_variables): Make sure the buffer's local binding
4687         is swapped out before removing it from the alist (bug#30846).
4688         Call watchers before actually killing the var.
4690         * src/data.c (Fmake_local_variable): Simplify.
4691         Use swap_in_global_binding to swap out any local binding, instead of
4692         a mix of find_symbol_value followed by messing with where&found.
4693         Don't call swap_in_symval_forwarding since the currently swapped
4694         binding is never one we've modified.
4695         (Fkill_local_variable): Use swap_in_global_binding rather than messing
4696         with where&found to try and trick find_symbol_value into doing the same.
4698         * src/alloc.c (mark_localized_symbol): 'where' can't be a frame any more.
4700         (cherry picked from commit 3ddff080341580eb6fc18d907181e9cc2301f62d)
4702 2018-06-03  Jay Kamat  <jaygkamat@gmail.com>
4704         esh-opt.el: Fix improper parsing of first argument (Bug#28323)
4706         Examples of broken behavior:
4708             sudo -u root whoami
4709             Outputs: -u
4710             ls -I '*.txt' /dev/null
4711             Errors with: *.txt: No such file or directory
4713         * lisp/eshell/esh-opt.el (eshell--process-args): Refactor usage of
4714         args to eshell--args, as we rely on modifications from
4715         eshell--process-option and vice versa.  These modifications were not
4716         being propogated in the (if (= ai 0)) case, since popping the first
4717         element of a list doesn't destructively modify the underlying list
4718         object.
4720         (cherry picked from commit 92a8230e49a65be48442ee95cf50c90514e48f99)
4722 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
4724         * lisp/epa.el (epa-decrypt-file): Apply epa-pinentry-mode (Bug#30363).
4726         (cherry picked from commit 217202c084232f36d4fa0fead0f3aca21396d074)
4728 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
4730         Fix cl-print for circular sublists (Bug#31146)
4732         * lisp/emacs-lisp/cl-print.el (cl-print-object) <cons>: Push each
4733         element of list being printed onto cl-print--currently-printing.
4734         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle-2): New
4735         test.
4737         (cherry picked from commit b8aa7ecf54c9b164a59f1b0e9f9fe90531dadd20)
4739 2018-06-03  Lars Ingebrigtsen  <larsi@gnus.org>
4741         Revert "Make mail-extract-address-components return the user name more"
4743         This reverts commit 8b50ae8b2284b5652c2843a9d0d076f4f657be28.
4745         According to tests in bug#27656 by OGAWA Hirofumi, this patch
4746         led to wrong results when binding
4748         (dolist (addr '("Rasmus <rasmus@gmx.us>" "Rasmus <mbox@gmx.us>"))
4749           (dolist (ignore-single '(t nil))
4750             (dolist (ignore-same '(t nil))
4751               (let ((mail-extr-ignore-single-names ignore-single)
4752                     (mail-extr-ignore-realname-equals-mailbox-name ignore-same))
4753                 (message "%s" (mail-extract-address-components addr))))))
4755         in combination.
4757         (cherry picked from commit a3a9d5434d56f8736cc47e379a1d011d4c779b7c)
4759 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
4761         Centralize Bug#30931 fix
4763         * src/marker.c (detach_marker): New function.
4764         * src/editfns.c (save_restriction_restore):
4765         * src/insdel.c (signal_before_change): Use it.
4767         (cherry picked from commit 6f66a43d7ad6cada2b7dbb6d07efe36be1dc7ecb)
4769 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
4771         Fix another case of freed markers in the undo-list (Bug#30931)
4773         * src/alloc.c (free_marker): Remove.
4774         * src/editfns.c (save_restriction_restore):
4775         * src/insdel.c (signal_before_change): Detach the markers from the
4776         buffer when we're done with them instead of calling free_marker on
4777         them.
4778         * test/src/editfns-tests.el (delete-region-undo-markers-1)
4779         (delete-region-undo-markers-2): New tests.
4781         (cherry picked from commit 96b8747d5c5d747af13fd84d8fe0308ef2a0ea7a)
4783 2018-06-03  Paul Eggert  <eggert@cs.ucla.edu>
4785         Fix CHECK_ALLOCATED_AND_LIVE abort during GC
4787         * src/editfns.c (save_restriction_restore):
4788         Wait for the GC to free the temporary markers (Bug#30931).
4790         (cherry picked from commit 670f2ffae718046c0fb37313965a51c040ed096f)
4792 2018-06-03  Noam Postavsky  <npostavs@gmail.com>
4794         Don't wait for visible frames to become visible
4796         For discussion, see thread starting at
4797         https://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00807.html.
4798         * src/xterm.c (x_make_frame_visible): Check FRAME_VISIBLE_P before
4799         calling x_wait_for_event.
4801         (cherry picked from commits 2a192e21cf3b04b7f830b4971c1508c611e13a3c
4802         and 00c1f771f2a51ffa675ec5a07ea330f2605cd302)
4804 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
4806         query-replace undo: Handle when user edits the replacement string
4808         * lisp/replace.el (perform-replace): Update the replacement string
4809         after the user edit it (Fix Bug#31538).
4811         * test/lisp/replace-tests.el (query-replace-undo-bug31538): New test.
4813         Backport: (cherry picked from commits
4814         ea133e04f49afa7928e49a3ac4a85b47f6f13f01
4815         and
4816         7dcfdf5b14325ae7996f272f14c72810d7c84944)
4818 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
4820         Backport: Fix corner case in query-replace-regexp undo
4822         This commit fixes Bug#31492.
4823         * lisp/replace.el (replace-match-maybe-edit): Preserve match data.
4825         * test/lisp/replace-tests.el (query-replace-undo-bug31492): Add test.
4827         (cherry picked from commit bab73230d1be1fe394b7269c1365ef6fb1a5d9b3)
4829 2018-06-03  Tino Calancha  <tino.calancha@gmail.com>
4831         Backport: Preserve case in query-replace undo
4833         If the user query and replaces 'foo' with 'BAR', then
4834         undo must comeback to 'foo', not to 'FOO' (Bug#31073).
4835         * lisp/replace.el (perform-replace): Bind nocasify to non-nil
4836         value during undo/undo-all actions.
4837         * test/lisp/replace-tests.el (query-replace-undo-bug31073): Add test.
4839         (cherry picked from commit 32dc0cb1b5ae895d237c7118ccaeb084715934fd)
4841 2018-06-02  Alan Third  <alan@idiocy.org>
4843         Set accessibility subroles for child frame (bug#31324)
4846         * src/nsterm.m (x_set_parent_frame): Set subrole depending on whether
4847         frame is a child or not.
4849 2018-06-02  Alan Third  <alan@idiocy.org>
4851         Fix redefinition of child frames on NS
4853         * src/nsterm.m (x_set_parent_frame): If the NSWindow has an existing
4854         parent frame, remove it.
4856 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4858         Improve ELisp documentation of 'clone-indirect-buffer'
4860         * doc/lispref/buffers.texi (Indirect Buffers): Be more explicit
4861         about the value of DISPLAY-FLAG in interactive usage.  (Bug#31648)
4863 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4865         Improve documentation of 'inhibit-message'
4867         * src/xdisp.c (syms_of_xdisp) <inhibit-message>: Warn against
4868         setting it non-nil globally.  (Bug#31627)
4870 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4872         Improve documentation of comment styles
4874         * doc/lispref/syntax.texi (Syntax Flags): Define the "a" style.
4875         (Bug#31624)
4877 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4879         Documentation improvements in newcomment.el
4881         * lisp/newcomment.el (uncomment-region)
4882         (uncomment-region-default): Doc fixes.  (Bug#31615)
4884 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4886         Imp[rove documentation of 'with-silent-modifications'
4888         * doc/lispref/buffers.texi (Buffer Modification): Document
4889         'with-silent-modifications'.  (Bug#31613)
4890         * doc/lispref/text.texi (Changing Properties): Add a
4891         cross-reference to "Buffer Modification".  Improve wording.
4893 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4895         Fix decoding of directories when "~" includes non-ASCII chars
4897         * src/fileio.c (Fexpand_file_name): Don't build multibyte strings
4898         from unibyte non-ASCII strings when NAME and DEFAULT_DIRECTORY
4899         have different multibyteness, as this adds bytes to the byte
4900         sequence, and in some situations, e.g., when the home directory
4901         includes non-ASCII characters, can fail file APIs.  (Bug#30755)
4903         * lisp/startup.el (normal-top-level): Make sure default-directory
4904         is set to a multibyte string when decoded on MS-Windows.
4906         (cherry picked from commit 3aab8626ba5080bb04d0fdae52d99c850a842a52)
4908 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4910         Don't remove highlight of misspelled word on pdict save
4912         * lisp/textmodes/ispell.el (ispell-pdict-save): Don't restart
4913         flyspell-mode, as bug#11963, which this was supposed to fix, is
4914         fixed better by ispell-command-loop, when the user types 'i' or
4915         'a'.  Restarting Flyspell mode when the personal dictionary is
4916         saved caused bug#31372 as side effect.
4917         (ispell-command-loop): Test 'flyspell-mode', not whether
4918         flyspell-unhighlight-at is fboundp, to determine whether Flyspell
4919         mode is turned on in the current buffer.
4920         (flyspell-unhighlight-at): Add declare-function form for it.
4922         (cherry picked from commit 91e582a31ada28fab5ae55bdbf959a9d30796587)
4924 2018-06-02  Ari Roponen  <ari.roponen@gmail.com>
4926         Fix some problems in the Cairo build
4928         * src/xterm.c (x_begin_cr_clip): Create image surface.
4929         (x_update_end) [USE_CAIRO]: Remove GTK3-specific code.
4930         (x_scroll_run) [USE_CAIRO]: Implement scrolling.
4931         * src/image.c (lookup_rgb_color) [USE_CAIRO]: Support Cairo.
4932         (jpeg_load_body) [USE_CAIRO]: Support Cairo.  Use USE_CAIRO
4933         instead of CAIRO for #ifdef's.
4934         (imagemagick_load_image) [USE_CAIRO]: Support Cairo.
4935         (Bug#31288)
4937         (cherry picked from commit 2d0eff42b8f1122e00f948759ed01a3be1a8c3fc)
4939 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4941         Avoid infloops in font_open_entity
4943         * src/font.c (font_open_entity): Fail after 15 iterations through
4944         the loop that looks for a font whose average_width and height are
4945         both positive.  This avoids infinite loops for fonts that, e.g.,
4946         report average_width of zero for any possible size we try.
4947         (Bug#31316)
4949         (cherry picked from commit e2879c1f837059335af89022b2a9ac9bc861e96d)
4951 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4953         Fix encoding of characters when using GB18030 fonts
4955         * lisp/international/fontset.el (font-encoding-alist): Fix the
4956         GB18030 entry to encode characters correctly when passing them to
4957         the xfont back-end.  (Bug#31315)  See also
4958         http://lists.gnu.org/archive/html/emacs-devel/2008-01/msg00754.html.
4960         (cherry picked from commit bbe2cadc544e63e9378350621887f8fb9bbcc236)
4962 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4964         Fix C-p and C-n when wrap-prefix is too wide
4966         * src/xdisp.c (move_it_in_display_line_to): Avoid looping in
4967         previous/next-line when wrap-prefix is set to a too-wide
4968         stretch of whitespace.  (Bug#30432)
4970         (cherry picked from commit 842b3d7412eaed6b2c9f90c3361abb4932ec0b1d)
4972 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4974         Avoid redisplay problems with too wide wrap-prefix
4976         * src/xdisp.c (display_line): Avoid looping in redisplay when
4977         wrap-prefix is set to a too-wide stretch of whitespace.
4978         (Bug#30432)
4980         (cherry picked from commit 2a1fe08307402d6217d073f8ab7737750d253dd4)
4982 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4984         Fix 'posn-at-point' when line numbers are displayed
4986         * src/xdisp.c (pos_visible_p): For the leftmost glyph, adjust the X
4987         coordinate due to line-number display.  (Bug#30834)
4989         (cherry picked from commit 4a20174d7949028f66b18a92a75d6b74194242a8)
4991 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
4993         Another followup to fixing 'window-text-pixel-width'
4995         * src/xdisp.c (Fwindow_text_pixel_size): Adjust the return value
4996         when we stop one buffer position short of TO.  (Bug#30746)
4998         (cherry picked from commit 33cba5405c724566673cf023513bfb1faa963bea)
5000 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5002         Fix mouse-set-point when line numbers are displayed
5004         * src/xdisp.c (move_it_to): Initialize the line_number_produced_p
5005         flag before iterating on a new line.  (Bug#30818)
5007         (cherry picked from commit 5c585b8b994aad4e6844f8eed80bdfbb396e91bf)
5009 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5011         * src/xdisp.c (Fwindow_text_pixel_size): Fix last change.
5013         (cherry picked from commit 06911714ef66ea81380b1eda75a9f7cfbc9e0b65)
5015 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5017         Fix 'window-text-pixel-size' when display properties are around
5019         * src/xdisp.c (Fwindow_text_pixel_size): Correct the result when
5020         there's a display property at the  TO position, and the call to
5021         move_it_to overshoots.  (Bug#30746)
5023         (cherry picked from commit 50e2c0fb5180a757d8d533518f68837ffe5909be)
5025 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5027         Fix display of TABs in hscrolled windows with line numbers
5029         * src/dispextern.h (struct it): New members tab_offset and
5030         line_number_produced_p.
5031         * src/xdisp.c (display_line): Don't set row->x to a negative value
5032         if line numbers are being displayed.  (Bug#30582)
5033         Reset the line_number_produced_p flag before laying out the glyph
5034         row.
5035         (x_produce_glyphs): Use the line_number_produced_p flag to decide
5036         whether to offset the X coordinate due to line-number display.
5037         Use the tab_offset member to restore the original TAB width for
5038         alignment purposes.
5039         (move_it_in_display_line_to): Don't produce line numbers when moving
5040         in hscrolled window to the left of first_visible_x.
5041         (maybe_produce_line_number): Set the line_number_produced_p flag.
5042         (Bug#30584)
5043         * src/term.c (produce_glyphs): Correct TAB width only when
5044         line_number_produced_p flag is set.
5046         (cherry picked from commit 1ac190553886ff20817d3dd218464e2fc6f9e42a)
5048 2018-06-02  Matthias Dahl  <matthias.dahl@binary-island.eu>
5050         Fix wait_reading_process_output wait_proc hang
5052         * src/process.c (read_process_output): Track bytes read from
5053         a process.
5054         (wait_reading_process_output): If called recursively through
5055         timers and/or process filters via accept-process-output, it is
5056         possible that the output of wait_proc has already been read by
5057         one of those recursive calls, leaving the original call hanging
5058         forever if no further output arrives through that fd and no
5059         timeout has been set.  Fix that by using the process read
5060         accounting to keep track of how many bytes have been read and
5061         use that as a condition to break out of the infinite loop and
5062         return to the caller as well as to calculate the proper return
5063         value (if a wait_proc is given that is).
5065         * src/process.h (struct Lisp_Process): Add nbytes_read to track
5066         bytes read from a process.
5068         (cherry picked from commit 4ba32858d61eee16f17b51aca01c15211a0912f8)
5070 2018-06-02  Eli Zaretskii  <eliz@gnu.org>
5072         Fix posn-at-point in Flycheck buffers
5074         * src/dispnew.c (buffer_posn_from_coords): Improve commentary.
5076         * src/xdisp.c (move_it_in_display_line_to): Don't exit the loop
5077         under truncate-lines if the glyph at TO_CHARPOS was not yet
5078         produced.  This avoids bailing out too early when we are at
5079         TO_CHARPOS, but didn't yet produce glyphs for that buffer
5080         position, because the last call to PRODUCE_GLYPHS at this position
5081         was for an object other than the buffer.  For further details, see
5082         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00537.html.
5084         (cherry picked from commit c0154ac7c3423f68d8f3a2e85a756c9759219039)
5086 2018-06-02  Martin Rudalics  <rudalics@gmx.at>
5088         * etc/PROBLEMS: Document stickyness problem with FVWM (Bug#31650)
5090 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
5092         Update Emacs Lisp Intro to match current behavior
5094         * doc/lispintro/emacs-lisp-intro.texi (Wrong Type of Argument)
5095         (debug, debug-on-entry, Void Function, Void Variable): Update the
5096         *Backtrace* buffer display to current Emacs.  (Bug#31654)
5098 2018-06-01  Robert Pluim  <rpluim@gmail.com>
5100         Fix previous commit
5102         * doc/emacs/files.texi (Interlocking): Two spaces at end of sentence
5104 2018-06-01  Ville Skyttä  <ville.skytta@iki.fi>  (tiny change)
5106         Fix typos in several manuals (Bug#31610)
5108 2018-06-01  Robert Pluim  <rpluim@gmail.com>
5110         Add detailed documentation about lock files
5112         * doc/emacs/files.texi (Interlocking): Point user at detailed
5113         file locking description in lisp reference manual.  Add index
5114         entry for '.#' to improve disoverability of information about locking.
5116         * doc/lispref/files.texi (File Locks): Describe in detail what
5117         the form of the lock file is.  Add index entry for '.#' to
5118         improve disoverability of information about locking.
5120         * src/filelock.c (create-lockfiles): Add cross reference to
5121         file locking in user manual and to 'lock-buffer'.  Add string
5122         '.#' to help users find the doc string.
5124 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
5126         Add commentary for subtle aspect of frame.el
5128         * lisp/frame.el: Explain why we use symbol-function when adding
5129         watchers for certain variables that need to trigger redisplay.
5131 2018-06-01  Eli Zaretskii  <eliz@gnu.org>
5133         Improve documentation of 'directory-files-and-attributes'
5135         * doc/lispref/files.texi (Contents of Directories): Fix inaccurate
5136         description of the return value of directory-files-and-attributes.
5138         * src/dired.c (Fdirectory_files_and_attributes): Describe the
5139         function's value in more detail.
5141 2018-05-30  Katsumi Yamaoka  <yamaoka@jpl.org>
5143         * lisp/gnus/message.el (message-remove-header): Don't remove things
5144         not looking like header (bug#31651).
5146 2018-05-30  Eli Zaretskii  <eliz@gnu.org>
5148         Adapt hexl-mode to native line-number display
5150         * lisp/hexl.el (hexl-mode-ruler): When display-line-numbers is in
5151         effect, adjust offsets and columns to account for the line-number
5152         display.  (Bug#31595)
5154 2018-05-30  Michael Albinus  <michael.albinus@gmx.de>
5156         Fix example in Tramp manual
5158         * doc/misc/tramp.texi (Frequently Asked Questions): Fix wording
5159         for the zsh example.
5161 2018-05-29  Robert Pluim  <rpluim@gmail.com>
5163         Handle case where Xft is found but not XRender
5165         * configure.ac (XFT_LIBS): Ensure that HAVE_XFT is no if
5166         XRender is not found.  (Bug#31634)
5168 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
5170         * doc/misc/tramp.texi (Frequently Asked Questions): Adapt zsh example.
5172 2018-05-29  Damien Cassou  <damien@cassou.me>
5174         Improve read-multiple-choice docstring (Bug#31628)
5176         * lisp/emacs-lisp/rmc.el (read-multiple-choice): Improve docstring.
5178 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
5180         * doc/misc/tramp.texi (All): Use @code instead of @option for user options.
5182 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
5184         Fix Bug#31605
5186         * doc/misc/tramp.texi (All): Add @vindex entries for
5187         environment variables.
5188         (Remote shell setup): New items `tramp-terminal-type' and
5189         "Determining a Tramp session".
5190         (Frequently Asked Questions): Adapt zsh example.  (Bug#31605)
5192 2018-05-29  Michael Albinus  <michael.albinus@gmx.de>
5194         Sync with Tramp 2.3.4-pre
5196         * doc/misc/trampver.texi: Change version to "2.3.4-pre
5198         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
5199         (tramp-backup-directory-alist, tramp-auto-save-directory)
5200         (tramp-encoding-shell, tramp-encoding-command-switch)
5201         (tramp-encoding-command-interactive, tramp-default-method)
5202         (tramp-default-method-alist, tramp-default-user)
5203         (tramp-default-user-alist, tramp-default-host)
5204         (tramp-default-host-alist, tramp-default-proxies-alist)
5205         (tramp-save-ad-hoc-proxies, tramp-restricted-shell-hosts-alist)
5206         (tramp-local-end-of-line, tramp-rsh-end-of-line)
5207         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
5208         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
5209         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
5210         (tramp-terminal-prompt-regexp)
5211         (tramp-operation-not-permitted-regexp, tramp-copy-failed-regexp)
5212         (tramp-process-alive-regexp, tramp-chunksize)
5213         (tramp-process-connection-type, tramp-connection-timeout)
5214         (tramp-connection-min-time-diff)
5215         (tramp-completion-reread-directory-timeout):
5216         * lisp/net/tramp-adb.el (tramp-adb-program)
5217         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
5218         * lisp/net/tramp-cache.el (tramp-connection-properties)
5219         (tramp-persistency-file-name):
5220         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
5221         (tramp-gvfs-zeroconf-domain, tramp-bluez-discover-devices-timeout):
5222         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
5223         (tramp-copy-size-limit, tramp-terminal-type)
5224         (tramp-histfile-override, tramp-use-ssh-controlmaster-options)
5225         (tramp-remote-path, tramp-remote-process-environment)
5226         (tramp-sh-extra-args):
5227         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
5228         (tramp-smb-conf, tramp-smb-winexe-program)
5229         (tramp-smb-winexe-shell-command)
5230         (tramp-smb-winexe-shell-command-switch):
5231         Dont't require 'tramp.  (Bug#31558)
5233         * lisp/net/tramp.el (tramp-accept-process-output):
5234         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
5235         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
5236         (tramp-sh-handle-start-file-process):
5237         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
5238         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
5239         (tramp-smb-handle-set-file-acl)
5240         (tramp-smb-handle-start-file-process): Suppress timers.
5242         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
5243         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
5244         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
5245         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
5246         Write proper message.
5248         * lisp/net/tramp-cmds.el (tramp-change-syntax):
5249         Use `customize-set-variable'.
5251         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
5252         Ensure proper EOL handling for Darwin.
5253         (tramp-find-inline-compress): Improve command quoting for w32.
5254         Reported by Chris Zheng <chriszheng99@gmail.com>.
5255         (tramp-open-connection-setup-interactive-shell): Wrap both echo
5256         calls in parentheses, in order to avoid double prompt.
5258         * lisp/net/tramp-smb.el (tramp-smb-errors):
5259         Add "NT_STATUS_RESOURCE_NAME_NOT_FOUND".
5261         * lisp/net/tramp.el (tramp-default-user-alist)
5262         (tramp-default-host-alist): Fix docstring.
5263         (tramp-dissect-file-name): Adapt docstring.  (Bug#30904)
5264         (tramp-make-tramp-file-name): Check, that method is
5265         not empty.  (Bug#30038)
5266         (tramp-message-show-message): Change default.
5268         * lisp/net/trampver.el: Change version to "2.3.4-pre".
5270         * test/lisp/net/tramp-tests.el (ert-x): Require it.
5271         (tramp-test10-write-region): Extend test.
5272         (tramp--test-emacs27-p, tramp--test-windows-nt): New defuns.
5273         (tramp-test11-copy-file, tramp-test12-rename-file)
5274         (tramp-test21-file-links, tramp-test24-file-acl)
5275         (tramp-test25-file-selinux, tramp--test-check-files): Use them.
5276         (tramp-test21-file-links): Do not call `make-symbolic-link' on w32.
5277         Fix file name quoting test.
5278         (tramp-test32-environment-variables-and-port-numbers):
5279         Adapt check for systems which do not support "echo -n".  (Bug#29712)
5280         (tramp-test36-find-backup-file-name): Call also
5281         `convert-standard-filename' due to w32.
5282         (tramp-test41-asynchronous-requests):
5283         Use $REMOTE_PARALLEL_PROCESSES.  Flush cache prior file operations.
5284         (tramp-test42-auto-load, tramp-test42-delay-load)
5285         (tramp-test42-recursive-load, tramp-test42-remote-load-path):
5286         Quote command due to w32.
5288 2018-05-28  Eli Zaretskii  <eliz@gnu.org>
5290         Bump Emacs version to 26.1.50
5292         * msdos/sed2v2.inp:
5293         * nt/README.W32:
5294         * configure.ac:
5295         * README: Bump Emacs version to 26.1.50.
5297 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
5299         Mention pcase as a fifth conditional form
5301         * doc/lispref/control.texi (Conditionals): ...here,
5302         in first para, w/ xref to "Pattern-Matching Conditional".
5304 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
5306         Overhaul pcase documentation
5308         Suggested by Drew Adams (Bug#31311).
5310         * doc/lispref/control.texi (Control Structures):
5311         Add "Pattern-Matching Conditional" to menu, before "Iteration".
5312         (Conditionals): Delete menu.
5313         (Pattern matching case statement): Delete node/subsection,
5314         by actually moving, renaming, and overhauling it to...
5315         (Pattern-Matching Conditional): ...new node/section.
5316         (pcase Macro): New node/subsection.
5317         (Extending pcase): Likewise.
5318         (Backquote Patterns): Likewise.
5319         * doc/lispref/elisp.texi (Top) In @detailmenu, add
5320         "Pattern-Matching Conditional" under "Control Structures"
5321         section and delete "Conditionals" section.
5322         * lisp/emacs-lisp/pcase.el (pcase): Rewrite docstring.
5323         (pcase-defmacro \` (qpat) ...): Likewise.
5325 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
5327         Use EXPVAL in docstrings of patterns defined using pcase-defmacro
5329         Suggested by Drew Adams (Bug#31311).
5331         * lisp/emacs-lisp/cl-macs.el (cl-struct): ...here.
5332         * lisp/emacs-lisp/eieio.el (eieio): Likewise.
5333         * lisp/emacs-lisp/radix-tree.el (radix-tree-leaf): Likewise.
5334         * lisp/emacs-lisp/rx.el (rx): Likewise.
5336 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
5338         Introduce EXPVAL for pcase, pcase-defmacro docstrings
5340         Suggested by Drew Adams (Bug#31311).
5342         * lisp/emacs-lisp/pcase.el (pcase): Use EXPVAL in
5343         docstring to stand for the result of evaluating EXP.
5344         (pcase-defmacro): Add (fn ...) form in docstring
5345         that includes [DOC], and the EXPVAL convention.
5347 2018-05-27  Thien-Thi Nguyen  <ttn@gnu.org>
5349         Ensure pcase doc shows `QPAT first among extensions
5351         * lisp/emacs-lisp/pcase.el (pcase--make-docstring):
5352         Split extensions display into two phases, collection
5353         and display, separated by a reordering step that
5354         ensures backquote is the first.
5356 2018-05-25  Nicolas Petton  <nicolas@petton.fr>
5358         * etc/HISTORY: Update for Emacs 26.1 release.
5360         * etc/AUTHORS: Update.
5362 2018-05-25  Noam Postavsky  <npostavs@gmail.com>
5364         Note caveat for backward regexp searching in docstring (Bug#31584)
5366         * src/search.c (Fre_search_backward): Emphasize that backwards
5367         searches may give shorter than expected matches.
5368         * doc/lispref/searching.texi (Regexp Search): Add an anchor for
5369         re-search-backward to reference.
5371 2018-05-25  Eli Zaretskii  <eliz@gnu.org>
5373         Update backtrace in Emacs Lisp Intro
5375         * doc/lispintro/emacs-lisp-intro.texi (Making Errors): Update the
5376         backtrace to match Emacs 26.  (Bug#31589)
5378 2018-05-24  Roland Winkler  <winkler@gnu.org>
5380         Move window-point in bibtex-search-entry
5382         * lisp/textmodes/bibtex.el (bibtex-search-entry): Move window-point
5383         to record found.
5385 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
5387         More fixes of Intro to Emacs Lisp
5389         * doc/lispintro/emacs-lisp-intro.texi (Finding More): Tell the
5390         reader how to invoke 'M-.' without a tags table.  Add a
5391         cross-reference to the Emacs manual for when a tags table does
5392         need to be created.
5393         (append save-excursion): Rephrase a confusing sentence.
5394         (Bug#31578)
5396 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
5398         Add a footnote to Emacs Lisp Intro
5400         * doc/lispintro/emacs-lisp-intro.texi (Run a Program): Describe
5401         the detailed output of integer value evaluation in a footnote, to
5402         prevent confusion.  (Bug#31579)
5404 2018-05-24  Eli Zaretskii  <eliz@gnu.org>
5406         * lisp/help.el (with-help-window): Doc fix.  (Bug#31574)
5408 2018-05-23  Eli Zaretskii  <eliz@gnu.org>
5410         Fix some cross-references in emacs-lisp-intro.texi
5412         * doc/lispintro/emacs-lisp-intro.texi (List Processing)
5413         (Determining the Element, graph-body-print): Fix cross-references
5414         to subsections that don't exist in the printed version of the
5415         manual.  (Bug#31567)
5417 2018-05-23  Eli Zaretskii  <eliz@gnu.org>
5419         Minor copyedits in Emacs manual in macos.texi
5421         * doc/emacs/macos.texi (Mac / GNUstep Basics)
5422         (Mac / GNUstep Events): Fix markup and capitalization.
5423         (Bug#31568)
5425 2018-05-23  Noam Postavsky  <npostavs@gmail.com>
5427         Clarify when to use advice-add vs add-function
5429         * lisp/emacs-lisp/nadvice.el (add-function): Note in docstring that
5430         advice-add should be used for named functions.
5432 2018-05-22  Eli Zaretskii  <eliz@gnu.org>
5434         Minor formatting tweak in the Emacs manual
5436         * doc/emacs/custom.texi (Directory Variables): Don't have 2
5437         footnotes back to back, it looks bad in HTML.  (Bug#31555)
5439 2018-05-22  Eli Zaretskii  <eliz@gnu.org>
5441         Update comments in Intro to Emacs Lisp
5443         * doc/lispintro/emacs-lisp-intro.texi: Explain in the comments
5444         what are roman page numbers in Preface about.  (Bug#31541)
5446 2018-05-21  Noam Postavsky  <npostavs@gmail.com>
5448         * etc/NEWS: Mention change in `edebug-prin1-to-string'.
5450 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
5452         Another attempt to fix sql.el
5454         * lisp/progmodes/sql.el (sql-product-interactive): Fix calculation
5455         of the SQL buffer name.  (Bug#31446)
5457 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
5459         Update binding of 'M-.' in Intro to Emacs Lisp
5461         * doc/lispintro/emacs-lisp-intro.texi (On Reading this Text)
5462         (Finding More, Buffer Related Review, Buffer Exercises)
5463         (Find a File, Conclusion): 'M-.' is now bound to
5464         'xref-find-definitions'.  (Bug#31542)
5466 2018-05-21  Eli Zaretskii  <eliz@gnu.org>
5468         Fix a typo in last change in sql.el
5470         * lisp/progmodes/sql.el (sql-product-interactive): Use 'null',
5471         not 'zerop'.  (Bug#31446)
5473 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
5475         Fix capitalization of mail headers
5477         * doc/emacs/sending.texi (Mail Format, Mail Headers)
5478         (Mail Aliases, Header Editing): Use consistent capitalization of
5479         CC, BCC, and FCC.  (Bug#31532)
5481 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
5483         Fix buffer names in sql.el
5485         * lisp/progmodes/sql.el (sql-product-interactive): Fix the way the
5486         buffer name is determined by prefix arg.  (Bug#31446)
5488 2018-05-20  Eli Zaretskii  <eliz@gnu.org>
5490         Minor fixes in the Emacs manual
5492         * doc/emacs/misc.texi (Gnus Group Buffer): Fix a typo.  (Bug#31534)
5493         (Single Shell): Rephrase an unclear sentence.  (Bug#31535)
5494         (Remote Host): Use @command where appropriate.  (Bug#31536)
5496 2018-05-19  Eli Zaretskii  <eliz@gnu.org>
5498         Fix a typo in rmail.texi
5500         * doc/emacs/rmail.texi (Rmail Summary Edit): Add markup to 'nil'.
5501         (Bug#31533)
5503 2018-05-18  Paul Eggert  <eggert@cs.ucla.edu>
5505         * etc/PROBLEMS: Document Bug#31305.
5507 2018-05-18  Lars Ingebrigtsen  <larsi@gnus.org>
5509         (gnus-blocked-images): Clarify privacy implications
5511         * lisp/gnus/gnus-art.el (gnus-blocked-images): Clarify the privacy
5512         implication of altering the value of this variable.
5514         (cherry picked from commit f4d9fd3dd45f767eca33fbf1beee40da790fa74e)
5516 2018-05-18  Eli Zaretskii  <eliz@gnu.org>
5518         Fix a typo in describing input methods
5520         * lisp/help-mode.el (help-make-xrefs): Fix a typo.  (Bug#31448)
5522 2018-05-14  Eli Zaretskii  <eliz@gnu.org>
5524         Clarify the mode-line indicators in CC Mode
5526         * doc/emacs/programs.texi (Electric C): Explain '*' and '/' in the
5527         CC Mode mode-line.  (Bug31445)
5529 2018-05-12  João Távora  <joaotavora@gmail.com>
5531         Fix filesystem littering by Flymake's legacy backend
5533         The Flymake legacy "proc" backend, which is active by default will try
5534         to syntax-check foo.c/foo.cpp and many other types of files, but on
5535         failing to find a suitable Makefile target, will fail.  There's
5536         nothing wrong with that except that it used to leave behind the
5537         foo_flymake.c and foo_flymake.cpp auxiliary files behind, littering
5538         the filesystem.
5540         * lisp/progmodes/flymake-proc.el (flymake-proc-legacy-flymake):
5541         Call init-function inside of the unwind-protect.
5543 2018-05-12  Paul Eggert  <eggert@cs.ucla.edu>
5545         * doc/emacs/help.texi: Fix paren typo.
5547 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
5549         More minor changes in shell-related nodes of Emacs manual
5551         * doc/emacs/misc.texi (Interactive Shell): Clarify how the window
5552         that displays "*shell*" is selected.
5553         (Shell Prompts): Fix a typo.  Reported by Jorge
5554         <jorge+list@disroot.org> in emacs-manual-bugs.
5556 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
5558         Fix inaccuracies in "Shell Ring" node of Emacs manual
5560         * doc/emacs/misc.texi (Shell Ring): Don't mention 'M-s' and don't
5561         insist on Shell history commands being "jsut like" similar
5562         commands that operate on minibuffer history.  Reported by Jorge
5563         <jorge+list@disroot.org> in emacs-manual-bugs.
5565 2018-05-11  Eli Zaretskii  <eliz@gnu.org>
5567         Improve documentation of kmacro commands and variables.
5569         * lisp/kmacro.el (kmacro-start-macro-or-insert-counter)
5570         (kmacro-counter, kmacro-set-format, kmacro-set-counter)
5571         (kmacro-add-counter, kmacro-counter-format)
5572         (kmacro-insert-counter): Clarify and improve the doc strings.
5573         (Bug#31243)
5575 2018-05-11  Noam Postavsky  <npostavs@gmail.com>
5577         * doc/man/emacs.1.in: Document --fg-daemon and --bg-daemon.
5579 2018-05-08  Noam Postavsky  <npostavs@gmail.com>
5581         Don't check non-X frames for z order (Bug#31373)
5583         * src/xfns.c (x_frame_list_z_order): Only use frames with
5584         `output_method' set to `output_x_window'.
5586 2018-05-07  Alan Third  <alan@idiocy.org>
5588         Check NSWindow is actually a frame
5590         * src/nsfns.m (Fns_frame_list_z_order): Check NSWindow is an instance
5591         of EmacsView before treating it as one.
5593 2018-05-06  Xu Chunyang  <mail@xuchunyang.me>
5595         Fix gud-statement for pdb
5597         * lisp/progmodes/gud.el (pdb): Fix the gud-print implementation.
5598         (Bug#31363)
5600 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
5602         Document 'custom-group'
5604         * doc/lispref/customize.texi (Group Definitions): Document the
5605         'custom-group' property.
5607 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
5609         A minor addition to etc/DEBUG
5611         * etc/DEBUG: Add a note for macOS users who get error messages
5612         when trying to run GDB.
5614 2018-05-04  Daniel Pittman  <slippycheeze@google.com>  (tiny change)
5616         Avoid errors in ispell.el when Enchant returns empty extra chars
5618         * lisp/textmodes/ispell.el (ispell--get-extra-word-characters):
5619         Handle the case of empty extra characters returned by the
5620         Enchant '-lsmod' command. (Bug#31344)
5622 2018-05-04  Eli Zaretskii  <eliz@gnu.org>
5624         Make 'ispell-initialize-spellchecker-hook' work again
5626         * lisp/textmodes/ispell.el (ispell-base-dicts-override-alist):
5627         Defvar it to allow dynamic binding.  (Bug#31341)
5629 2018-05-04  Noam Postavsky  <npostavs@gmail.com>
5631         Handle selected_window change in prepare_menu_bars (Bug#31312)
5633         * src/xdisp.c (redisplay_internal): Check selected_window after
5634         calling prepare_menu_bars, since it can call lisp hooks.
5636 2018-05-03  Eli Zaretskii  <eliz@gnu.org>
5638         Fix report-emacs-bug via mailclient on MS-Windows
5640         * lisp/net/browse-url.el (browse-url-default-windows-browser):
5641         On MS-Windows, call url-unhex-string only for file:// URLs.
5642         (Bug#31351)
5644 2018-05-02  Paul Eggert  <eggert@cs.ucla.edu>
5646         Port collation tests to glibc 2.27
5648         * test/src/fns-tests.el (fns-tests-collate-strings)
5649         (fns-tests-collate-sort): Don’t make unportable assumptions
5650         about how en_US.UTF-8 collation works.  These assumptions
5651         are not true on Fedora 28, which ships with glibc 2.27.
5653 2018-05-01  Paul Eggert  <eggert@cs.ucla.edu>
5655         Port --enable-gcc-warnings to GCC 8
5657         Backport from master.
5658         * lib-src/emacsclient.c (fail):
5659         Do not dereference a null pointer.
5660         * src/frame.c (delete_frame):
5661         Add a decl with UNINIT to work around GCC bug 85563.
5662         * src/menu.h (finish_menu_items):
5663         Do not use attribute const.
5664         * src/regex.c (analyze_first): Use FALLTHROUGH, not a comment.
5666 2018-04-30  Paul Eggert  <eggert@cs.ucla.edu>
5668         Advise CFLAGS= operand, not in environment, when configuring
5670         Backport from master.
5672 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
5674         Update the Emacs FAQ
5676         * doc/misc/efaq.texi (Latest version of Emacs): Update versions.
5677         (New in Emacs 26): New node.
5679         * admin/release-process: Mention the FAQ update as part of the
5680         release.
5682 2018-04-28  Eli Zaretskii  <eliz@gnu.org>
5684         * etc/DEBUG: Minor copyedits.
5686 2018-04-26  Alan Third  <alan@idiocy.org>
5688         Clarify wording of NS drag n drop documentation
5690         * doc/emacs/macos.texi (Mac / GNUstep Events): Clarify wording of
5691         ns-drag-n-drop description.
5693 2018-04-25  Basil L. Contovounesios  <contovob@tcd.ie>
5695         Improve kill-related documentation (bug#31209)
5697         * doc/lispref/text.texi (Low-Level Kill Ring): Fix typo under
5698         current-kill.  Mention interprogram-paste-function under kill-new
5699         and kill-append.
5700         * lisp/simple.el (save-interprogram-paste-before-kill, kill-new)
5701         (kill-append-merge-undo, kill-append): Touch-up docstrings.
5703 2018-04-24  Stefan Monnier  <monnier@iro.umontreal.ca>
5705         * lisp/simple.el (region-extract-function): Don't hide the 'nil' case.
5707 2018-04-22  Karl Otness  <karl@karlotness.com>  (tiny change)
5709         Fix pre- and post-command-hook errors in term.el
5711         Before this patch, after the terminal process dies the command
5712         hooks added in term-mode's char mode would produce errors.
5713         This fix removes these hooks when the process dies.
5714         * lisp/term.el (term-handle-exit): Remove pre-command-hook and
5715         post-command-hook because the process is dead.  (Bug#31236)
5717 2018-04-22  Charles A. Roelli  <charles@aurox.ch>
5719         * doc/lispref/display.texi (Glyphless Chars): Fix grammar.
5721 2018-04-21  Alan Third  <alan@idiocy.org>
5723         Fix macOS drag n drop event documentation
5725         * doc/emacs/macos.texi (Mac / GNUstep Customization): Remove
5726         references to color panel.
5727         (Mac / GNUstep Events): Remove ns-drag-file, and add ns-drag-n-drop.
5729 2018-04-20  Eli Zaretskii  <eliz@gnu.org>
5731         Update the documentation of 'perform-replace'
5733         * doc/lispref/searching.texi (Search and Replace): Update the
5734         documentation of 'perform-replace'.
5736 2018-04-20  Martin Rudalics  <rudalics@gmx.at>
5738         * etc/NEWS: Another fix for the last change (noted by Juri Linkov)
5740 2018-04-19  Eli Zaretskii  <eliz@gnu.org>
5742         Fix use of @key in Texinfo manuals
5744         * doc/misc/efaq-w32.texi (Location of init file):
5745         * doc/misc/org.texi (Editing source code, Export settings)
5746         (Closing items, Drawers, Structure editing):
5747         * doc/misc/gnus.texi (Spam and Ham Processors, Terminology):
5748         * doc/misc/calc.texi (Keypad Functions Menu, Keypad Binary Menu)
5749         (Keypad Vectors Menu, Keypad Main Menu, Basic Arithmetic)
5750         (Symbolic Mode):
5751         * doc/misc/sc.texi (Electric References):
5752         * doc/misc/info.texi (Help-^L):
5753         * doc/misc/reftex.texi (Reference Styles):
5754         * doc/misc/idlwave.texi (Troubleshooting, Examining Variables)
5755         (Lesson III---User Catalog, Using the Shell):
5756         * doc/misc/eshell.texi (Bugs and ideas):
5757         * doc/misc/ada-mode.texi (Automatic Casing):
5758         * doc/misc/ediff.texi (Selective Browsing):
5759         * doc/misc/vip.texi (Customizing Constants):
5760         * doc/misc/pcl-cvs.texi (Selected files):
5761         * doc/misc/efaq.texi (Replying to the sender of a message)
5762         (Basic keys, No Meta key, Matching parentheses)
5763         (Origin of the term Emacs, Installing Texinfo documentation)
5764         (Learning how to do something, Emacs manual, Extended commands):
5765         * doc/misc/viper.texi (Rudimentary Changes):
5766         * doc/misc/tramp.texi (Frequently Asked Questions):
5767         * doc/emacs/kmacro.texi (Basic Keyboard Macro):
5768         * doc/emacs/frames.texi (Frame Commands):
5769         * doc/emacs/msdos.texi (Windows Keyboard):
5770         * doc/emacs/search.texi (Query Replace):
5771         * doc/lispintro/emacs-lisp-intro.texi (Keybindings)
5772         (Note for Novices):
5773         * doc/lispref/tips.texi (Key Binding Conventions): Fix use of
5774         @key.  For the details, see
5775         http://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00390.html.
5777 2018-04-19  Eli Zaretskii  <eliz@gnu.org>
5779         Improve documentation of actual arglist
5781         * doc/lispref/functions.texi (Function Documentation): Advise
5782         against using '(fn ARGLIST)' method of advertising a calling
5783         convention when the old calling convention is deprecated.
5784         (Bug#31191)
5786 2018-04-18  Noam Postavsky  <npostavs@gmail.com>
5788         Don't assume term-current-row cache is valid (Bug#31193)
5790         * lisp/term.el (term-down): Call `term-current-row' instead of
5791         directly accessing the variable `term-current-row.  Following a resize
5792         of the terminal's window, `term-current-row' is reset to nil, so it is
5793         not safe to assume it is a number.
5795 2018-04-17  Eli Zaretskii  <eliz@gnu.org>
5797         Fix flyspell-auto-correct-previous-word broken by recent change
5799         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Keep
5800         flyspell-auto-correct-region also when repeatedly invoking
5801         flyspell-auto-correct-previous-word.  (Bug#31188)
5803 2018-04-17  Eli Zaretskii  <eliz@gnu.org>
5805         * test/src/lread-tests.el (lread-test-bug-31186): New test.
5807 2018-04-17  Andreas Schwab  <schwab@suse.de>
5809         Fix undefined behaviour while looking for lexical-binding file variable (bug 31186)
5811         * src/lread.c (lisp_file_lexically_bound_p): Reset
5812         beg_end_state before reading variable or value.
5814 2018-04-15  Eli Zaretskii  <eliz@gnu.org>
5816         Minor wording improvement in "Bookmarks"
5818         * doc/emacs/regs.texi (Bookmarks): Improve wording.  Suggested by
5819         "Siraphob (Ben) Phipathananunth" <siraben@disroot.org>.
5821 2018-04-14  Eli Zaretskii  <eliz@gnu.org>
5823         Fix building etc/DOC in the MSDOS port
5825         * msdos/sed1v2.inp (lisp.mk): Fix escaping in Sed commands.
5827 2018-04-14  Eli Zaretskii  <eliz@gnu.org>
5829         * lisp/select.el (gui-get-selection): Doc fix.
5831 2018-04-13  Alan Mackenzie  <acm@muc.de>
5833         Complete documentation of syntax flags by adding `c'
5835         * doc/lispref/syntax.texi ("Syntax Table Internals"): Add entry for `c'
5836         as `(1 lsh 23)'.
5838 2018-04-13  Eli Zaretskii  <eliz@gnu.org>
5840         Fix typos and minor wording issues in ELisp manual
5842         * doc/lispref/internals.texi (Writing Emacs Primitives):
5843         * doc/lispref/display.texi (Temporary Displays): Fix typos.
5844         * doc/lispref/text.texi (Filling, Changing Properties)
5845         (Transposition): Clarify and fix typos.
5846         * doc/lispref/positions.texi (Screen Lines): Improve wording.
5847         * doc/lispref/modes.texi (Minor Mode Conventions)
5848         (Font Lock Multiline): Fix typos.
5849         * doc/lispref/variables.texi (Dynamic Binding Tips): Fix a
5850         cross-reference.  Fix a typo.
5851         * doc/lispref/sequences.texi (Sequence Functions): Fix typos.
5852         (Bug#31143)
5854 2018-04-13  Eli Zaretskii  <eliz@gnu.org>
5856         Avoid segfault in processes of type 'pipe'
5858         * src/process.c (Fmake_pipe_process): Set up the decoding and
5859         encoding buffers.  For the details, see
5860         http://lists.gnu.org/archive/html/emacs-devel/2018-04/msg00295.html.
5862 2018-04-13  Robert Pluim  <rpluim@gmail.com>
5864         Remove repetitions in documentation strings
5866         * lisp/bindings.el (right-word): Remove repetition
5867         (left-word): Likewise.
5869         * lisp/image-mode.el (image-mode-as-hex): Likewise.
5871         * lisp/cedet/semantic/tag-ls.el (semantic-tag-similar-p): Likewise.
5873         * lisp/textmodes/reftex-vars.el (reftex-view-crossref-extra): Likewise
5875 2018-04-12  Eli Zaretskii  <eliz@gnu.org>
5877         * lisp/image.el (image-load-path): Doc fix.
5879 2018-04-09  Nicolas Petton  <nicolas@petton.fr>
5881         * etc/AUTHORS: Regenerate.
5883 2018-04-09  Charles A. Roelli  <charles@aurox.ch>
5885         * lisp/files.el (kept-new-versions): Improve documentation string.
5887 2018-04-09  Eli Zaretskii  <eliz@gnu.org>
5889         Fix a minor mistake in the ELisp manual
5891         * doc/lispref/files.texi (Reading from Files): Fix copy/paste
5892         mistake.  (Bug#31107)
5894 2018-04-06  Eli Zaretskii  <eliz@gnu.org>
5896         * lisp/files.el (find-file-literally): Doc fix.
5898 2018-04-05  Eli Zaretskii  <eliz@gnu.org>
5900         Fix typos in doc strings
5902         * lisp/simple.el (undo-auto--boundary-timer)
5903         (undo-auto--boundary-ensure-timer): Fix typos in doc strings.
5905 2018-04-05  Nicolas Petton  <nicolas@petton.fr>
5907         Bump Emacs version to 26.1
5909         * README:
5910         * configure.ac:
5911         * msdos/sed2v2.inp:
5912         * nt/README.W32: Bump Emacs version to 26.1.
5914 2018-04-05  Stefan Monnier  <monnier@iro.umontreal.ca>
5916         * lisp/emacs-lisp/inline.el: Clarify apparent typos
5918 2018-04-04  Ted Zlatanov  <tzz@lifelogs.com>
5920         Allow sexp customization type in auth-sources
5922         * lisp/auth-source.el (auth-sources): Allow sexp customization type.
5923         Update the :version tag.
5925         (cherry picked from commit 447da5b0d49b7aa14fa5d6969015770fdf9b9f92)
5927 2018-04-03  Nicolas Petton  <nicolas@petton.fr>
5929         * etc/NEWS: Remove temporary markup.
5931         * etc/AUTHORS: Update.
5933         * ChangeLog.3: Update.
5935 2018-04-03  Michael Albinus  <michael.albinus@gmx.de>
5937         Fix Bug#31022
5939         * lisp/cus-start.el (temporary-file-directory): Suppress file name
5940         handlers when calling `shell-command-to-string'.  (Bug#31022)
5942 2018-04-03  Paul Eggert  <eggert@cs.ucla.edu>
5944         Update "Calendrical Calculations" cites
5946         * lisp/calendar/calendar.el: Update citations to the book
5947         "Calendrical Calculations" and its predecessors.
5949 2018-04-02  Noam Postavsky  <npostavs@gmail.com>
5951         Fix term.el rendering following a window resize (Bug#30544)
5953         * lisp/term.el (term-reset-size): Reset cached row and column values
5954         before changing point.
5956 2018-04-02  Philipp Stephani  <phst@google.com>
5958         * lisp/files.el (auto-save-visited-mode): Don't prompt for filenames.
5960 2018-04-01  Philipp Stephani  <phst@google.com>
5962         Quote a few backticks in docstrings.
5964         * lisp/emacs-lisp/macroexp.el (macroexp-progn, macroexp-let*)
5965         (macroexp-if): Quote backtick in docstrings.
5967 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
5969         Minor copyedits of completion-at-point-functions documentation
5971         * lisp/minibuffer.el (completion-at-point-functions):
5972         * doc/lispref/minibuf.texi (Completion in Buffers): Fix wording
5973         and filling.
5975         (cherry picked from commit a8ddd05d7d32946b892b9faaba6c9736ed2ad847)
5977 2018-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
5979         (completion-at-point-functions): Improve doc
5981         (cherry picked from commit b56c56f203f8b066dd71e6ae6a254121b3ac3f08)
5983 2018-04-01  Eli Zaretskii  <eliz@gnu.org>
5985         * lisp/net/shr.el (shr-browse-url): Doc fix.  (Bug#30957)
5987 2018-03-31  Hong Xu  <hong@topbug.net>
5989         Mention `key-description' as inverse of `kbd' (Bug#30942)
5991         * lisp/subr.el (kbd): Add `key-description' as inverse of `kbd' in the
5992         doc.
5994 2018-03-31  Noam Postavsky  <npostavs@gmail.com>
5996         Document return value of pcase (Bug#30425)
5998         * doc/lispref/control.texi (Pattern matching case statement):
5999         * lisp/emacs-lisp/pcase.el (pcase): State that pcase returns nil if no
6000         patterns match.
6001         (pcase-exhaustive): State that an error is signaled if no patterns
6002         match.
6004 2018-03-31  Paul Eggert  <eggert@cs.ucla.edu>
6006         * doc/emacs/macos.texi: Tweak grammar and capitalization.
6008 2018-03-31  Richard Stallman  <rms@gnu.org>
6010         Distinguish free from non-free OSes
6012 2018-03-28  Glenn Morris  <rgm@gnu.org>
6014         * doc/emacs/misc.texi (Amusements): Avoid non-printing character.
6016 2018-03-28  Glenn Morris  <rgm@gnu.org>
6018         Fix xrefs in pdf Emacs manual
6020         * doc/emacs/fortran-xtra.texi (ForIndent Cont, ForIndent Num)
6021         (Fortran Columns):
6022         * doc/emacs/picture-xtra.texi (Rectangles in Picture):
6023         Fix recent changes that neglected the splitting of the pdf manuals.
6025 2018-03-28  Michael Albinus  <michael.albinus@gmx.de>
6027         * doc/misc/org.texi (Installation): Fix clone commands.
6029 2018-03-27  Rasmus  <rasmus@gmx.us>
6031         Update Org to v9.1.9
6033         Please note this is a bugfix release. See etc/ORG-NEWS for details.
6035 2018-03-27  Michael Heerdegen  <michael_heerdegen@web.de>
6037         De-obsolete `if-let' and `when-let'
6039         For the following release it is planned to make `if-let*' and
6040         `when-let*' aliases for `if-let' and `when-let'.  For now we revert
6041         declaring `if-let' and `when-let' obsolete and tweak the docstrings.
6043         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): Make docstrings
6044         refer to those of `if-let' and `when-let'.
6045         (if-let, when-let): De-obsolete.  Rewrite documentation.
6047 2018-03-26  Glenn Morris  <rgm@gnu.org>
6049         * lisp/htmlfontify.el (hfy-begin-span-handler): Doc fix.
6051 2018-03-26  Eli Zaretskii  <eliz@gnu.org>
6053         * doc/lispref/functions.texi (Defining Functions): Improve indexing.
6055 2018-03-25  Aaron Jensen  <aaronjensen@gmail.com>
6057         Fix crash after frame is freed on macOS (bug#30800)
6059         * src/nsterm.m (x_free_frame_resources): Clear represented_frame.
6060         (bug#30800)
6062 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
6064         More manual editing
6066         * doc/emacs/basic.texi:
6067         * doc/emacs/calendar.texi:
6068         * doc/emacs/display.texi:
6069         * doc/emacs/mini.texi:
6070         * doc/emacs/misc.texi:
6071         * doc/emacs/picture-xtra.texi:
6072         * doc/misc/info.texi: Prefer <PageDown> and <PageUp> over
6073         <next> and <prior>.  Add missing @kindex entries.
6075         * doc/emacs/custom.texi (Function Keys): Fix and add missing
6076         key symbols.
6078 2018-03-25  Michael Albinus  <michael.albinus@gmx.de>
6080         Minor manual changes changes
6082         * doc/emacs/misc.texi (FFAP): Complete commands.
6083         (Amusements): Add some @cindex entries.  Add "M-x butterfly".
6085 2018-03-24  Glenn Morris  <rgm@gnu.org>
6087         * lisp/calculator.el (calculator-paste-decimals): Add version.
6089 2018-03-23  Eli Zaretskii  <eliz@gnu.org>
6091         More proofreading of the Emacs manual
6093         * doc/emacs/trouble.texi (DEL Does Not Delete): Improve wording.
6094         (Screen Garbled): Mention the command name.
6095         (Bug Criteria): Mention that problems in packages should first be
6096         reported to the respective maintainers.
6097         (Checklist): Fix wording.
6098         (Contributing, Copyright Assignment): Minor copyedits.
6099         * doc/emacs/misc.texi (Amusements): Remove Landmark.
6100         * doc/emacs/picture-xtra.texi (Tabs in Picture): Improve wording.
6101         (Rectangles in Picture): Add a cross-reference to "Registers".
6102         * doc/emacs/misc.texi (Gnus Group Buffer, Gnus Summary Buffer):
6103         Mention command names in parentheses.
6104         (Gnus Summary Buffer): Document "M-r".
6105         (Network Security): Document that current NSM works with TLS
6106         encryption.  Fix markup.
6107         (Document View): Improve wording and fix a typo.
6108         (DocView Conversion): Rephrase description of
6109         doc-view-cache-directory.
6110         (Single Shell): Mention variables that control when shell output
6111         appears in the echo area.
6112         (Shell Mode): Improve wording.
6113         (Shell Prompts): Fix a typo.
6114         (Shell Ring, Term Mode): Mention command names.
6115         (History References): Add a cross-reference to "Rebinding".
6116         (Remote Host): Mention SSH.
6117         (TCP Emacs server): Improve wording.
6118         (emacsclient Options): Minor improvements.
6119         (PostScript): Fix wording.
6120         (PostScript Variables): Mention that ps-font-size could be a cons.
6121         (Sorting): Minor improvements.  Suggested by Michael Albinus
6122         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org
6124 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
6126         * src/lisp.h (struct Lisp_Buffer_Local_Value): Update commentary.
6128         * doc/emacs/trouble.texi: Fix location of `emacs-version' index.
6130 2018-03-23  Noam Postavsky  <npostavs@gmail.com>
6132         Explain more about (defvar foo) form (Bug#18059)
6134         * doc/lispref/variables.texi (Defining Variables)
6135         (Using Lexical Binding):
6136         * doc/lispref/compile.texi (Compiler Errors): Emphasize that omitting
6137         VALUE for `defvar' marks the variable special only locally.
6138         * doc/lispref/variables.texi (Using Lexical Binding): Add example of
6139         using `defvar' without VALUE.
6141 2018-03-22  Charles A. Roelli  <charles@aurox.ch>
6143         * doc/lispref/buffers.texi (Buffer List): Fix grammar.
6145         * doc/lispref/anti.texi (Antinews): Fix grammar.
6147 2018-03-22  Glenn Morris  <rgm@gnu.org>
6149         * lisp/org/ob-lisp.el (org-babel-lisp-eval-fn): Tweak type.
6151         Avoids type mismatch when relevant library is not present/loaded.
6153 2018-03-22  Glenn Morris  <rgm@gnu.org>
6155         sql.el defcustom fixes
6157         * lisp/progmodes/sql.el (sql-login-params): Update.
6158         Avoids type mismatch with postgres and sqlite login params.
6159         (sql-postgres-login-params): Bump version.
6161 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
6163         Document DEFUN attributes
6165         * doc/lispref/internals.texi (Writing Emacs Primitives): Document
6166         specification of function attributes in DEFUN.
6168 2018-03-22  Nicolas Petton  <nicolas@petton.fr>
6170         * etc/NEWS: Add an entry for auth-source-pass.
6172 2018-03-22  Eli Zaretskii  <eliz@gnu.org>
6174         Fix the MSDOS build
6176         * msdos/sed2v2.inp (HAVE_SBRK): Define to 1.
6178 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
6180         Improve warning and error messages
6182         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-read,
6183           (eieio-persistent-validate/fix-slot-value): Indicate exactly what
6184           went wrong.
6186 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
6188         Adjust eieio persistence tests for expected failure
6190         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
6191          (eieio-test-persist-hash-and-vector,
6192           eieio-test-persist-interior-lists): Persistence does not currently
6193          handle deeply-nested objects. Expect current failures, and mark for
6194          future fixes.
6196 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
6198         Let eieio-persistent-read read what object-write has written
6200         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
6201           `object-write' may quote lists inside hash tables and vectors, so
6202           unquote those lists here.
6204         This patch allows the eieio-persistent write/restore process to
6205         perform a clean round trip. It only handles a very specific and
6206         limited range of object structures, but at least the write and read
6207         procedures match.
6209 2018-03-22  Eric Abrahamsen  <eric@ericabrahamsen.net>
6211         Handle possible classtype values in eieio-persistent-read
6213         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
6214           The function `eieio-persistent-slot-type-is-class-p' could return
6215           either a single class, or a list of classes.
6217 2018-03-22  Pierre Téchoueyres  <pierre.techoueyres@free.fr>
6219         Add new tests for eieio persistence
6221         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el:
6222           (hash-equal): New comparison test for hash-tables.
6223           (persist-test-save-and-compare): Use test for hash-tables.
6224           (eieio-test-persist-hash-and-vector,
6225           eieio-test-persist-interior-lists): New tests.
6227 2018-03-22  Glenn Morris  <rgm@gnu.org>
6229         * lisp/gnus/gnus-cloud.el (gnus-cloud-synced-files): Fix doc & type.
6231         * lisp/ibuf-ext.el (ibuffer-never-search-content-mode): Fix type.
6233 2018-03-21  Glenn Morris  <rgm@gnu.org>
6235         * doc/lispref/windows.texi (Selecting Windows): Fix a typo.
6237 2018-03-21  Charles A. Roelli  <charles@aurox.ch>
6239         * doc/lispref/internals.texi (Writing Emacs Primitives): Fix grammar.
6241 2018-03-21  Alan Mackenzie  <acm@muc.de>
6243         Firm up documentation of generalized variables
6245         * doc/lispref/variables.texi (Generalized Variables)
6246         (Setting Generalized Variables): Define a generalized variable as something
6247         setf can write to.  Remove the insinuation that hackers have poor memories.
6248         State explicitly that the list of GVs given is complete.  Remove the
6249         suggestion that `setf' has superseded, or is in the process of superseding,
6250         `setq'.  Make minor corrections to the English.
6252 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
6254         Improve documentation of Auto-Revert mode
6256         * doc/emacs/files.texi (Reverting): Mention that Aut-Revert
6257         applies to Dired buffers as well.  Suggested by Michael Albinus
6258         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
6260 2018-03-21  Eli Zaretskii  <eliz@gnu.org>
6262         Improvements in dired.texi
6264         * doc/emacs/dired.texi (Dired): Mention that Dired works with
6265         remote directories.
6266         (Dired Enter): ls-lisp is used on some remote systems as well.
6267         (Dired Navigation): Mention and index the command names.
6268         (Dired Deletion): Document the 'always' value of
6269         dired-recursive-deletes.  Mention the alternative deletion method.
6270         (Marks vs Flags): Fix spelling of Auto-Revert mode.  Document what
6271         marking does on a subdirectory header line.
6272         (Operating on Files): Document that 'Z' uses gzip or compress.
6273         (Comparison in Dired): Mention ediff-files.
6274         (Misc Dired Features): Fix a typo.  Suggested by Michael Albinus
6275         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
6277 2018-03-21  Noam Postavsky  <npostavs@gmail.com>
6279         Revert "Support all perl variable declarators and prefixes"
6281         It highlights normal variable names in perl programs (Bug#30812).
6282         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
6283         (perl-font-lock-keywords-2): Restore values prior to Bug#27613 fix.
6285         Don't merge to master, we will fix Bug#27613 properly there (it's too
6286         close to release to do that on emacs-26).
6288 2018-03-20  Paul Eggert  <eggert@cs.ucla.edu>
6290         Port to 32-bit sparc64
6292         Backport from master.
6293         Problem reported by Ulrich Mueller; fix suggested by Eli Zaretskii
6294         and Andreas Schwab (Bug#30855).
6295         * src/alloc.c (mark_memory): Call mark_maybe_object only on
6296         pointers that are properly aligned for Lisp_Object.
6298 2018-03-20  Robert Pluim  <rpluim@gmail.com>
6300         Correct Info link markup
6302         * lisp/gnus/gnus-agent.el (gnus-agent-auto-agentize-methods):
6303         Correct markup for Info link.
6304         * src/minibuf.c (Fcompleting_read): Likewise.
6306 2018-03-20  Nick Helm  <nick@tenpoint.co.nz>
6308         Improve documentation of 'with-help-window'
6310         * doc/lispref/help.texi (Help Functions): Change variable name
6311         to 'buffer-or-name'.
6313         * lisp/help.el (with-help-window): Change variable name to
6314         'buffer-or-name' and rewrite the doc string, adding reference
6315         to 'help-window-setup'.  (Bug#30792)
6317 2018-03-20  Eli Zaretskii  <eliz@gnu.org>
6319         Minor improvements in building.texi
6321         * doc/emacs/building.texi (Compilation Shell): Mention that this
6322         section is for local compilation buffers.
6323         (Compilation, Compilation Mode): Mention that 'g' is bound to
6324         'recompile' in compilation buffers.
6325         (Grep Searching): Add a cross-reference to "Compilation Mode".
6326         Suggested by Michael Albinus <michael.albinus@gmx.de> in
6327         emacs-manual-bugs@gnu.org.
6329 2018-03-20  Alex Branham  <branham@utexas.edu>
6331         * lisp/textmodes/bibtex.el (bibtex-mark-entry): activate mark
6333 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
6335         * doc/emacs/building.texi (Starting GUD): Mention 'guiler'.
6337 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
6339         Yet more proofreading of the Emacs manual
6341         * doc/emacs/building.texi (Compilation, Grep Searching)
6342         (Debuggers, GUD Customization, Source Buffers)
6343         (Breakpoints Buffer, Threads Buffer): Minor fixes and updates.
6344         Suggested by Michael Albinus <michael.albinus@gmx.de> in
6345         emacs-manual-bugs@gnu.org.
6347 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6349         * doc/emacs/rmail.texi: Fix broken link.
6351 2018-03-19  Paul Eggert  <eggert@cs.ucla.edu>
6353         Fix recently-added POP doc glitch
6355         * doc/emacs/rmail.texi (Remote Mailboxes):
6356         POP3 → POP, when talking about POP in general.
6358 2018-03-19  Eli Zaretskii  <eliz@gnu.org>
6360         More proofreading of the Emacs manual
6362         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix typos.  Improve
6363         indexing.
6364         (Mac / GNUstep Basics, Mac / GNUstep Customization)
6365         (Mac / GNUstep Events): Improve indexing.
6367         * doc/emacs/rmail.texi (Rmail): Mention Gnus.
6368         (Rmail Basics, Rmail Scrolling): Improve cross-references and
6369         indexing.
6370         (Rmail Motion): Minor improvements.
6371         (Rmail Inbox): Remove outdated text about Babyl format.
6372         (Rmail Files): Formatting changes.  Comment out
6373         set-rmail-inbox-list in the table of commands, as it is commented
6374         out in the text that follows.
6375         (Rmail Output, Rmail Labels, Rmail Reply, Rmail Make Summary):
6376         Minor copyedits.
6377         (Rmail Summary Edit): Document
6378         rmail-summary-scroll-between-messages.
6379         (Rmail Editing): Improve indexing.
6380         (Movemail): Fix typos.
6381         (Remote Mailboxes): Use "POP3" rather than "POP".
6383 2018-03-19  Simen Heggestøyl  <simenheg@gmail.com>
6385         Fix typo in the Emacs manual's VC chapter
6387         * doc/emacs/maintaining.texi (VC Directory Buffer): Fix a typo.
6389 2018-03-19  Basil L. Contovounesios  <contovob@tcd.ie>
6391         Pass json-readtable-error data as a list (bug#30489)
6393         * lisp/json.el (json-readtable-dispatch): Fix error data.
6394         * test/lisp/json-tests.el (test-json-read): Check error data is a
6395         list.
6397 2018-03-17  Noam Postavsky  <npostavs@gmail.com>
6399         Improve word motion docs (Bug#30815)
6401         * doc/lispref/positions.texi (Word Motion): Fix reference to
6402         `char-script-table'.
6403         * lisp/simple.el (backward-word):
6404         * src/syntax.c (forward-word): Mention `char-script-table' and add
6405         link to the 'Word Motion' manual section.
6407 2018-03-15  Michael Albinus  <michael.albinus@gmx.de>
6409         Replace "carriage-return" by "carriage return" in manuals
6411         * doc/emacs/msdos.texi:
6412         * doc/emacs/mule.texi:
6413         * doc/emacs/screen.texi:
6414         * doc/lispref/nonascii.texi:
6415         * doc/misc/calc.texi: Replace "carriage-return" by "carriage
6416         return".  Suggested by Richard Stallman <rms@gnu.org> in
6417         emacs-manual-bugs@gnu.org.
6419 2018-03-15  Eli Zaretskii  <eliz@gnu.org>
6421         Minor copyedits in mule.texi
6423         * doc/emacs/mule.texi (Recognize Coding, Fontsets): Minor changes
6424         in wording.  Suggested by Richard Stallman <rms@gnu.org> in
6425         emacs-manual-bugs@gnu.org.
6427 2018-03-14  Eli Zaretskii  <eliz@gnu.org>
6429         Fix problems caused by fontconfig-2.13.0
6431         * src/xterm.c (x_term_init): Call fixup_locale after
6432         xg_initialize, to countermand the call to setlocale in some
6433         versions of fontconfig.  (Bug#30788)
6435 2018-03-13  Glenn Morris  <rgm@gnu.org>
6437         Fix some allout.el aliases
6439         * lisp/allout.el (allout-passphrase-verifier-string)
6440         (allout-passphrase-hint-string): Fix alias.
6442 2018-03-13  Glenn Morris  <rgm@gnu.org>
6444         * lisp/progmodes/ada-mode.el (ada-clean-buffer-before-saving): Doc fix.
6446 2018-03-13  Glenn Morris  <rgm@gnu.org>
6448         Doc fixes re obsolete items
6450         * doc/emacs/mini.texi (Completion Commands): Small update re mouse.
6451         * doc/misc/htmlfontify.texi (Customization): Replace obsolete alias.
6453 2018-03-13  Glenn Morris  <rgm@gnu.org>
6455         Replace an obsolete alias in tpu-mapper
6457         * lisp/obsolete/tpu-mapper.el (tpu-map-key, tpu-mapper):
6458         Replace obsolete alias.
6460 2018-03-13  Glenn Morris  <rgm@gnu.org>
6462         Doc fixes re obsolete items
6464         * doc/emacs/maintaining.texi (VC Undo):
6465         * doc/misc/efaq-w32.texi (Font names): Replace obsolete aliases.
6466         * doc/misc/url.texi (Customization):
6467         Don't mention url-temporary-directory, it essentially does nothing.
6468         * lisp/hilit-chg.el
6469         (highlight-changes-global-changes-existing-buffers): Doc fix.
6471 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
6473         Minor changes in mule.texi
6475         * doc/emacs/mule.texi (International, Coding Systems)
6476         (Bidirectional Editing): Minor wording changes and typo fixes.
6477         Suggested by Michael Albinus <michael.albinus@gmx.de> in
6478         emacs-manual-bugs@gnu.org.
6480 2018-03-13  Eli Zaretskii  <eliz@gnu.org>
6482         Avoid assertion violation under visual-order-cursor-movement
6484         * src/xdisp.c (Fmove_point_visually): Don't let point exceed the
6485         BEGV..ZV range.  Signal Beginning of buffer error when there's a
6486         before-string at BEGV.  (Bug#30787)
6488 2018-03-13  Glenn Morris  <rgm@gnu.org>
6490         Stop mentioning options.el in doc
6492         * doc/misc/calc.texi (Customizing Embedded Mode):
6493         Remove mentions of the obsolete (since 22.1) options.el.
6494         * lisp/progmodes/meta-mode.el: Comment fix.
6496 2018-03-12  Charles A. Roelli  <charles@aurox.ch>
6498         * lisp/vc/vc-dir.el (vc-dir-unmark): Fix documentation.
6500 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
6502         * lisp/minibuffer.el (completion-cycle-threshold): Doc fix.
6504 2018-03-12  Eli Zaretskii  <eliz@gnu.org>
6506         Fix last change in Xref documentation
6508         * doc/emacs/maintaining.texi (Looking Up Identifiers): More
6509         accurate wording for the description of xref-etags-mode.
6511 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
6513         More changes in the Emacs manual
6515         * doc/emacs/text.texi (Words, Foldout, Table Conversion): Clarify
6516         text.  Reported by Gijs Hillenius <gijs@hillenius.net> in
6517         emacs-manual-bugs@gnu.org.
6519         * doc/emacs/msdos.texi (Windows Keyboard):
6520         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
6521         * doc/emacs/macos.texi (Mac / GNUstep Basics):
6522         * doc/emacs/glossary.texi (Glossary):
6523         * doc/emacs/custom.texi (Function Keys, Init Syntax):
6524         * doc/emacs/commands.texi (User Input):
6525         * doc/emacs/basic.texi (Arguments): Fix capitalization of "Meta".
6526         * doc/emacs/msdos.texi (Windows Keyboard):
6527         * doc/emacs/dired.texi (Dired Updating):
6528         * doc/emacs/custom.texi (Init Rebinding): Fix misuses of @key.
6529         Suggested by Richard Stallman <rms@gnu.org>.
6531 2018-03-11  Eli Zaretskii  <eliz@gnu.org>
6533         Improve documentation of Xref
6535         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
6536         xref-etags-mode.
6538 2018-03-11  Paul Eggert  <eggert@cs.ucla.edu>
6540         Fix create_process bug breaking eudc-expand-inline
6542         Problem reported by Thomas Fitzsimmons (Bug#30762).
6543         * src/process.c (create_process) [HAVE_PTYS]:
6544         Call setsid even if !PTY_FLAG.
6546 2018-03-10  Noam Postavsky  <npostavs@gmail.com>
6548         Clarify that nil doesn't match itself as a cl-case clause (Bug#30749)
6550         * lisp/emacs-lisp/cl-macs.el (cl-case): Mention that the ATOM
6551         => (ATOM) short form is only for non-nil ATOMs.
6553 2018-03-10  Charles A. Roelli  <charles@aurox.ch>
6555         Improve SVG documentation
6557         * doc/lispref/display.texi (ImageMagick Images): Remove an
6558         outdated comment that references a fixed bug.
6559         (SVG Images): Fix grammar, and call functions functions (there are
6560         no commands in lisp/svg.el).
6562 2018-03-10  Eli Zaretskii  <eliz@gnu.org>
6564         Document the "URL" keyword in library headers
6566         * doc/lispref/tips.texi (Library Headers): "URL" is an alias for
6567         "Homepage".  Suggested by Peter Oliver <p.d.oliver@mavit.org.uk>.
6568         (Bug#30571)
6570 2018-03-09  Glenn Morris  <rgm@gnu.org>
6572         * test/lisp/international/mule-tests.el:
6573         Avoid local variables confusion.
6575 2018-03-09  Bill Wohler  <wohler@newt.com>
6577         Add missing findex entries for recently removed kindex entries
6579         * doc/misc/mh-e.texi:
6581         (cherry picked from commit a56a3fc6849b89a71c9a00afcb088021ccbe94e5)
6583 2018-03-09  Glenn Morris  <rgm@gnu.org>
6585         Replace the obsolete process-kill-without-query in documentation
6587         * lisp/comint.el (comint-exec-hook):
6588         * lisp/term.el (term-exec-hook):
6589         * lisp/eshell/esh-proc.el (eshell-exec-hook):
6590         Doc fixes re the obsolete process-kill-without-query.
6592 2018-03-08  Michael Albinus  <michael.albinus@gmx.de>
6594         Minor change in the manual
6596         * doc/emacs/display.texi (Useless Whitespace):
6597         Don't upcase "TAB" and "SPC" when alluding to characters.
6599 2018-03-08  Eli Zaretskii  <eliz@gnu.org>
6601         More minor changes in the manual
6603         * doc/emacs/display.texi (Useless Whitespace): Don't upcase "TAB"
6604         and "SPC" when alluding to characters.  Suggested by Richard
6605         Stallman <rms@gnu.org>.
6607         * doc/emacs/buffers.texi (Misc Buffer): Clarify what "read-only"
6608         means for buffers.
6609         (Buffers): Define and describe "buffer contents".  Suggested by
6610         Richard Stallman <rms@gnu.org>.  (Bug#30685)
6612 2018-03-07  Glenn Morris  <rgm@gnu.org>
6614         Replace some obsolete aliases in code
6616         * lisp/net/eudc-bob.el (eudc-bob-mail-keymap):
6617         * lisp/textmodes/reftex-toc.el (reftex-make-separate-toc-frame):
6618         Replace obsolete aliases.
6620 2018-03-07  Glenn Morris  <rgm@gnu.org>
6622         Replace some obsolete aliases in documentation
6624         * doc/misc/efaq-w32.texi (Incoming mail with Rmail):
6625         * doc/misc/speedbar.texi (Major Display Modes):
6626         * lisp/mh-e/mh-folder.el (mh-restore-desktop-buffer):
6627         Doc fixes re obsolete aliases.
6629 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
6631         Minor improvements in manuals
6633         * doc/lispref/variables.texi (Local Variables): Make more clear
6634         that local bindings of 'let' are in effect only within the body.
6635         Suggested by Marcin Borkowski <mbork@mbork.pl>, see
6636         http://lists.gnu.org/archive/html/emacs-devel/2018-03/msg00217.html
6637         for the details.
6639         * doc/emacs/programs.texi (Matching): Fix a typo.  Reported by
6640         Alex Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
6641         Improve indexing.
6643 2018-03-07  Eli Zaretskii  <eliz@gnu.org>
6645         Minor copyedits in display.texi
6647         * doc/emacs/display.texi (Highlight Interactively)
6648         (Useless Whitespace, Line Truncation, Visual Line Mode): Minor
6649         changes of wording and typo corrections.  Suggested by Michael
6650         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
6652 2018-03-07  Glenn Morris  <rgm@gnu.org>
6654         Remove some unused spam.el variables
6656         * lisp/gnus/spam.el (spam-ifile-path, spam-ifile-database-path)
6657         (spam-bogofilter-path, spam-bsfilter-path)
6658         (spam-spamassassin-path, spam-sa-learn-path):
6659         Remove variables that are described as obsolete, but are
6660         really completely unused, and have been for years.
6662 2018-03-07  Glenn Morris  <rgm@gnu.org>
6664         Replace some obsolete aliases in code
6666         * lisp/emulation/viper.el (viper-set-hooks):
6667         * lisp/epa-hook.el (auto-encryption-mode):
6668         * lisp/term/pc-win.el (set-frame-font): Replace obsolete aliases.
6669         * lisp/net/quickurl.el (quickurl--assoc-function): New.
6670         (quickurl-assoc-function): Use it.
6672 2018-03-07  Glenn Morris  <rgm@gnu.org>
6674         Replace some obsolete aliases in documentation
6676         * doc/emacs/text.texi (Nroff Mode):
6677         * doc/misc/efaq.texi (How to add fonts):
6678         * lisp/gnus/nnheader.el (nnheader-insert-file-contents):
6679         * lisp/progmodes/pascal.el (pascal-outline-mode):
6680         Doc fixes re obsolete aliases.
6682 2018-03-06  Glenn Morris  <rgm@gnu.org>
6684         Obsolete eshell-cmpl-suffix-list
6686         * lisp/eshell/em-cmpl.el (eshell-cmpl-suffix-list):
6687         Make obsolete, to match pcomplete-suffix-list.
6689 2018-03-06  Eli Zaretskii  <eliz@gnu.org>
6691         More minor changes in the Glossary of the Emacs manual
6693         * doc/emacs/glossary.texi (Glossary): Improve cross-references for
6694         modifier keys.  Fix typos.  Suggested by Gijs Hillenius
6695         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
6697 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
6699         Revert last commit
6701         This reverts commit af4697faa1f5b643f63a9ea61aa205a4c1432e23.  It's
6702         too late for this to be in the release.
6704 2018-03-06  Michael Heerdegen  <michael_heerdegen@web.de>
6706         Define if-let* and derivatives as aliases for if-let etc
6708         This commit reverts declaring `if-let' and `when-let' obsolete in
6709         favor of the new `if-let*' and `when-let*' versions because of the
6710         compiler warning mess (Bug#30039).  Instead we make foo-let* aliases
6711         for foo-let.  The old single-tuple variable spec case is still
6712         supported for backward compatibility.
6713         * lisp/emacs-lisp/subr-x.el (if-let, when-let): Don't declare
6714         obsolete.  Tweak edebug specs.
6715         (and-let): Renamed from `and-let*' for compatibility with the names
6716         `if-let' and `when-let'.
6717         (if-let*, when-let*, and-let*): Define as aliases for `if-let',
6718         `when-let' and `and-let'.
6719         * test/lisp/emacs-lisp/subr-x-tests.el (if-let-single-tuple-case-test)
6720         (when-let-single-tuple-case-test): New tests for the single-binding
6721         tuple case.
6722         In the whole file, prefer the names without "*".
6724 2018-03-05  Eli Zaretskii  <eliz@gnu.org>
6726         Minor fix in Emacs manual's Glossary
6728         * doc/emacs/glossary.texi (Glossary): Fix outdated text about
6729         primary selection.  Reported by Gijs Hillenius
6730         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
6732 2018-03-03  Juri Linkov  <juri@linkov.net>
6734         * lisp/progmodes/grep.el (zrgrep):
6736         Let-bind grep-use-null-filename-separator to nil (bug#30559).
6738 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
6740         Minor copyedits in doc/emacs/text.texi
6742         * doc/emacs/text.texi (TeX Mode): Use @code for command markup.
6743         (HTML Mode): Add a note about "C-x C-v" binding in HTML mode.
6745 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
6747         Remove outdated comment in syntax.el
6749         * lisp/emacs-lisp/syntax.el (syntax-ppss-toplevel-pos): Remove
6750         outdated comment.  (Bug#30617)
6752 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
6754         Prevent Flyspell from changing unrelated words
6756         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Avoid
6757         using stale cached data from previous invocations of this command.
6758         (Bug#30462)
6760 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
6762         Avoid errors in flymake in builds --without-x
6764         * lisp/progmodes/flymake.el: Require 'mwheel'.  (Bug#28732)
6766 2018-03-03  Eli Zaretskii  <eliz@gnu.org>
6768         More improvements of the Emacs manual
6770         * doc/emacs/rmail.texi (Rmail Reply, Rmail Sorting): Improve
6771         wording.  Suggested by Daniel Chakraborty
6772         <danielmchakraborty@gmail.com>.
6774         * doc/emacs/glossary.texi (Glossary): Add cross-references.
6775         Improve and clarify wording.  Suggested by Gijs Hillenius
6776         <gijs@hillenius.net> in emacs-manual-bugs@gnu.org.
6778         * doc/emacs/text.texi (Org Authoring): Add more supported formats
6779         to the list.
6780         (TeX Print): Improve wording.  Slightly rearrange stuff.
6781         (TeX Misc): Mention doctex-mode-hook.
6782         (Two-Column): Minor rearrangement of text.  Suggested by Michael
6783         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
6785         * doc/emacs/misc.texi (Saving Emacs Sessions):
6786         * doc/emacs/programs.texi (Program Modes): Remove redundant text
6787         and index entries.
6789 2018-03-03  Dmitry Gutov  <dgutov@yandex.ru>
6791         Backport: xref--next-error-function: Move xref's window point
6793         * lisp/progmodes/xref.el (xref--next-error-function): Move
6794         xref's window point if it's visible.  When we don't do that,
6795         navigation can start looping after a while.
6797         (cherry picked from commit 108ce84432d597f92637ea74bd0a094224d157de)
6799 2018-03-02  Glenn Morris  <rgm@gnu.org>
6801         mwheel minor consistency fix
6803         * lisp/mwheel.el (mwheel-scroll-left-function)
6804         (mwheel-scroll-right-function):
6805         Change from defcustom to defvar, for consistency with pre-existing.
6807 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
6809         * src/window.c (Frecenter): Improve commentary.
6811 2018-03-02  Eli Zaretskii  <eliz@gnu.org>
6813         Fix downloading non-text files in EWW
6815         * lisp/net/eww.el (eww-download-callback): Bind
6816         coding-system-for-read to 'no-conversion', to avoid any code- or
6817         EOL-conversions in downloaded files.  (Bug#30664)
6819 2018-03-02  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
6821         Rename some mwheel options, for consistency
6823         * lisp/mwheel.el (mouse-wheel-tilt-scroll)
6824         (mouse-wheel-flip-direction): Rename from mwheel-tilt-scroll-p,
6825         mwheel-flip-direction.
6826         (mwheel-scroll): Update for option renaming.
6827         * doc/emacs/frames.texi (Mouse Commands):
6828         Update for option renaming.
6830 2018-03-01  Glenn Morris  <rgm@gnu.org>
6832         * lisp/vc/add-log.el (add-change-log-entry): Replace obsolete alias.
6834 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
6836         Improve the Emacs manual
6838         * doc/emacs/xresources.texi (Table of Resources): Mention that
6839         some resources are ignored by toolkit builds.
6840         * doc/emacs/custom.texi (Key Bindings): Improve indexing.
6841         (Bug#30530)
6843 2018-03-01  Eli Zaretskii  <eliz@gnu.org>
6845         * lisp/dired-aux.el (dired-do-create-files): Doc fix.  (Bug#30634)
6847 2018-03-01  Michael Albinus  <michael.albinus@gmx.de>
6849         Further improvements on manuals
6851         * doc/emacs/xresources.texi:
6852         * doc/lispref/display.texi:
6853         * doc/lispref/keymaps.texi:
6854         * doc/misc/dbus.texi:
6855         * doc/misc/efaq-w32.texi: Use "GTK+" where applicable.
6857         * doc/emacs/xresources.texi (Resources): Mention several use
6858         of "-xrm".
6859         (Table of Resources) [verticalScrollBars]: Add reference to Scroll Bars.
6861 2018-03-01  Paul Eggert  <eggert@cs.ucla.edu>
6863         Require a larger stack size for threads on macOS (bug#30364)
6865         * src/systhread.c (sys_thread_create)
6866         [THREADS_ENABLED && HAVE_PTHREAD && DARWIN_OS]:
6867         Require at least 8MB stack size for x64 and 4MB for x86 on macOS.
6868         Do not merge to master.
6870 2018-02-28  Glenn Morris  <rgm@gnu.org>
6872         * doc/lispref/streams.texi (Output Variables): Fix previous.
6874 2018-02-28  Michael Albinus  <michael.albinus@gmx.de>
6876         Use "GTK+" where applicable in the manual
6878         * doc/emacs/display.texi (Standard Faces, Standard Faces):
6879         * doc/emacs/emacs.texi (Top):
6880         * doc/emacs/files.texi (Visiting):
6881         * doc/emacs/frames.texi (Scroll Bars):
6882         * doc/emacs/xresources.texi: Use "GTK+" where applicable.
6884 2018-02-28  Paul Eggert  <eggert@cs.ucla.edu>
6886         Document print-escape-control-characters
6888         * doc/lispref/streams.texi, etc/NEWS: Add doc.
6890 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
6892         * doc/emacs/killing.texi (Rectangles): Don't use @key for characters.
6894 2018-02-27  Glenn Morris  <rgm@gnu.org>
6896         * lisp/emulation/viper.el: Unbreak it.
6898         Since 2017-03-19, M-x viper failed with function void cl-member-if.
6899         Perhaps it isn't used much.
6901 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
6903         More fixes in the Emacs manual
6905         * doc/emacs/xresources.texi (Table of Resources, Lucid Resources):
6906         Sort the resources.
6907         (Lucid Resources): Add cross-references.
6908         (GTK Resource Basics): Fix wording.
6909         (GTK styles): Add empty lines in a @table.  Suggested by Michael
6910         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
6912 2018-02-27  Eli Zaretskii  <eliz@gnu.org>
6914         Avoid aborts in 'md5'
6916         * src/fns.c (extract_data_from_object): Don't crash if called with
6917         an invalid object.  (Bug#30627)
6919 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
6921         Mark keys consistently in manuals
6923         * doc/emacs/killing.texi:
6924         * doc/lispintro/emacs-lisp-intro.texi:
6925         * doc/misc/calc.texi:
6926         * doc/misc/cc-mode.texi:
6927         * doc/misc/dired-x.texi:
6928         * doc/misc/ede.texi:
6929         * doc/misc/edt.texi:
6930         * doc/misc/efaq.texi:
6931         * doc/misc/erc.texi:
6932         * doc/misc/eshell.texi:
6933         * doc/misc/gnus-faq.texi:
6934         * doc/misc/gnus-news.texi:
6935         * doc/misc/idlwave.texi:
6936         * doc/misc/ido.texi:
6937         * doc/misc/mairix-el.texi:
6938         * doc/misc/message.texi:
6939         * doc/misc/mh-e.texi:
6940         * doc/misc/newsticker.texi:
6941         * doc/misc/org.texi:
6942         * doc/misc/pcl-cvs.texi:
6943         * doc/misc/ses.texi:
6944         * doc/misc/sieve.texi:
6945         * doc/misc/smtpmail.texi:
6946         * doc/misc/speedbar.texi:
6947         * doc/misc/srecode.texi:
6948         * doc/misc/vhdl-mode.texi:
6949         * doc/misc/vip.texi:
6950         * doc/misc/viper.texi: Mark keys consistently.
6952 2018-02-26  Michael Albinus  <michael.albinus@gmx.de>
6954         Remove @key{} markups from @kindex entries in manuals
6956         * doc/emacs/basic.texi:
6957         * doc/emacs/buffers.texi:
6958         * doc/emacs/building.texi:
6959         * doc/emacs/calendar.texi:
6960         * doc/emacs/custom.texi:
6961         * doc/emacs/dired.texi:
6962         * doc/emacs/display.texi:
6963         * doc/emacs/files.texi:
6964         * doc/emacs/frames.texi:
6965         * doc/emacs/help.texi:
6966         * doc/emacs/indent.texi:
6967         * doc/emacs/killing.texi:
6968         * doc/emacs/kmacro.texi:
6969         * doc/emacs/mark.texi:
6970         * doc/emacs/mini.texi:
6971         * doc/emacs/misc.texi:
6972         * doc/emacs/modes.texi:
6973         * doc/emacs/msdos-xtra.texi:
6974         * doc/emacs/msdos.texi:
6975         * doc/emacs/mule.texi:
6976         * doc/emacs/picture-xtra.texi:
6977         * doc/emacs/programs.texi:
6978         * doc/emacs/regs.texi:
6979         * doc/emacs/rmail.texi:
6980         * doc/emacs/screen.texi:
6981         * doc/emacs/search.texi:
6982         * doc/emacs/sending.texi:
6983         * doc/emacs/text.texi:
6984         * doc/emacs/trouble.texi:
6985         * doc/misc/calc.texi:
6986         * doc/misc/cc-mode.texi:
6987         * doc/misc/ediff.texi:
6988         * doc/misc/ert.texi:
6989         * doc/misc/eww.texi:
6990         * doc/misc/forms.texi:
6991         * doc/misc/gnus.texi:
6992         * doc/misc/idlwave.texi:
6993         * doc/misc/info.texi:
6994         * doc/misc/message.texi:
6995         * doc/misc/mh-e.texi:
6996         * doc/misc/newsticker.texi:
6997         * doc/misc/org.texi:
6998         * doc/misc/pcl-cvs.texi:
6999         * doc/misc/rcirc.texi:
7000         * doc/misc/reftex.texi:
7001         * doc/misc/sc.texi:
7002         * doc/misc/sieve.texi:
7003         * doc/misc/vhdl-mode.texi:
7004         * doc/misc/vip.texi:
7005         * doc/misc/viper.texi:
7006         * doc/misc/woman.texi: Remove @key{} markups from @kindex entries.
7008 2018-02-25  Eli Zaretskii  <eliz@gnu.org>
7010         * doc/emacs/display.texi (Standard Faces): Fix markup of index entry.
7012 2018-02-25  Michael Albinus  <michael.albinus@gmx.de>
7014         Fix @kindex entries in manuals
7016         * doc/emacs/basic.texi:
7017         * doc/emacs/buffers.texi:
7018         * doc/emacs/building.texi:
7019         * doc/emacs/calendar.texi:
7020         * doc/emacs/custom.texi:
7021         * doc/emacs/dired.texi:
7022         * doc/emacs/display.texi:
7023         * doc/emacs/files.texi:
7024         * doc/emacs/frames.texi:
7025         * doc/emacs/help.texi:
7026         * doc/emacs/indent.texi:
7027         * doc/emacs/killing.texi:
7028         * doc/emacs/kmacro.texi:
7029         * doc/emacs/mark.texi:
7030         * doc/emacs/mini.texi:
7031         * doc/emacs/misc.texi:
7032         * doc/emacs/modes.texi:
7033         * doc/emacs/msdos-xtra.texi:
7034         * doc/emacs/msdos.texi:
7035         * doc/emacs/mule.texi:
7036         * doc/emacs/picture-xtra.texi:
7037         * doc/emacs/programs.texi:
7038         * doc/emacs/regs.texi:
7039         * doc/emacs/rmail.texi:
7040         * doc/emacs/screen.texi:
7041         * doc/emacs/search.texi:
7042         * doc/emacs/sending.texi:
7043         * doc/emacs/text.texi:
7044         * doc/emacs/trouble.texi:
7045         * doc/lispref/files.texi:
7046         * doc/misc/calc.texi:
7047         * doc/misc/cc-mode.texi:
7048         * doc/misc/ediff.texi:
7049         * doc/misc/epa.texi:
7050         * doc/misc/ert.texi:
7051         * doc/misc/eww.texi:
7052         * doc/misc/forms.texi:
7053         * doc/misc/gnus.texi:
7054         * doc/misc/info.texi:
7055         * doc/misc/mairix-el.texi:
7056         * doc/misc/message.texi:
7057         * doc/misc/mh-e.texi:
7058         * doc/misc/newsticker.texi:
7059         * doc/misc/org.texi:
7060         * doc/misc/pcl-cvs.texi:
7061         * doc/misc/rcirc.texi:
7062         * doc/misc/sc.texi:
7063         * doc/misc/sieve.texi:
7064         * doc/misc/vhdl-mode.texi:
7065         * doc/misc/vip.texi:
7066         * doc/misc/viper.texi:
7067         * doc/misc/woman.texi: Fix @kindex entries.  Mark keys consistently.
7069 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
7071         Fix @cindex entries in manuals
7073         * doc/emacs/custom.texi:
7074         * doc/emacs/dired.texi:
7075         * doc/emacs/display.texi:
7076         * doc/emacs/files.texi:
7077         * doc/emacs/frames.texi:
7078         * doc/emacs/killing.texi:
7079         * doc/emacs/maintaining.texi:
7080         * doc/emacs/misc.texi:
7081         * doc/emacs/msdos-xtra.texi:
7082         * doc/emacs/msdos.texi:
7083         * doc/emacs/search.texi:
7084         * doc/emacs/text.texi:
7085         * doc/emacs/trouble.texi:
7086         * doc/lispintro/emacs-lisp-intro.texi:
7087         * doc/lispref/strings.texi:
7088         * doc/lispref/text.texi:
7089         * doc/misc/cc-mode.texi:
7090         * doc/misc/efaq.texi:
7091         * doc/misc/eieio.texi:
7092         * doc/misc/emacs-mime.texi:
7093         * doc/misc/gnus.texi:
7094         * doc/misc/htmlfontify.texi:
7095         * doc/misc/idlwave.texi:
7096         * doc/misc/message.texi:
7097         * doc/misc/mh-e.texi:
7098         * doc/misc/sem-user.texi:
7099         * doc/misc/ses.texi:
7100         * doc/misc/tramp.texi:
7101         * doc/misc/vhdl-mode.texi: Fix @cindex entries.
7103 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
7105         Fix @cindex entries in org.texi
7107         * doc/misc/org.texi: Fix @cindex entries.  Use consistently
7108         @code{} for keywords.
7110 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
7112         Document reserved keys
7114         * doc/emacs/custom.texi (Key Bindings): Mention keys reserved for
7115         users.  (Bug#30530)
7117 2018-02-24  Michael Albinus  <michael.albinus@gmx.de>
7119         * doc/misc/ebrowse.texi: Use @key{} for keys.
7121 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
7123         * src/keyboard.c (syms_of_keyboard): Doc fix.  (Bug#30588)
7125 2018-02-24  Eli Zaretskii  <eliz@gnu.org>
7127         Improve documentation of X resources
7129         * doc/emacs/xresources.texi (Table of Resources): Add menu-related
7130         resources.  Add cross-references to "GTK Resources".
7132 2018-02-23  Glenn Morris  <rgm@gnu.org>
7134         * lisp/international/mule.el (keyboard-coding-system): Doc fix.
7136         Since multi-tty, this is always set.
7138 2018-02-23  Paul Eggert  <eggert@cs.ucla.edu>
7140         Minor doc fixes, mostly for timestamp issues
7142 2018-02-23  Eli Zaretskii  <eliz@gnu.org>
7144         * doc/emacs/mini.texi (Completion Styles): Improve indexing.
7146 2018-02-23  Michael Albinus  <michael.albinus@gmx.de>
7148         Fix @findex and @vindex entries in manuals
7150         * doc/emacs/building.texi:
7151         * doc/emacs/calendar.texi:
7152         * doc/emacs/cmdargs.texi:
7153         * doc/emacs/mini.texi:
7154         * doc/emacs/misc.texi:
7155         * doc/emacs/trouble.texi:
7156         * doc/emacs/windows.texi:
7157         * doc/lispintro/emacs-lisp-intro.texi:
7158         * doc/lispref/edebug.texi:
7159         * doc/lispref/frames.texi:
7160         * doc/lispref/os.texi:
7161         * doc/lispref/windows.texi:
7162         * doc/misc/cc-mode.texi:
7163         * doc/misc/dired-x.texi:
7164         * doc/misc/ediff.texi:
7165         * doc/misc/mh-e.texi:
7166         * doc/misc/pcl-cvs.texi:
7167         * doc/misc/reftex.texi:
7168         * doc/misc/sc.texi:
7169         * doc/misc/vhdl-mode.texi:
7170         * doc/misc/viper.texi: Fix @findex and @vindex entries.
7172 2018-02-22  Alan Mackenzie  <acm@muc.de>
7174         Document, in the Elisp manual, how to get a character's raw syntax descriptor
7176         * doc/lispref/syntax.texi (Syntax Table internals): mention the use of `aref'
7177         to get a character's raw syntax descriptor.
7179 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
7181         Improvements in the Emacs manual
7183         * doc/emacs/custom.texi (Customization Groups)
7184         (Changing a Variable, Browsing Custom, Customizing Faces): Fix
7185         markup of keys.
7186         (Changing a Variable, Saving Customizations): Update the
7187         description of buttons in the Custom buffer.
7188         (Face Customization): More accurate description.
7189         (Specific Customization, Examining, Locals): Add blank lines in
7190         the @table.  Reported by Michael Albinus <michael.albinus@gmx.de>
7191         in emacs-manual-bugs@gnu.org.
7193 2018-02-22  Glenn Morris  <rgm@gnu.org>
7195         Tiny doc/misc markup fixes
7197         * doc/misc/ediff.texi (Patch and Diff Programs):
7198         * doc/misc/viper.texi (File and Buffer Handling): Fix markup typos.
7200 2018-02-22  Martin Rudalics  <rudalics@gmx.at>
7202         Skip mouse-face overlap check when mouse-face is hidden (Bug#30519)
7204         * src/xdisp.c (note_mouse_highlight): Skip check whether
7205         mouse-face highlighting overlay overlaps other mouse-face
7206         overlays when mouse-face highlighting is hidden (Bug#30519).
7208 2018-02-22  Eli Zaretskii  <eliz@gnu.org>
7210         Fix capitalization of "Mail-Followup-To"
7212         * doc/emacs/sending.texi (Header Editing, Mail Headers):
7213         Standardize on "Mail-Followup-To" as the capitalization.
7215 2018-02-21  Juri Linkov  <juri@linkov.net>
7217         * lisp/progmodes/grep.el (grep-compute-defaults):
7219         Add grep-use-null-filename-separator to grep-host-defaults-alist.
7220         (Bug#30559)
7222 2018-02-21  Charles A. Roelli  <charles@aurox.ch>
7224         Semantic manual fixes
7226         * doc/misc/semantic.texi (Tools): Fix wording and grammar, and
7227         remove a reference to "document-vars.el" which, in the Emacs
7228         repository, is part of lisp/cedet/srecode/document.el.
7230 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
7232         More improvements in the Emacs manual
7234         * doc/emacs/help.texi (Misc Help):
7235         * doc/emacs/m-x.texi (M-x):
7236         * doc/emacs/mini.texi (Minibuffer File, Repetition): Prevent
7237         breaking of command sequences between lines.  Reported by Wojciech
7238         Politarczyk <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
7240         * doc/emacs/sending.texi (Header Editing): Fix capitalization.
7242 2018-02-21  tino calancha  <tino.calancha@gmail.com>
7244         * doc/misc/viper.texi (File and Buffer Handling): Add missing '@'
7246 2018-02-21  Eli Zaretskii  <eliz@gnu.org>
7248         Fix documentation of 'x-underline-at-descent-line'
7250         * doc/emacs/display.texi (Display Custom):
7251         * src/nsterm.m (syms_of_nsterm):
7252         * src/xterm.c (syms_of_xterm):
7253         * src/w32term.c (syms_of_w32term): Mention the effect of
7254         'line-spacing' on the underline position.  (Bug#30553)
7256 2018-02-21  Glenn Morris  <rgm@gnu.org>
7258         * lisp/textmodes/flyspell.el (flyspell-get-word): Doc fix.
7260 2018-02-20  Robert Pluim  <rpluim@gmail.com>
7262         Correct variable markup in manuals
7264         * doc/lispref/minibuf.texi (Completion in Buffers): Fix markup.
7265         * doc/lispref/text.texi (Filling): Likewise.
7266         * doc/misc/dired-x.texi (Advanced Mark Commands): Likewise.
7267         * doc/misc/epa.texi (Encrypting/decrypting gpg files): Likewise.
7268         (Encrypting/decrypting gpg files): Likewise.
7269         * doc/misc/tramp.texi (External methods): Likewise.
7270         (Default Method): Likewise.
7271         * doc/misc/viper.texi (Editing in Insert State): Likewise.
7272         (File and Buffer Handling): Likewise.
7273         * doc/misc/gnus.texi (Mail Source Customization): Likewise.
7274         * doc/misc/url.texi (Customization): Likewise.  Note obsolete
7275         status of url-temporary-directory.
7277 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
7279         Improve the "Sending Mail" chapter of Emacs manual
7281         * doc/emacs/sending.texi (Mail Format, Header Editing)
7282         (Mail Aliases): Fix capitalization of mail headers.
7283         (Mail Aliases): Use ~/.mailrc consistently.
7284         (Mail Misc): More accurate description of disposition.  Suggested
7285         by Michael Albinus <michael.albinus@gmx.de> in
7286         emacs-manual-bugs@gnu.org.
7288 2018-02-20  Eli Zaretskii  <eliz@gnu.org>
7290         Fix documentation of 'flyspell-auto-correct-word'
7292         * lisp/textmodes/flyspell.el (flyspell-get-word): Elaborate in the
7293         doc string on how the function looks for the word to spell-check.
7294         (flyspell-word, flyspell-auto-correct-word): Refer to
7295         'flyspell-get-word' for details about finding the word.
7296         (Bug#30462)
7298 2018-02-19  Robert Pluim  <rpluim@gmail.com>
7300         * doc/emacs/misc.texi (Saving Emacs Sessions): Fix markup.
7302 2018-02-19  Eli Zaretskii  <eliz@gnu.org>
7304         More changes in the Emacs manuals
7306         * doc/emacs/custom.texi (Customization Groups, Browsing Custom)
7307         (Custom Themes, Keymaps, Prefix Keymaps, Modifier Keys)
7308         (Function Keys, Named ASCII Chars, Mouse Buttons, Init Examples):
7309         Fix punctuation.  Suggested by Stefan Kamphausen
7310         <stefan.kamphausen@acrolinx.com> in emacs-manual-bugs@gnu.org.
7312         * doc/emacs/basic.texi (Arguments, Repeating): Avoid breaking
7313         commands between lines.  Reported by Wojciech Politarczyk
7314         <w.politarczyk@gmail.com> in emacs-manual-bugs@gnu.org.
7316         * doc/emacs/custom.texi (Init Rebinding): Move index entries about
7317         rebinding keys from "Init File".  (Bug#30528)
7319 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
7321         More fixes in the Emacs manual
7323         * doc/emacs/abbrevs.texi (Defining Abbrevs, Expanding Abbrevs)
7324         (Editing Abbrevs, Saving Abbrevs): Insert blank lines between
7325         @item's.
7326         (Expanding Abbrevs): Add 'unexpand-abbrev' to the list of
7327         commands.  Suggested by Michael Albinus <michael.albinus@gmx.de>
7328         in emacs-manual-bugs@gnu.org.
7330 2018-02-18  Eli Zaretskii  <eliz@gnu.org>
7332         * src/data.c (Faref): Fix a typo in the doc string.  (Bug#30510)
7334 2018-02-18  Michael Albinus  <michael.albinus@gmx.de>
7336         Minor edit in tramp.texi
7338         * doc/misc/tramp.texi (Remote shell setup, Windows setup hints):
7339         Improve @cindex entries.
7341 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
7343         More improvements in the Emacs manual
7345         * doc/emacs/maintaining.texi (Xref Commands, Identifier Search)
7346         (List Identifiers): Insert blank lines between @item's in a
7347         @table.
7348         (Etags Regexps): More accurate description of escape sequences.
7349         (Select Tags Table): Prefer "~/emacs.d/init.el" to "~/.emacs".
7350         Suggested by Michael Albinus <michael.albinus@gmx.de> in
7351         emacs-manual-bugs@gnu.org.
7353 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
7355         Improve documentation of 'electric-pair-mode'
7357         * lisp/elec-pair.el (electric-pair-mode):
7358         * doc/emacs/programs.texi (Matching): Document the operation of
7359         electric-pair-mode when there's an active region.  (Bug#30502)
7361 2018-02-17  Charles A. Roelli  <charles@aurox.ch>
7363         lisp/vc/: documentation fixes
7365         * lisp/vc/vc.el (vc-region-history): Clarify documentation.
7366         * lisp/vc/add-log.el (change-log-get-method-definition):
7367         Indent documentation.
7369 2018-02-17  Robert Pluim  <rpluim@gmail.com>
7371         Document 'desktop-files-not-to-save'
7373         * doc/emacs/misc.texi (Saving Emacs Sessions): Add description
7374         of 'desktop-files-not-to-save'.
7376         * lisp/desktop.el (desktop-files-not-to-save): Explain that
7377         the default value excludes buffers visiting remote files.
7379 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
7381         Improve documentation of Profiling features
7383         * doc/lispref/debugging.texi (Profiling): Improve the description
7384         of elp.el.  Improve wording of the rest of the section.  (Bug#30491)
7386         * lisp/emacs-lisp/elp.el (elp-instrument-list): Make the
7387         interactive invocation work.  Doc fix.
7389 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
7391         Improve indexing of "performance" in ELisp manual
7393         * doc/lispref/debugging.texi (Profiling):
7394         * doc/lispref/edebug.texi (Coverage Testing): Improve indexing of
7395         features useful for performance analysis.  (Bug#30490)
7397 2018-02-17  Eli Zaretskii  <eliz@gnu.org>
7399         Minor change in Emacs manual's VC chapter
7401         * doc/emacs/maintaining.texi (Log Buffer): Mention the "Summary"
7402         header.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
7403         emacs-manual-bugs@gnu.org.
7405 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
7407         Avoid memory corruption with specpdl overflow + edebug (Bug#30481)
7409         If grow_specpdl fails due to outgrowing max_specpdl_size, it will
7410         signal an error *before* growing the specpdl array.  Therefore, when
7411         handling the signal, specpdl_ptr points past the end of the specpdl
7412         array and any further use of of specpdl before unwinding (e.g., if
7413         edebug binds signal-hook-function) will cause memory corruption.
7414         * src/eval.c (signal_or_quit): Don't call `signal-hook-function' if
7415         the specpdl_ptr is already past the end of the specpdl array.
7416         * test/src/eval-tests.el (eval-tests--exceed-specbind-limit)
7417         (eval-exceed-specbind-with-signal-hook): New test & helper function.
7419 2018-02-17  Noam Postavsky  <npostavs@gmail.com>
7421         Document comment-fill-column in the manual (Bug#11636)
7423         * doc/emacs/programs.texi (Comment Commands)
7424         (Options for Comments): Mention comment-fill-column.
7426 2018-02-17  Glenn Morris  <rgm@gnu.org>
7428         * doc/emacs/dired.texi (Marks vs Flags): Copyedits.
7430 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
7432         More fixes for the Emacs manual
7434         * doc/emacs/vc1-xtra.texi (Customizing VC): Update the list of
7435         backends.
7436         * doc/emacs/maintaining.texi (Version Control): Add SRC to the
7437         list of VCS.  Remove the description of vc-state-refresh.
7438         (Version Control Systems): Update the description of CVS.
7439         (VC Change Log): Amend the list of VCS that don't support
7440         vc0print-root-log.
7441         (VCS Changesets, VCS Repositories, Advanced C-x v v)
7442         (VC Change Log): Mention SRC with RCS where appropriate.
7443         (VC Directory Commands): More accurate description of
7444         vc-dir-hide-up-to-date.  Suggested by Michael Albinus
7445         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
7447 2018-02-16  Robert Cochran  <robert@cochranmail.com>
7449         Make 'byte-compile-error-on-warn' a safe file variable
7451         * lisp/emacs-lisp/bytecomp.el (byte-compile-error-on-warn): Mark
7452         as a safe local variable for boolean values.
7454 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
7456         Fix the doc string of flyspell-auto-correct-word
7458         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word): Doc
7459         fix.  (Bug#30462)
7461 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
7463         Improve the MS-Windows appendix of the Emacs manual
7465         * doc/emacs/msdos.texi (Windows Startup): Describe the pinned
7466         shortcuts for starting Emacs.
7467         (Text and Binary): Minor wording changes.
7468         (Windows Files): Mention 'read-file-name-completion-ignore-case'.
7469         (ls in Lisp): Update the list of supported 'ls' switches.
7470         Document 'ls-lisp-use-string-collate' and
7471         'ls-lisp-UCA-like-collation'.
7472         (Windows HOME): Mention warnings displayed at startup when
7473         deprecated locations of HOME and/or deprecated names for init
7474         files are used.
7475         (Windows Keyboard): Mention delete-selection-mode.
7477 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
7479         Fix 'vc-git--program-version'
7481         * lisp/vc/vc-git.el (vc-git--program-version): Fix the function to
7482         work with Git for Windows.
7484 2018-02-16  Eli Zaretskii  <eliz@gnu.org>
7486         Fix typos and wording in the Emacs manual
7488         * doc/emacs/dired.texi (Marks vs Flags, Hiding Subdirectories):
7489         * doc/emacs/maintaining.texi (Tag Syntax):
7490         * doc/emacs/building.texi (Commands of GUD, Threads Buffer)
7491         (Lisp Libraries):
7492         * doc/emacs/windows.texi (Temporary Displays): Fix typos.
7493         * doc/emacs/files.texi (Backup Copying): Fix wording.  Reported by
7494         Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
7495         emacs-manual-bugs@gnu.org.
7497 2018-02-16  Michael Albinus  <michael.albinus@gmx.de>
7499         * doc/emacs/programs.texi (Semantic): Order programming languages.
7501 2018-02-15  Eli Zaretskii  <eliz@gnu.org>
7503         More improvements for the Emacs manual
7505         * doc/emacs/programs.texi (Basic Indent, Comment Commands): Fix
7506         typos.
7507         * doc/emacs/text.texi (TeX Print, HTML Mode, Enriched Faces): Fix
7508         typos.
7509         * doc/emacs/help.texi (Help Files): Improve @uref usage.  Reported
7510         by Stefan Kamphausen <stefan.kamphausen@acrolinx.com> in
7511         emacs-manual-bugs@gnu.org.
7513         * doc/emacs/fortran-xtra.texi (ForIndent Commands): Fix a typo.
7514         (ForIndent Commands, Fortran Columns): Add empty lines between
7515         @items in a @table.
7516         (ForIndent Cont, ForIndent Num, Fortran Columns): Mention
7517         'column-number-indicator-zero-based'.
7518         (ForIndent Vars): Fix a typo.
7519         (Fortran Comments): Fix punctuation.
7520         (ForIndent Cont, Fortran Autofill): Fix markup of keyboard input.
7521         * doc/emacs/programs.texi (Comments): Fix a typo.
7522         (Comment Commands): More accurate description of the commands.
7523         (Options for Comments): Don't mention "hook".
7524         (Man Page): Prefer "M-x man" if available.
7525         (Hideshow): Fix the command key sequence.
7526         (Semantic): Update supported languages.
7527         (Semantic, Hungry Delete, Other C Commands): Fix markup of
7528         commands.
7529         (Misc for Programs): Fix a typo.
7530         (Electric C, Hungry Delete): More accurate description of
7531         mode-line lighters of CC submodes.
7532         (Asm Mode): Add empty lines between @items in a @table.
7533         * doc/emacs/programs.texi (Program Modes): Add a few more modes.
7534         Reported by Michael Albinus <michael.albinus@gmx.de> in
7535         emacs-manual-bugs@gnu.org.
7537         * doc/emacs/msdos.texi (Windows Misc): A minor rewording.
7538         Suggested by Isaac Carter <icarter1391@gmail.com> in
7539         emacs-manual-bugs@gnu.org.
7541 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
7543         Minor wording change in Emacs manual
7545         * doc/emacs/killing.texi (Accumulating Text): Fix spelling.
7546         Reported by lyr3 <lyr3@protonmail.com> in
7547         emacs-manual-bugs@gnu.org.
7549 2018-02-14  Eli Zaretskii  <eliz@gnu.org>
7551         Another set of changes for the manual
7553         * doc/emacs/programs.texi (Program Indent): Add a cross-reference
7554         to elisp's description of 'pp'.
7555         (Program Modes): Add a few more programming modes.  Add index
7556         entries.
7557         (Basic Indent, Multi-line Indent, C Indent, Comment Commands)
7558         (Manipulating Comments): Fix markup of keyboard commands.
7559         * doc/emacs/search.texi (Regexps): Add an example with non-ASCII
7560         characters.  Suggested by Michael Albinus <michael.albinus@gmx.de>
7561         in emacs-manual-bugs@gnu.org.
7563         * doc/lispref/display.texi (Display Tables): Fix the description
7564         of the 5th extra slot of the display table.  (Bug#13473)
7566         * doc/emacs/regs.texi (Registers): Simplify wording.
7568         * doc/emacs/custom.texi (Init Non-ASCII): Remove outdated text
7569         about perils of encoded keyboard input.
7571 2018-02-14  Michael Albinus  <michael.albinus@gmx.de>
7573         Improvements on tramp.texi
7575         * doc/misc/tramp.texi: Use Tramp version in title.  Further
7576         improvements on user option indexing.  Finish command examples
7577         with @key{RET} where appropriate.
7578         (Remote processes): Use 'M-&' for invocation of async shell.
7579         (Frequently Asked Questions): Add example with simplified syntax.
7581 2018-02-13  Paul Eggert  <eggert@cs.ucla.edu>
7583         Tramp minor doc fixes
7585         * doc/misc/tramp.texi (Remote processes): Spelling fix and minor
7586         wording improvement.
7588 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
7590         More changes in the Emacs manual
7592         * doc/emacs/search.texi (Regexp Backslash): Say that
7593         symbol-constituent characters are determined by the syntax table.
7594         (Lax Search): Fix example of case-insensitive search.  Fix a
7595         typo.
7596         (Unconditional Replace): Improve wording.
7597         (Regexp Replace): More consistent wording.  Reported by Michael
7598         Albinus <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
7600         * doc/emacs/msdos.texi (Windows HOME): Avoid enumerating all the
7601         Windows versions.  Reported by Isaac Carter
7602         <icarter1391@gmail.com> in emacs-manual-bugs@gnu.org.
7604 2018-02-13  Andreas Schwab  <schwab@suse.de>
7606         * lisp/vc/vc.el (vc-deduce-backend): Use ignore-errors.
7608 2018-02-13  Andreas Schwab  <schwab@suse.de>
7610         Don't signal error in vc-deduce-backend
7612         * lisp/vc/vc.el (vc-deduce-backend): Return nil if
7613         vc-responsible-backend signals an error.
7615 2018-02-13  Michael Albinus  <michael.albinus@gmx.de>
7617         * doc/misc/tramp.texi: Index more user options.
7619 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
7621         Minor change in the Emacs manual
7623         * doc/emacs/building.texi (Lisp Libraries): Explain why nil in
7624         load-path is not a good idea.  Suggested by James Yoo
7625         <james.yoo@gmail.com> in emacs-manual-bugs@gnu.org.
7627 2018-02-13  Eli Zaretskii  <eliz@gnu.org>
7629         NEWS update about 'string-trim'
7631         * etc/NEWS: Mention changes in string-trim family of functions.
7632         (Bug#30442)
7634 2018-02-13  Noam Postavsky  <npostavs@gmail.com>
7636         Clarify TRAMP process-environment interaction (Bug#30419)
7638         * doc/misc/tramp.texi (Remote processes): Index the
7639         tramp-remote-process-environment description.  Clarify the effects of
7640         let-binding process-environment and the motivation for that behavior.
7642 2018-02-12  Juri Linkov  <juri@linkov.net>
7644         * lisp/progmodes/grep.el (grep-num-matches-found): New variable.
7646         (grep-mode-line-matches): New defconst.
7647         (grep-mode-font-lock-keywords): Update the regexp for “Grep finished”
7648         to include the number of matches found.
7649         (grep-process-setup): Set grep-num-matches-found to 0.
7650         (grep-exit-message): New function with body moved from lambda
7651         in grep-process-setup.  Use grep-num-matches-found to return
7652         the number of matches found.
7653         (grep-filter): Increment grep-num-matches-found.
7654         (grep-mode): Set compilation-mode-line-errors to grep-mode-line-matches.
7655         (Bug#30397, bug#14017)
7657 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
7659         Avoid aborts in cm.c due to too small TTY frame
7661         * src/frame.c (frame_windows_min_size): Limit TTY frames to a
7662         minimum height large enough to allow for a menu bar, the mode
7663         line, one text line and one echo-area line.  This avoids aborts in
7664         cm.c:cmcheckmagic.  (Bug#30320)
7666 2018-02-12  Eli Zaretskii  <eliz@gnu.org>
7668         Another set of improvements in the Emacs manual
7670         * doc/emacs/msdos-xtra.texi (MS-DOS Keyboard):
7671         * doc/emacs/msdos.texi (Windows Keyboard):
7672         * doc/emacs/mark.texi (Using Region):
7673         * doc/emacs/frames.texi (Menu Mouse Clicks):
7674         * doc/emacs/macos.texi (Mac / GNUstep Basics): Fix spelling of
7675         keys.  Reported by Michael Albinus <michael.albinus@gmx.de> in
7676         emacs-manual-bugs@gnu.org.
7678         * doc/emacs/glossary.texi (Glossary): Document that "c.f." is a
7679         misspelling.  Reported by Robert Pluim <rpluim@gmail.com>.
7680         Various minor wording improvements.  Suggested by Toon Claes
7681         <toon@iotcl.com> in emacs-manual-bugs@gnu.org.
7682         More minor changes.  Suggested by Michael Albinus
7683         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
7685         * doc/emacs/cmdargs.texi (Title X): Improve wording.
7687         * doc/emacs/building.texi (Grep Searching, Compilation): Avoid
7688         passive tense.
7690         * doc/emacs/basic.texi (Moving Point): Move the description of the
7691         bidi-related effects of the arrow keys from here ...
7692         * doc/emacs/mule.texi (Bidirectional Editing): ... to here.
7693         Explain the behavior of arrow keys between paragraphs.
7695 2018-02-12  Michael Albinus  <michael.albinus@gmx.de>
7697         Fix help in mode-line-mode-menu
7699         * lisp/bindings.el (mode-line-mode-menu) [auto-revert-tail-mode]:
7700         Fix help string.
7702 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
7704         Improve documentation of desktop restoring
7706         * doc/emacs/misc.texi (Saving Emacs Sessions): Document
7707         'desktop-auto-save-timeout', 'desktop-load-locked-desktop', and
7708         how to restore desktop in daemon mode.  (Bug#30421)
7710 2018-02-11  Eli Zaretskii  <eliz@gnu.org>
7712         Improve the Emacs manual's chapter "Frames"
7714         * doc/emacs/frames.texi (Creating Frames): Add a cross-reference
7715         to where frame visibility is described.
7716         (Word and Line Mouse): Clarify wording.
7717         (Scroll Bars): Qualify scroll-bar behavior.  Reported by Dmitry
7718         Gutov <dgutov@yandex.ru> in emacs-manual-bugs@gnu.org.
7720 2018-02-10  Andreas Schwab  <schwab@linux-m68k.org>
7722         Fix unbound mm-uu-entry in mm-uu
7724         * lisp/gnus/mm-uu.el (mm-uu-dissect): Rename entry to mm-uu-entry.
7726 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
7728         Improve Emacs user manual in fixit.texi
7730         * doc/emacs/fixit.texi (Undo): Clarify inaccurate description of
7731         repeated undo.
7732         (Transpose): Describe explicitly what happens at EOL.
7733         (Spelling): Use "spell-checking" consistently.  Clarify wording.
7734         Suggested by Toon Claes <toon@iotcl.com> in
7735         emacs-manual-bugs@gnu.org.
7737 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
7739         Another minor change in the manual
7741         * doc/emacs/glossary.texi (Glossary): Add popular Latin
7742         abbreviations, such as "e.g.".
7744 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
7746         More minor changes in the Emacs manual
7748         * doc/emacs/xresources.texi (GTK resources):
7749         * doc/emacs/trouble.texi (Contributing):
7750         * doc/emacs/frames.texi (Fonts): Use HTTPS URLs instead of HTTP.
7752         * doc/emacs/docstyle.texi: Add a few @hyphenation directives,
7753         based on reports in emacs-manual-bugs@gnu.org about incorrect
7754         hyphenation.
7756 2018-02-10  Eli Zaretskii  <eliz@gnu.org>
7758         Avoid printing garbled error message from image.el
7760         * lisp/image.el (image--get-imagemagick-and-warn): Don't use
7761         apostrophe in the error message, as that message is shown from a
7762         unibyte buffer, and will run afoul of the default style of showing
7763         quote characters.  (Bug#30405)
7765 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
7767         Doc string fix in latin-alt.el
7769         * lisp/leim/quail/latin-alt.el ("dutch"): Doc fix.  Reported by
7770         Robert Pluim <rpluim@gmail.com>.
7772 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
7774         Minor improvements in package.texi
7776         * doc/emacs/package.texi (Package Menu): Minor wording change.
7777         (Package Installation): Use HTTPS.  A better @xref to GnuPG
7778         manual.  Suggested by Michael Albinus <michael.albinus@gmx.de> in
7779         emacs-manual-bugs@gnu.org.
7781 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
7783         Minor improvement in Emacs user manual
7785         * doc/emacs/files.texi (Directories): Document that
7786         'directory-free-space-program' and 'directory-free-space-args' are
7787         only for local filesystems.  Suggested by Michael Albinus
7788         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
7790 2018-02-09  Michael Albinus  <michael.albinus@gmx.de>
7792         * doc/lispref/anti.texi (Antinews): Replace 25.2 with 25.3.
7794 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
7796         Improve documentation of mini-window resizing
7798         * doc/lispref/minibuf.texi (Minibuffer Windows): Mention
7799         'message-truncate-lines' for preventing resizing of minibuffer
7800         windows.  (Bug#19045)
7801         (Minibuffer Misc): Remove redundant description of
7802         'max-mini-window-height'.
7803         * doc/lispref/display.texi (Echo Area Customization): Adjust
7804         cross-reference.
7806 2018-02-09  Eli Zaretskii  <eliz@gnu.org>
7808         More changes in the Emacs manual
7810         * doc/emacs/fixit.texi (Undo): Mention 'revert-buffer'.
7811         (Fixing Case): Fix punctuation.
7812         (Spelling): Fix a typo.  Suggested by Toon Claes <toon@iotcl.com>
7813         in emacs-manual-bugs@gnu.org.
7815         * doc/emacs/modes.texi (Major Modes): Break a long sentence into
7816         2.  Reported by Stefan Kamphausen <stefan.kamphausen@acrolinx.com>
7817         in emacs-manual-bugs@gnu.org.
7819         * doc/emacs/indent.texi (Just Spaces): Yet another minor
7820         rewording.
7822         * doc/emacs/building.texi (Watch Expressions): Improve wording.
7823         (Multithreaded Debugging): Spell "tool bar" as 2 words.  Reported
7824         by Alberto Sartori <alberto.sartori@sissa.it> in
7825         emacs-manual-bugs@gnu.org.
7826         (Grep Searching): Mention the effect of
7827         'compilation-mode-line-errors'.  (Bug#30397)
7829         * doc/emacs/basic.texi (Moving Point): Minor reformatting and
7830         rewording of what <LEFT> and <RIGHT> do.
7832 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
7834         Clarify that text-quoting-style doesn't affect *Info* (Bug#24519)
7836         * src/doc.c (syms_of_doc) <text-quoting-style>: Clarify that info
7837         manual display is unaffected.
7839 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
7841         Mention that shell quoting of % on w32 may fail (Bug#19350)
7843         * doc/lispref/os.texi (Security Considerations): Mention that quoting
7844         of '%' assumes no '^' in variable names.
7845         * test/lisp/subr-tests.el (shell-quote-argument-%-on-w32): New test,
7846         demonstrating what doesn't work.
7848 2018-02-09  Noam Postavsky  <npostavs@gmail.com>
7850         Fix --no-build-details for w32 and macOS
7852         * src/w32term.c (w32_initialize_display_info): Handle nil system-name.
7853         * lisp/term/ns-win.el (window-system-initialization): Don't pass nil
7854         to `x-open-connection'.
7856 2018-02-09  Paul Eggert  <eggert@cs.ucla.edu>
7858         * doc/lispref/anti.texi (Antinews): Add some more antinews.
7860 2018-02-08  Paul Eggert  <eggert@cs.ucla.edu>
7862         Fix crashes when run with --no-build-details
7864         * src/xrdb.c (get_environ_db):
7865         * src/xterm.c (same_x_server, x_term_init):
7866         Don’t assume Fsystem_name returns a string.
7868 2018-02-08  Eli Zaretskii  <eliz@gnu.org>
7870         More changes for the manual
7872         * doc/emacs/anti.texi (Antinews): Replace 25.2 with 25.3.
7873         Reported by Michael Albinus <michael.albinus@gmx.de> in
7874         emacs-manual-bugs@gnu.org.
7876         * doc/emacs/custom.texi (Function Keys): Improve wording.
7877         Suggested by clemens.radermacher@posteo.de in
7878         emacs-manual-bugs@gnu.org.
7880         * doc/emacs/misc.texi (History References): Improve punctuation.
7881         (Terminal emulator): Fix a typo.
7882         (Term Mode): Remove redundant repeated text.
7883         (Invoking emacsclient): Improve wording.  Suggested by Alberto
7884         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
7886         * doc/emacs/files.texi (Visiting): Fix last change.
7888 2018-02-08  Noam Postavsky  <npostavs@gmail.com>
7890         Doc fixes for process functions (Bug#30349)
7892         * doc/lispref/processes.texi (Asynchronous Processes): Explain what
7893         the 'stopped' state means for a pipe process.
7894         * src/process.c (Fmake_process, Fmake_pipe_process)
7895         (Fmake_serial_process, Fmake_network_process):
7896         * lisp/subr.el (start-process):
7897         * lisp/net/tls.el (open-tls-stream):
7898         * lisp/net/starttls.el (starttls-open-stream):
7899         * lisp/net/gnutls.el (open-gnutls-stream): Remove meaningless phrase
7900         "specify an output stream" phrase from docstring.
7902 2018-02-07  Basil L. Contovounesios  <contovob@tcd.ie>
7904         Fix shr and CSS 4 color maps
7906         * lisp/net/shr-color.el (shr-color-html-colors-alist): Fix typos.
7907         Add RebeccaPurple.
7908         * lisp/textmodes/css-mode.el (css--color-map): Add fuchsia-magenta
7909         and aqua-cyan aliases.
7910         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
7911         Bump color count.
7913 2018-02-07  Eli Zaretskii  <eliz@gnu.org>
7915         Yet another round of improvements in the manual
7917         * doc/emacs/misc.texi (Document View): Improve wording.  Reported
7918         by lyr3 <lyr3@protonmail.com> in emacs-manual-bugs@gnu.org.
7920         * doc/emacs/files.texi (Recover): Fix a typo.  Reported by Jorge
7921         <jorge+list@disroot.org> in emacs-manual-bugs@gnu.org.
7923         * doc/emacs/anti.texi (Antinews): Fix typos.  Reported by Justin
7924         Heyes-Jones <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
7926         * doc/emacs/mini.texi (Basic Minibuffer): Clarify wording.
7927         Reported by Vivishek Sudhir <vivishek.sudhir@gmail.com> in
7928         emacs-manual-bugs@gnu.org.
7930         * doc/emacs/cmdargs.texi (MS-Windows Registry): Improve wording
7931         regarding registry keys.
7933         * doc/emacs/macos.texi (Mac OS / GNUstep): Sayu "NeXT Inc."
7934         Reported by Cena Mayo <cenazoic@gmail.com> in
7935         emacs-manual-bugs@gnu.org.
7937         * doc/emacs/screen.texi (Screen): More accurate wording.
7938         Suggested by Miloš Polakovič <milos@alphamail.org> in
7939         emacs-manual-bugs@gnu.org.
7941         * doc/emacs/indent.texi (Just Spaces): Minor wording change.
7942         Suggested by David Bonnafous <dbonnafo@gmail.com> in
7943         emacs-manual-bugs@gnu.org.
7945         * doc/emacs/text.texi (TeX Mode, TeX Editing): Improve and
7946         simplify wording.  Suggested by root@vxid.pw <root@vxid.pw> in
7947         emacs-manual-bugs@gnu.org.
7949         * doc/emacs/cmdargs.texi (Window Size X): Minor wording change.
7951         * doc/emacs/display.texi (Highlight Interactively): Fill text.
7952         (Optional Mode Line): Fix typos.  Suggested by Alberto Sartori
7953         <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
7955         * doc/emacs/building.texi (Debugger Operation): Clarify wording.
7957         * doc/emacs/files.texi (Directories, Comparing Files, Diff Mode)
7958         (Remote Files, File Names, Visiting, Backup Deletion)
7959         (Customize Save, Interlocking): Improve wording and accuracy of
7960         the text.
7961         * doc/emacs/maintaining.texi (VC With A Merging VCS): Don't say
7962         "his".
7963         * doc/emacs/arevert-xtra.texi (Auto Reverting Dired): Minor
7964         wording changes.
7965         (Supporting additional buffers): Moved to ...
7966         * doc/lispref/backups.texi (Reverting): ... here.
7967         * doc/emacs/emacs.texi (Top): Remove "Supporting additional
7968         buffers" from master menu.
7969         * doc/emacs/files.texi (Reverting): Mention use of file
7970         notifications.  Suggested by Michael Albinus
7971         <michael.albinus@gmx.de> in emacs-manual-bugs@gnu.org.
7973         * doc/emacs/rmail.texi (Rmail Motion): Clarify what '-' does to
7974         'M-s'.  Suggested by Arthur Milchior <arthur@milchior.fr> in
7975         emacs-manual-bugs@gnu.org.
7977         * doc/emacs/cmdargs.texi (Initial Options): Capitalize "Emacs".
7978         (Action Arguments): Fix a typo.
7979         (Emacs Invocation): Replace em-dash with a comma.  Suggested by
7980         Justin Heyes-Jones <justinhj@gmail.com> in
7981         emacs-manual-bugs@gnu.org.
7983         * doc/emacs/m-x.texi (M-x): Add an example.  Suggested by Alberto
7984         Sartori <alberto.sartori@sissa.it> in emacs-manual-bugs@gnu.org.
7986         * doc/emacs/calendar.texi (Calendar/Diary, Calendar Unit Motion):
7987         Minor wording changes.
7989 2018-02-04  Juri Linkov  <juri@linkov.net>
7991         * lisp/vc/vc-git.el (vc-git-print-log): Restrict file scope to a single file
7993         when vc-git-print-log-follow is non-nil (bug#19045).
7994         (vc-git-print-log-follow): Doc fix.
7996         * etc/NEWS: Mention 'vc-git-print-log-follow'.
7998 2018-02-04  Michael Albinus  <michael.albinus@gmx.de>
8000         * doc/emacs/misc.texi (Interactive Shell): Refer to node "Minibuffer File"
8002         for hints how to type remote file names effectively.
8004 2018-02-04  Eli Zaretskii  <eliz@gnu.org>
8006         Yet another round of fixing the Emacs manual
8008         * doc/emacs/cmdargs.texi (Action Arguments): Rearrange text
8009         describing what happens when Emacs is invoked with several file
8010         arguments.  Suggested by Grant Rettke <gcr@wisdomandwonder.com> in
8011         emacs-manual-bugs@gnu.org.
8013         * doc/emacs/xresources.texi (GTK styles):
8014         * doc/emacs/mini.texi (Passwords):
8015         * doc/emacs/frames.texi (Scroll Bars): Use "cannot" instead of
8016         "can not".
8018         * doc/emacs/macos.texi (Mac / GNUstep Basics): Clarify the effect
8019         of ns-right-alternate-modifier when its value is 'none'.
8020         Suggested by Wanderson Ferreira <iagwanderson@gmail.com> in
8021         emacs-manual-bugs@gnu.org.
8023         * doc/emacs/calendar.texi (Importing Diary, Appointments): Now
8024         sub-sections of Diary.
8025         * doc/emacs/emacs.texi (Top):
8026         * doc/emacs/calendar.texi (Diary): Adjust menus to the above
8027         change.  Suggested by Isaac Carter <icarter1391@gmail.com> in
8028         emacs-manual-bugs@gnu.org.
8030         * doc/emacs/anti.texi (Antinews): Fix grammar.
8032 2018-02-04  Alan Mackenzie  <acm@muc.de>
8034         * etc/NEWS: Expunge the solecism "allow(s)" + infinitive
8036 2018-02-04  Martin Rudalics  <rudalics@gmx.at>
8038         Two minor fixes in Antinews
8040         * doc/emacs/anti.texi (Antinews): Two minor fixes.
8042 2018-02-03  Juri Linkov  <juri@linkov.net>
8044         * etc/NEWS: Rename image-dired-thumb-job-limit
8046         to image-dired-queue-active-limit (bug#30279)
8048 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
8050         * lisp/simple.el (async-shell-command, shell-command): Fix grammar
8052 2018-02-03  Basil L. Contovounesios  <contovob@tcd.ie>
8054         Fix deferred display of async shell-command buffers
8056         * lisp/simple.el (shell-command): Display async shell buffer on
8057         process output for every, not just first, command invocation.  Check
8058         buffer liveness, not name, before displaying. (bug#30213, bug#30280)
8060 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
8062         Mention remote file name completion in Emacs manual
8064         * doc/emacs/mini.texi (Minibuffer File): Describe the behavior of
8065         "//" with remote file names.  (Bug#29149)
8067 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
8069         Yest another round of manual copyedits
8071         * doc/emacs/fixit.texi (Transpose, Spelling): Minor stylistic
8072         changes.  Suggested by myq larson <myqlarson@gmail.com> in
8073         emacs-manual-bugs@gnu.org.
8075         * doc/emacs/calendar.texi (Appointments, Time Intervals): Mention
8076         relevant Org features.  Suggested by Alex Branham
8077         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
8079         * doc/emacs/dired.texi (Operating on Files)
8080         (Shell Commands in Dired, Image-Dired): Minor stylistic edits.
8081         Suggested by Francis Wright <f.j.wright@live.co.uk> in
8082         emacs-manual-bugs@gnu.org.
8084         * doc/emacs/commands.texi (User Input): Explain "C-M-a".
8085         Suggested by Martin Luethi <martin.luethi@geo.uzh.ch> in
8086         emacs-manual-bugs@gnu.org.
8088 2018-02-03  Eli Zaretskii  <eliz@gnu.org>
8090         Update xdisp.c commentary
8092         * src/xdisp.c: Update commentary regarding "asynchronous" entry
8093         into redisplay.  (Bug#30182)
8095 2018-02-03  Michael Albinus  <michael.albinus@gmx.de>
8097         Fix Bug#30324
8099         * lisp/net/rlogin.el (rlogin, rlogin-directory-tracking-mode):
8100         Adapt to changed remote file name syntax.  (Bug#30324)
8102 2018-02-03  Glenn Morris  <rgm@gnu.org>
8104         Recognize Org as builtin package (bug#30310)
8106         * lisp/org/org.el: Add Version header so detected as builtin package.
8107         * test/lisp/org/org-tests.el: New file.
8109 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
8111         Another round of manual fixups
8113         * doc/emacs/killing.texi (Killing by Lines): Clarify wording.
8114         Reported by David Bonnafous <dbonnafo@gmail.com> in
8115         emacs-manual-bugs@gnu.org.
8117         * doc/emacs/windows.texi (Other Window): Improve wording.
8118         Reported by Rasmus Sjostrom <ras.sjostrom@gmail.com> in
8119         emacs-manual-bugs@gnu.org.
8121         * doc/emacs/display.texi (Display Custom): Mention that line
8122         numbers are not displayed in the minibuffer and tooltips.
8124         * doc/emacs/mini.texi (Basic Minibuffer): Improve wording.
8125         * doc/emacs/regs.texi (Registers): More comma removal.  Suggested
8126         by "root@vxid.pw root@vxid.pw" <root@vxid.pw> in
8127         emacs-manual-bugs@gnu.org.
8129         * doc/emacs/display.texi (Auto Scrolling): Fix a typo.  Reported
8130         by Kevin Foley <kfoley15@gmail.com> in emacs-manual-bugs@gnu.org.
8132         * doc/emacs/display.texi (Scrolling): Fix grammar.
8133         (Horizontal Scrolling): Mention reasonable limits for hscroll-step
8134         float values.  Suggested by Jerome Truong <jerometruong@gmail.com>
8135         in emacs-manual-bugs@gnu.org.
8137         * doc/emacs/mini.texi (Minibuffer Edit): Add a missing comma.
8138         * doc/emacs/basic.texi (Position Info, Arguments, Repeating):
8139         Remove redundant commas.  Suggested by oldgaro
8140         <oldgaro@protonmail.com> in emacs-manual-bugs@gnu.org.
8142         * doc/emacs/kmacro.texi (Save Keyboard Macro): Clarify wording.
8143         Suggested by clemens.radermacher@posteo.de in
8144         emacs-manual-bugs@gnu.org.
8146         * doc/emacs/building.texi (Compilation Mode): Improve and simplify
8147         wording.  Suggested by drone <yoorobot@gmail.com> in
8148         emacs-manual-bugs@gnu.org.
8150         * doc/emacs/dired.texi (Dired Enter): Clarify wording.
8151         (Dired Deletion): Fix a typo.
8152         (Marks vs Flags): Mention that M-DEL in Dired asks for the mark
8153         character.  Fix typos.
8154         * doc/emacs/basic.texi (Moving Point, Erasing, Basic Undo)
8155         (Arguments): Some additional information about keys.  Reported by
8156         Francis Wright <f.j.wright@live.co.uk> in
8157         emacs-manual-bugs@gnu.org.
8159 2018-02-02  Basil L. Contovounesios  <contovob@tcd.ie>  (tiny change)
8161         * doc/lispref/customize.texi (Custom Themes): Clarify .el preference.
8164         https://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00824.html.
8166 2018-02-02  Eli Zaretskii  <eliz@gnu.org>
8168         * doc/emacs/entering.texi (Entering Emacs): Another wording fix.
8170 2018-02-02  Noam Postavsky  <npostavs@gmail.com>
8172         * doc/lispref/functions.texi (Inline Functions): Fix typo (Bug#30238).
8174         * lisp/imenu.el (imenu-generic-expression): Rephrase doc (Bug#30294).
8176 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
8178         Fix last change of @key markup
8180         * doc/lispref/display.texi (Specified Space):
8181         * doc/emacs/programs.texi (C Modes):
8182         * doc/emacs/killing.texi (Rectangles):
8183         * doc/emacs/emacs.texi (Top):
8184         * doc/emacs/display.texi (Useless Whitespace): Don't use @key
8185         markup for characters and commands, only for keys.
8187 2018-02-01  Eli Zaretskii  <eliz@gnu.org>
8189         * doc/emacs/entering.texi (Entering Emacs): Fix markup.
8191 2018-02-01  Michael Albinus  <michael.albinus@gmx.de>
8193         Revert a1bbc49015 (Bug#30243), do not merge
8195         * lisp/files.el:
8196         * test/lisp/net/tramp-tests.el: Revert a1bbc49015.  (Bug#30243)
8198 2018-01-31  Michael Albinus  <michael.albinus@gmx.de>
8200         Use @key{} where it is missing in the manuals
8202 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
8204         Another round of manual fixes from proofreading
8206         * doc/emacs/search.texi (Incremental Search)
8207         (Nonincremental Search): Mention the menu bar and fix typos.
8208         Reported by David Bonnafous <dbonnafo@gmail.com> in
8209         emacs-manual-bugs@gnu.org.
8210         * doc/emacs/building.texi (Compilation): Improve wording.
8211         Suggested by drone <yoorobot@gmail.com> in
8212         emacs-manual-bugs@gnu.org.
8213         * doc/emacs/kmacro.texi (Basic Keyboard Macro): Clarify text.
8214         Suggested by Robert Pluim <rpluim@gmail.com> in
8215         emacs-manual-bugs@gnu.org.
8216         * doc/emacs/display.texi (Highlight Interactively, Fringes):
8217         Improve wording.  Suggested by Justin Heyes-Jones
8218         <justinhj@gmail.com> in emacs-manual-bugs@gnu.org.
8219         * doc/emacs/commands.texi (User Input, Commands): Add missing
8220         commas.
8221         * doc/emacs/screen.texi (Menu Bar): Mention keyboard keys to
8222         navigate menus.  Suggested by oldgaro <oldgaro@protonmail.com> in
8223         emacs-manual-bugs@gnu.org.
8224         * doc/emacs/search.texi (Not Exiting Isearch): Fix a typo.
8225         Reported by "Kocken, I.J. (Ilja)" <I.J.Kocken@uu.nl> in
8226         emacs-manual-bugs@gnu.org.
8227         * doc/emacs/basic.texi (Inserting Text): Mention one more label of
8228         RET.  Suggested by Francis Wright <f.j.wright@live.co.uk> in
8229         emacs-manual-bugs@gnu.org.
8230         * doc/emacs/text.texi (Paragraphs): Clarify text.  Reported by
8231         Marcin Borkowski <mbork@mbork.pl> in emacs-manual-bugs@gnu.org.
8232         * doc/emacs/maintaining.texi (Introduction to VC)
8233         (Why Version Control?, VCS Merging): Fix typos and section
8234         capitalization.  Suggested by "R. P. Dillon"
8235         <rpdillon@killring.org> in emacs-manual-bugs@gnu.org.
8236         * doc/emacs/modes.texi (Major Modes, Choosing Modes): Fix typos.
8237         Reported by clemens.radermacher@posteo.de in
8238         emacs-manual-bugs@gnu.org.
8240 2018-01-31  Eli Zaretskii  <eliz@gnu.org>
8242         * doc/emacs/entering.texi (Entering Emacs): Fix last change.
8244 2018-01-31  Martin Rudalics  <rudalics@gmx.at>
8246         Document 'window-at-side-p' in the Elisp manual
8248         * doc/lispref/windows.texi (Windows and Frames): Document
8249         'window-at-side-p'.
8251 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
8253         Document external-debugging-output in the Elisp Manual (Bug#24051)
8255         * doc/lispref/streams.texi (Output Streams): List
8256         external-debugging-output.
8257         * src/print.c (Fexternal_debugging_output): Quote `print' in
8258         docstring.
8260 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
8262         Fix scroll-margin docstring (Bug#13791)
8264         * src/xdisp.c (syms_of_xdisp) <scroll-margin>: Explain that entering
8265         the margin may trigger any sort of auto scrolling, not recentering
8266         specifically.
8268 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
8270         Clarify that `ansi-term' is almost the same as `term' (Bug#18106)
8272         * lisp/term.el (ansi-term): Clarify that it's almost the same as `term'.
8274 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
8276         Update manual description of locate-file (Bug#23650)
8278         * doc/lispref/files.texi (Locating Files): Add example of predicate
8279         when searching for a directory.
8281 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
8283         Clarify effect of print-gensym (Bug#27776)
8285         * src/print.c (syms_of_print) <print-gensym>: Clarify that use of #N#
8286         and #N= constructs depends on the value of `print-circle'.
8288 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
8290         * lisp/custom.el (defcustom): Fix docstring (Bug#27891).
8292 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
8294         Define cl-type-definition button type as needed (Bug#28899)
8296         * lisp/emacs-lisp/eieio-opt.el (eieio-help-constructor): Require
8297         `cl-extra' before using the `cl-type-definition' button type.
8299 2018-01-31  Noam Postavsky  <npostavs@gmail.com>
8301         Emphasize that GPG passphrase caching is temporary (Bug#29907)
8303         * doc/misc/epa.texi (Caching Passphrases): Clarify that caching is
8304         temporary.
8305         (GnuPG version compatibility): Fix typo.
8307 2018-01-30  Alan Mackenzie  <acm@muc.de>
8309         Fix @examples in cc-mode.info, where lines were getting glued together.
8311         This happened because of false @c's in macro lines.
8313         * doc/misc/cc-mode.texi (Line-up Functions): Remove the unneeded @c from
8314         macros sssTBasicOffset, sssTsssTBasicOffset, and hereFn.
8316 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
8318         Minor change in "Mode Line" section of Emacs manual
8320         * doc/emacs/screen.texi (Mode Line): Mention tooltips shown when
8321         hovering the mouse over the mode line.  Suggested by Eduardo
8322         Mercovich <eduardo@mercovich.net> in emacs-manual-bugs@gnu.org.
8324 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
8326         More fixes in the Emacs manual
8328         * doc/emacs/screen.texi (Mode Line): Fix markup and
8329         cross-references.
8330         (Menu Bar): Correct inaccurate description.
8331         * doc/emacs/macos.texi (Mac OS / GNUstep, Mac / GNUstep Events):
8332         * doc/emacs/frames.texi (Scroll Bars):
8333         * doc/emacs/emacs.texi (Top):
8334         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of "macOS".
8335         * doc/emacs/misc.texi (Invoking emacsclient)
8336         (emacsclient Options): Fix markup of 'emacsclient'.  Suggested by
8337         Michael Albinus <michael.albinus@gmx.de> in
8338         emacs-manual-bugs@gnu.org.
8340 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
8342         Minor copyedits in "Distribution" chapter of the Emacs manual
8344         * doc/emacs/emacs.texi (Distrib): Minor wording changes.
8345         Suggested by oldgaro <oldgaro@protonmail.com> in
8346         emacs-manual-bugs@gnu.org.
8348 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
8350         Minor copyedits in "Entering" chapter of Emacs manual.
8352         * doc/emacs/entering.texi (Entering Emacs): Add a cross-reference
8353         to MS-Windows startup procedures.  Clarify wording.  Suggested by
8354         Francis Wright <f.j.wright@live.co.uk> in emacs-manual-bugs@gnu.org.
8356 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
8358         Minor wording change in the Emacs manual
8360         * doc/emacs/screen.texi (Screen): Minor wording change.  Suggested
8361         by Wesley Ellis <ellisgen@gmail.com> in emacs-manual-bugs@gnu.org.
8363 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
8365         Fix a typo in the Emacs manual
8367         * doc/emacs/custom.texi (Customization Groups): Fix a typo.
8368         Reported by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org> in
8369         emacs-manual-bugs@gnu.org.
8371 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
8373         Improve the "Basic" chapter of the Emacs manual
8375         * doc/emacs/basic.texi (Inserting Text): De-confuse text.
8376         (Position Info): Add a cross-reference to where
8377         display-line-numbers-mode is described.  Reported by Joshua
8378         Branson <jbranso@fastmail.com> in emacs-manual-bugs@gnu.org.
8380 2018-01-30  Eli Zaretskii  <eliz@gnu.org>
8382         Resurrect lost text in lispref
8384         * doc/lispref/files.texi (File Attributes): Resurrect
8385         inadvertently lost text.
8387 2018-01-30  Philipp Stephani  <phst@google.com>
8389         * lisp/emacs-lisp/rx.el (rx): Fix the definition of 'blank'.
8391 2018-01-29  Paul Eggert  <eggert@cs.ucla.edu>
8393         Proofread os.texi and files.texi
8395 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
8397         Minor improvements in the "International" chapter of Emacs manual
8399         * doc/emacs/mule.texi (File Name Coding): Stop enumerating all the
8400         versions of MS-Windows.
8401         (Modifying Fontsets, Unibyte Mode, Bidirectional Editing): Improve
8402         wording.  Reported by Francis Wright <f.j.wright@live.co.uk> in
8403         emacs-manual-bugs@gnu.org.
8405 2018-01-29  Eli Zaretskii  <eliz@gnu.org>
8407         Minor improvement in "Text" chapter of Emacs manual
8409         * doc/emacs/text.texi (Words): Improve wording.  Reported by
8410         Marcin Borkowski <mbork@mbork.pl> in
8411         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00784.html.
8413 2018-01-28  Martin Rudalics  <rudalics@gmx.at>
8415         Fix some issues in the emacs/lispref manuals
8417         * doc/emacs/basic.texi (Continuation Lines):
8418         * doc/emacs/building.texi (GDB User Interface Layout):
8419         * doc/emacs/dired.texi (Misc Dired Features):
8420         * doc/emacs/maintaining.texi (Identifier Search):
8421         * doc/emacs/mark.texi (Using Region):
8422         * doc/emacs/misc.texi (Document View, DocView Conversion):
8423         * doc/emacs/modes.texi (Major Modes):
8424         * doc/emacs/mule.texi (Input Methods, Unibyte Mode):
8425         * doc/emacs/sending.texi (Mail Methods): Replace @code by
8426         @kbd.
8427         * doc/emacs/frames.texi (Text-Only Mouse):
8428         * doc/lispref/maps.texi (Standard Keymaps): Replace @kbd by
8429         @key.
8430         * doc/lispref/compile.texi (Compiler Errors): Write
8431         non-@code{nil} instead of non-nil.
8432         * doc/lispref/debugging.texi (Internals of Debugger):
8433         'backtrace' is not a command.  'debugger-stack-frame-as-list'
8434         is an option.
8435         * doc/lispref/display.texi (Size of Displayed Text):
8436         'window-lines-pixel-dimensions' has a last argument 'left'.
8437         * doc/lispref/display.texi (Attribute Functions):
8438         'set-face-underline' and 'set-face-inverse-video' are
8439         commands.
8440         (Tooltips): 'tooltip-frame-parameters' is an option.
8441         (Bidirectional Display): 'bidi-paragraph-direction' is an
8442         option.
8443         * doc/lispref/frames.texi (Cursor Parameters): 'cursor-type'
8444         is an option.
8445         (Input Focus): Argument FRAME of 'x-focus-frame' is not
8446         optional.
8447         (Child Frames): Both arguments of 'frame-ancestor-p' are
8448         non-optional.  'iconify-child-frame' is an option.
8449         * doc/lispref/os.texi (Killing Emacs):
8450         'kill-emacs-query-functions' is an option.
8451         * doc/lispref/windows.texi (Mouse Window Auto-selection):
8452         'mouse-autoselect-window' is an option.
8454 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
8456         Fix multiple spaces in Emacs manual
8458         * doc/emacs/search.texi (Lax Search): Fix multiple consecutive
8459         spaces in printed manual.
8461 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
8463         * lisp/files.el (save-some-buffers): Doc fix.  (Bug#30215)
8465 2018-01-28  Eli Zaretskii  <eliz@gnu.org>
8467         Adjudicate comments to "International" chapter of Emacs manual
8469         * doc/emacs/mule.texi (International Chars)
8470         (Language Environments, Input Methods, Defining Fontsets)
8471         (Modifying Fontsets): Minor wording changes and typo fixes.
8472         Reported by Francis Wright <f.j.wright@live.co.uk> in
8473         emacs-manual-bugs@gnu.org.
8475 2018-01-28  Noam Postavsky  <npostavs@gmail.com>
8477         Revert "Signal error for symbol names with strange quotes (Bug#2967)"
8479         That commit did not make the corresponding change to printing, thus
8480         breaking the (eq (read (prin1-to-string SYM)) SYM) invariant for those
8481         symbols.  It's too late in the release cycle to change printing
8482         behavior, therefore revert the reader change.
8484         Don't merge to master, the print function will be updated there (see
8485         "Fix round tripping of read->print for symbols with strange quotes").
8487 2018-01-27  Alan Mackenzie  <acm@muc.de>
8489         Allow read-passwd to hide characters inserted by C-y.  (Security fix.)
8491         This fixes bug #30186.  The with-silent-modifications was there to prevent
8492         records of text property manipulations being put into buffer-undo-list.  These
8493         had been causing a significant slowdown in CC Mode with C-_ after a large
8494         C-y.  This CC Mode problem has since been solved by a different workaround.
8496         * lisp/subr.el (remove-yank-excluded-properties): Remove the invocation of
8497         with-silent-modifications around the text property manipulations.
8499 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
8501         * etc/PROBLEMS: Document issues with double-buffering.  (Bug#30088)
8503 2018-01-27  Charles A. Roelli  <charles@aurox.ch>
8505         * lisp/window.el (window-largest-empty-rectangle): Fix grammar.
8507 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
8509         Minor changes in the Emacs manual
8511         * doc/emacs/search.texi (Search Customizations): Minor wording
8512         change.
8513         * doc/emacs/files.texi (Customize Save): Add a cross-reference
8514         for batch mode.
8516 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
8518         Improve the "Files" chapter of the Emacs manual
8520         * doc/emacs/files.texi (File Shadowing): Rearrange text to explain
8521         the notion of shadowing before describing the commands.  Suggested
8522         by Will Korteland <emacs-devel@korte.land> in
8523         emacs-manual-bugs@gnu.org.
8525 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
8527         Improve the "Search" chapter of the Emacs manual
8529         * doc/emacs/search.texi (Regexps, Regexp Backslash): Improve and
8530         clarify wording.
8531         (Search Customizations): Fix a typo.  Reported by Will Korteland
8532         <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
8534 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
8536         * src/indent.c (Findent_to): Doc fix.  (Bug#30260)
8538 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
8540         Improve documentation of 'edebug-defun'
8542         * doc/lispref/edebug.texi (Instrumenting): Document a workaround
8543         for a failure to instrument due to unknown macros.  (Bug#30243)
8544         (Bug#10577)
8546 2018-01-27  Eli Zaretskii  <eliz@gnu.org>
8548         Mention crashes due to Noto Serif Kannada fonts
8550         * etc/PROBLEMS: Mention crashes due to Noto Serif Kannada fonts,
8551         and the respective workarounds.  (Bug#30193)
8553 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
8555         * doc/lispref/searching.texi: Document regexp repetition limit.
8557         * src/syntax.c (char-syntax): Warn about ignoring text properties (Bug#22765).
8559 2018-01-27  Noam Postavsky  <npostavs@gmail.com>
8561         Load mm-util as needed for url-file and url-data (Bug#30258)
8563         * lisp/url/url-file.el (url-file):
8564         * lisp/url/url-misc.el (url-data): Require `mm-util' before calling
8565         `mm-disable-multibyte'.
8566         * test/lisp/url/url-file-resources/file.txt:
8567         * test/lisp/url/url-file-tests.el:
8568         * test/lisp/url/url-misc-tests.el: New tests.
8570 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
8572         Another minor copyedit in the manual's "Scroll Bars"
8574         * doc/emacs/frames.texi (Scroll Bars): Mention that up/down and
8575         left/right buttons may be absent from the toolkit scroll bars.
8576         Reported by Robert Pluim <rpluim@gmail.com> in
8577         emacs-manual-bugs@gnu.org.
8579 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
8581         Minor fix in documentation of 'equal'
8583         * doc/lispref/objects.texi (Equality Predicates): Correct the
8584         conditions for equality of unibyte and multibyte strings.
8585         (Bug#30218)
8587 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
8589         * lisp/dired-x.el (dired-guess-shell-alist-user): Doc fix.  (Bug#30192)
8591 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
8593         Minor rewording in Emacs manual's "Help Mode" node
8595         * doc/emacs/help.texi (Help Mode): Minor rewording of description
8596         of 'help-follow-symbol'.  Suggested by Richard Stallman
8597         <rms@gnu.org> in emacs-manual-bugs@gnu.org.
8599 2018-01-26  Eli Zaretskii  <eliz@gnu.org>
8601         Fixes for Emacs manual in frames.texi
8603         * doc/emacs/frames.texi (Scroll Bars, Mouse Commands)
8604         (Window Dividers): Minor clarifications and spelling/markup
8605         changes.  Suggested by Robert Pluim <rpluim@gmail.com> in
8606         emacs-manual-bugs@gnu.org.
8608 2018-01-24  Glenn Morris  <rgm@gnu.org>
8610         * doc/misc/cl.texi (Efficiency Concerns): Fix 2012-10-27 typo.
8612 2018-01-24  Robert Pluim  <rpluim@gmail.com>
8614         Fix a few issues with latest GTK scaling changes
8616         * src/xfns.c (Fx_display_monitor_attributes_list): Call
8617         gdk_screen_get_monitor_scale_factor only for GTK versions
8618         3.10..3.21.
8619         * src/xterm.c (x_set_offset): Call xg_get_scale for GTK only.
8621 2018-01-24  Robert Pluim  <rpluim@gmail.com>
8623         Use scaled coordinates when calling into GTK
8625         This is part two of a two part fix for the GTK scaling
8626         problems.  See the thread starting at
8627         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
8628         for an explanation of why it has been added to Emacs 26.
8630         * src/gtkutil.c (xg_set_geometry): Scale down the coordinates that we
8631         pass to gtk_window_move and to gtk_window_parse_geometry.
8632         * src/xterm.c (x_set_offset): Likewise.
8634 2018-01-24  Robert Pluim  <rpluim@gmail.com>
8636         Scale monitor dimensions obtained from GTK
8638         This is part one of a two part fix for the GTK scaling
8639         problems.  See the thread starting at
8640         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00372.html
8641         for an explanation of why it has been added to Emacs 26.
8643         * src/xfns.c (Fx_display_monitor_attributes_list): Take scaling factor
8644         into account when using GTK to query the monitor dimensions, which
8645         allows frameset-restore to position frames correctly.
8647 2018-01-22  Rasmus  <rasmus@gmx.us>
8649         Update Org to v9.1.6
8651         Please note this is a bugfix release. See etc/ORG-NEWS for details.
8653 2018-01-22  Aaron Jensen  <aaronjensen@gmail.com>
8655         Use text-pixels values only when saving framesets (Bug#30141)
8657         * lisp/frameset.el (frameset-persistent-filter-alist): Specify
8658         that text-pixels values are by default only saved by framesets
8659         so the parameter is not set when restoring (Bug#30141).
8661 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
8663         Minor improvement in section "Pages" of the usere manual
8665         * doc/emacs/text.texi (Pages): Improve wording.  Suggested by Will
8666         Korteland <emacs-devel@korte.land> in emacs-manual-bugs@gnu.org.
8668 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
8670         Minor improvements in user manual
8672         * doc/emacs/trouble.texi (Emergency Escape, Contributing): Clarify
8673         text.  Suggested by Jonathan Kyle Mitchell <kyle@jonathanmitchell.org>
8674         in emacs-manual-bugs@gnu.org
8676 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
8678         Improve the "Mark" chapter of the user manual
8680         * doc/emacs/mark.texi (Setting Mark, Marking Objects): Improve and
8681         clarify wording.  Suggested by John Cummings <john@rootabega.net>
8682         in emacs-manual-bugs@gnu.org.
8684 2018-01-21  Eli Zaretskii  <eliz@gnu.org>
8686         Improve the "Buffers" chapter of the user manual
8688         * doc/emacs/buffers.texi (Several Buffers): Correct description of
8689         prefix arguments.  Clarify "bury".
8690         (Buffer Menus): Clarify wording.  Reported by John Cummings
8691         <john@rootabega.net> in emacs-manual-bugs@gnu.org.
8693 2018-01-21  tino calancha  <tino.calancha@gmail.com>
8695         * lisp/term.el (term-send-input): Fix text duplication in docstring
8697 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
8699         Improve "Buffers" in the user manual
8701         Suggested by John Cummings <john@rootabega.net> in
8702         emacs-manual-bugs@gnu.org:
8703         * doc/emacs/buffers.texi (Select Buffer): Add cross-references to
8704         "Windows" and "Frames".
8705         (Misc Buffer, Kill Buffer): Use BUFFER consistently in commands
8706         that accept buffer names.
8707         (Select Buffer): Improve description of "M-g M-g".  Improve
8708         wording.
8709         (Misc Buffer, Kill Buffer): Improve wording.
8710         (Kill Buffer): Fix the response required by kill-some-buffers.
8711         Mention customizable options that control what clean-buffer-list
8712         does.
8713         (Several Buffers): More detail about
8714         'Buffer-menu-unmark-all-buffers'.
8716 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
8718         Don't mention 'vc-stay-local' in the user manual
8720         * doc/emacs/vc1-xtra.texi (CVS Options):
8721         * doc/emacs/maintaining.texi (VC Directory Buffer): Remove
8722         references to 'vc-stay-local', which no longer exists.
8723         (Bug#30138)
8725 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
8727         Fix a typo in calendar.texi
8729         * doc/emacs/calendar.texi (Writing Calendar Files): Capitalize
8730         "Filofax".  Reported by Will Korteland <emacs-devel@korte.land>
8731         in emacs-manual-bugs@gnu.org.
8733 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
8735         Minor improvement in wording of the Emacs manual
8737         * doc/emacs/killing.texi (CUA Bindings): Improve wording.
8738         Suggested by Will Korteland <emacs-devel@korte.land> in
8739         emacs-manual-bugs@gnu.org.
8741 2018-01-20  Eli Zaretskii  <eliz@gnu.org>
8743         Revert "Fix tempfile creation when byte compiling"
8745         This reverts commit 4fd446e9f65e5531b18d4a0c5e08a6eeabc292d8:
8746         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
8747         Put tempfile next to the target file, as was the original intent.
8749 2018-01-19  Paul Eggert  <eggert@cs.ucla.edu>
8751         Fix tempfile creation when byte compiling
8753         This improves on the recent fix for master failing to build
8754         on FreeBSD.  Suggested by Stefan Monnier in:
8755         https://lists.gnu.org/r/emacs-devel/2018-01/msg00600.html
8756         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
8757         Put tempfile next to the target file, as was the original intent.
8759 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
8761         Improve the Emacs manual as suggested in emacs-manual-bugs
8763         * doc/emacs/killing.texi (Deletion and Killing): Add
8764         cross-reference to "Kill Ring".
8765         * doc/emacs/help.texi (Help Mode, Package Keywords): Improve
8766         wording.  Suggested by Will Korteland <emacs-devel@korte.land> in
8767         emacs-manual-bugs@gnu.org.
8769 2018-01-19  Stefan Monnier  <monnier@iro.umontreal.ca>
8771         * lisp/emacs-lisp/bytecomp.el: Tweak last change
8773         (byte-compile-file): Move comment closer to the code it describes.
8775 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
8777         Unbreak building Emacs on FreeBSD
8779         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Don't create
8780         the temporary file under temporary-file-directory if the file
8781         being compiled is specified by an absolute file name.  This avoids
8782         problems with ACL copying from temporary-file-directory on
8783         FreeBSD.  For the details, see
8784         http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00513.html.
8786 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
8788         Don't unnecessarily use non-ASCII characters in C sources
8790         * src/xwidget.c (webkit_javascript_finished_cb):
8791         * src/gtkutil.c (xg_check_special_colors):
8792         * src/emacs-module.c (module_make_string):
8793         * src/alloc.c (SET_STACK_TOP_ADDRESS): Don't use non-ASCII quote
8794         characters.
8796 2018-01-19  Eli Zaretskii  <eliz@gnu.org>
8798         Portability fixes in emacs-module-tests
8800         * test/Makefile.in (abs_top_srcdir): Add variable, needed by
8801         CPPFLAGS.
8802         * test/data/emacs-module/mod-test.c: Include <limits.h>.
8803         (pT, pZ, T_TYPE, Z_TYPE): Compatibility macros, for systems that
8804         don't support %td and %zu format specs.
8805         (emacs_module_init): Use compatibility macros to make the error
8806         messages print meaningful values (and avoid compiler warnings).
8808 2018-01-19  Noam Postavsky  <npostavs@gmail.com>
8810         Add tests for term.el
8812         * lisp/term.el (term-mode): Add `name' attribute to
8813         window-adjust-process-window-size-function value, so that it can be
8814         removed easily by tests.
8815         * test/lisp/term-tests.el: New tests.
8817 2018-01-19  Callum Cameron  <cjcameron7@gmail.com>  (tiny change)
8819         Handle split AnSiT messages for term.el (Bug#17231)
8821         Check to see if there is an incomplete command at the end of
8822         term-emulate-terminal's input string, and, if so, save it so the whole
8823         command can be processed when the next string arrives.
8824         * lisp/term.el (term-partial-ansi-terminal-message): New variable.
8825         (term-mode): Make it buffer local.
8826         (term-handle-ansi-terminal-messages): Prepend it to the received
8827         message, and set it if a partial message was received.
8830         Do not merge to master, it will be solved differently there, see
8831         "Switch term.el to lexical binding, and clean up code a bit".
8833 2018-01-19  Glenn Morris  <rgm@gnu.org>
8835         * configure.ac (emacs_config_features): Add threads.
8837 2018-01-18  Noam Postavsky  <npostavs@gmail.com>
8839         Handle case-insensitive filenames for load-path shadows (Bug#5845)
8841         * lisp/emacs-lisp/shadow.el (load-path-shadows-find): Check for
8842         shadowing with case-insensitive matching for files of case-insensitive
8843         directories (as determined by `file-name-case-insensitive-p').
8844         * test/lisp/emacs-lisp/shadow-tests.el: New test.
8845         * test/lisp/emacs-lisp/shadow-resources/p1/foo.el:
8846         * test/lisp/emacs-lisp/shadow-resources/p2/FOO.el: New test files.
8848 2018-01-18  Alan Mackenzie  <acm@muc.de>
8850         CC Mode: stop distinguishing brace blocks from defun blocks by content.
8852         Don't merge to master; this is a quick fix for the emacs-26 branch.  This is
8853         essentially a reversion of the patch from 2017-11-10 which attempted to handle
8854         C99's compound literals.
8856         The bug here was triggered when a defun block contained a declaration ending
8857         in a comma, yet without a semicolon.
8859         * lisp/progmodes/cc-engine.el (c-guess-basic-syntax): At the CASE 9 test,
8860         remove from the `or' form the test of a block's contents.
8862 2018-01-17  Philipp Stephani  <phst@google.com>
8864         Use recommended long options syntax in man page
8866         * doc/man/emacs.1.in: Specify equals sign for long options, as
8867         recommended in the manual.
8869 2018-01-17  Glenn Morris  <rgm@gnu.org>
8871         An overdue update of GNUstep emacs.tiff
8873         * nextstep/GNUstep/Emacs.base/Resources/emacs.tiff:
8874         Update to the Emacs 25 icon.
8875         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
8876         * nextstep/GNUstep/Emacs.base/Resources/README: Update.
8878 2018-01-17  Glenn Morris  <rgm@gnu.org>
8880         Add some test skip conditions
8882         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9726)
8883         (vc-bzr-test-bug9781): Skip if bzr is faulty.
8884         * test/src/thread-tests.el: Skip if not compiled with threads.
8886 2018-01-17  Lars Ingebrigtsen  <larsi@gnus.org>
8888         Add documentation to ecomplete.el
8890         * lisp/ecomplete.el: Add doc strings and document the format.
8892 2018-01-17  Glenn Morris  <rgm@gnu.org>
8894         * admin/authors.el (authors-aliases): Tighten more entries.
8896 2018-01-17  Glenn Morris  <rgm@gnu.org>
8898         Small startup fix for current-load-list
8900         * lisp/startup.el (command-line):
8901         Avoid current-load-list being non-nil after startup ends.
8903 2018-01-17  Glenn Morris  <rgm@gnu.org>
8905         authors-aliases is based on regexps, not literals
8907         * admin/authors.el (authors-aliases): Replace overly-broad entries.
8909 2018-01-15  Charles A. Roelli  <charles@aurox.ch>
8911         Remove incorrect documentation in comint.el
8913         * lisp/comint.el (comint-interrupt-subjob, comint-kill-subjob)
8914         (comint-quit-subjob, comint-stop-subjob): Remove incorrect
8915         documentation.  (Bug#30079)
8917 2018-01-15  Glenn Morris  <rgm@gnu.org>
8919         An overdue update of src/emacs-icon.h
8921         * src/emacs-icon.h: Update to the Emacs 25 icon.  (Bug#30047)
8922         Converted from hicolor/scalable/apps/emacs.svg using Gimp.
8924 2018-01-14  Eli Zaretskii  <eliz@gnu.org>
8926         Minor copyedit in ELisp manual
8928         * doc/lispref/variables.texi (File Local Variables): Improve
8929         wording of last change.
8931 2018-01-14  Shuguang Sun  <shuguang@gmail.com>
8933         Fix Bug#29149 in dired-aux.el
8935         * lisp/dired-aux.el (dired-shell-stuff-it): Handle remote
8936         commands on w32 properly.  (Bug#29149)
8938 2018-01-14  Michael Albinus  <michael.albinus@gmx.de>
8940         Fix Bug#29149 in shell.el
8942         * lisp/shell.el (shell): Change order of `file-local-name' and
8943         `expand-file-name' calls.  Otherwise, the local file name
8944         would be extended by a drive letter, even when it is a remote
8945         file, seen from w32.  (Bug#29149)
8947 2018-01-13  Stefan Monnier  <monnier@iro.umontreal.ca>
8949         * doc/lispref/variables.texi (File Local Variables): Fix last change
8951 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
8953         * ChangeLog.3: Update
8955         Update etc/AUTHORS
8957 2018-01-13  Nicolas Petton  <nicolas@petton.fr>
8959         Fix an entry in authors-aliases
8961         * admin/authors.el (authors-aliases): Replace regexp from "Max", which
8962         is too broad, to an email address ("mu@magi.net.ru").
8964 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
8966         Mention trace.el facilities in the ELisp manual
8968         * doc/lispref/debugging.texi (Debugging): Mention the trace.el
8969         library.
8971 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
8973         Improve documentation of safe values of variables
8975         * doc/lispref/variables.texi (File Local Variables): Mention the
8976         autoload cookie as a means of defining safe values for variables.
8977         See http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00261.html
8978         for the details.
8979         * doc/lispref/compile.texi (Compiler Errors): Document
8980         'byte-compile-error-on-warn'.
8982 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
8984         Improve the Emacs manual's "Misc" node
8986         * doc/emacs/misc.texi (Gnus): A more descriptive section name.
8987         (Invoking emacsclient): Mention how to avoid errors when there's
8988         no Emacs server.
8989         (EWW, Embedded WebKit Widgets): Now subsections under
8990         "Hyperlinking and Web Navigation Features".
8991         (Amusements): Add "games" to the section name.  Suggested by Alex
8992         Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
8994         * doc/emacs/emacs.texi (Top): Adjust the top-level menus to the
8995         above changes.
8997         * doc/lispref/os.texi (Security Considerations): Fix typos.
8999 2018-01-13  Martin Rudalics  <rudalics@gmx.at>
9001         In nsterm.m use FRAME_NS_P instead of FRAME_X_P (Bug#30019)
9003         * src/nsterm.m (x_set_parent_frame): Call FRAME_NS_P instead
9004         of FRAME_X_P (Bug#30019).
9006 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
9008         Bump Emacs version to 26.0.91
9010         * README:
9011         * configure.ac:
9012         * msdos/sed2v2.inp:
9013         * nt/README.W32: Bump Emacs version.
9015 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
9017         * ChangeLog.3: Update
9019 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
9021         Update authors
9023         * admin/authors.el (authors-aliases, authors-valid-file-names): Additions.
9024         * etc/AUTHORS: Update AUTHORS file.
9026 2018-01-12  Katsumi Yamaoka  <yamaoka@jpl.org>
9028         * lisp/gnus/message.el (message-do-auto-fill): Prevent do-auto-fill from
9029         adding extra citation mark (bug#29767, but it is a different bug).
9031 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
9033         Improve documentation of etags
9035         * doc/emacs/maintaining.texi (Tag Syntax, Create Tags Table):
9036         Improve documentation of etags options and of source language
9037         detection.
9039 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
9041         Teach etags new interpreters for some languages
9043         * lib-src/etags.c (Erlang_interpreters, Lua_interpreters)
9044         (Prolog_interpreters, Python_interpreters, Ruby_interpreters): New
9045         static variables.
9046         (lang_names): Use them to set interpreters for Erlang, Lua,
9047         Prolog, Python, and Ruby.
9048         (find_entries): Support "/usr/bin/env FOO" form of specifying an
9049         interpreter.
9051         * test/manual/etags/perl-src/htlmify-cystic: Modify the has-bang
9052         line to test the "env FOO" interpreter spec.  (Bug#30075)
9053         * test/manual/etags/ETAGS.good_1:
9054         * test/manual/etags/ETAGS.good_2:
9055         * test/manual/etags/ETAGS.good_3:
9056         * test/manual/etags/ETAGS.good_4:
9057         * test/manual/etags/ETAGS.good_5:
9058         * test/manual/etags/ETAGS.good_6: Adapt to latest changes in test
9059         files.
9061 2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
9063         * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-string' prop.
9065         * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#29767
9067 2018-01-10  Charles A. Roelli  <charles@aurox.ch>
9069         Improve documentation of fill-separate-heterogeneous-words-with-space
9071         * lisp/textmodes/fill.el
9072         (fill-separate-heterogeneous-words-with-space): Fix grammar.
9074 2018-01-10  Eli Zaretskii  <eliz@gnu.org>
9076         Fix documentation of some x-* functions
9078         * lisp/term/pc-win.el (x-display-pixel-width)
9079         (x-display-pixel-height, x-display-planes)
9080         (x-display-color-cells, x-server-max-request-size)
9081         (x-server-vendor, x-server-version, x-display-screens)
9082         (x-display-mm-height, x-display-mm-width)
9083         (x-display-backing-store, x-display-visual-class): Provide doc
9084         strings, so that 'makedoc' produces non-empty documentation in
9085         etc/DOC for these functions.  (Bug#30068)
9087 2018-01-10  Philipp Stephani  <phst@google.com>
9089         Inherit query-on-exit flag to stderr process (Bug#30031)
9091         * src/process.c (Fmake_process): Have the pipe process honor the
9092         parent's query-on-exit flag.
9094         * test/src/process-tests.el (make-process/noquery-stderr): New test.
9096 2018-01-10  Michael Albinus  <michael.albinus@gmx.de>
9098         Fix Bug#30057
9100         * test/lisp/filenotify-tests.el (file-notify--test-tmpdir): New defvar.
9101         (file-notify--test-cleanup, file-notify--test-make-temp-name)
9102         (file-notify-test01-add-watch, file-notify-test03-events)
9103         (file-notify-test05-file-validity)
9104         (file-notify-test09-watched-file-in-watched-dir)
9105         (file-notify-test10-sufficient-resources): Use it.  (Bug#30057)
9107 2018-01-10  Glenn Morris  <rgm@gnu.org>
9109         Tag some unstable tests, and skip by default (bug#24503)
9111         * Makefile.in (check-all): New phony target.
9112         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE):
9113         Also skip unstable tests.
9114         (SELECTOR_ALL): New variable.
9115         (check-all): New phony target.
9116         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
9117         (eieio-test-method-order-list-6):
9118         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
9119         (eieio-test-37-obsolete-name-in-constructor):
9120         Mark as unstable rather than skipping on hydra.nixos.org.
9122 2018-01-10  Paul Eggert  <eggert@cs.ucla.edu>
9124         Merge from Gnulib
9126         This incorporates:
9127         2018-01-05 maint: Add encoding marker for Emacs to non-ASCII sources
9128         2018-01-04 update-copyright: Handle use of ©
9129         2018-01-04 pthread_sigmask: Avoid compilation error on mingw
9130         2018-01-02 stat-time: silence -Wunused-parameter regression
9131         * build-aux/config.guess, build-aux/config.sub:
9132         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/gnulib.mk.in:
9133         * lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c:
9134         * lib/sha256.h, lib/sha512.c, lib/sha512.h, lib/signal.in.h:
9135         * lib/stat-time.h: Copy from Gnulib, or regenerate.
9137 2018-01-09  Glenn Morris  <rgm@gnu.org>
9139         * lisp/epg.el (epg-start-sign): Replace obsolete functions.
9141 2018-01-09  Glenn Morris  <rgm@gnu.org>
9143         Small fix for erc-logging-enabled
9145         * lisp/erc/erc-log.el (erc-logging-enabled):
9146         Respect buffer-locality of erc-enable-logging variable.
9148 2018-01-09  Glenn Morris  <rgm@gnu.org>
9150         Quieten semantic normal usage
9152         * lisp/cedet/semantic/lex.el (semantic-flex): Mark obsolete at
9153         compile time in the normal way, not at run-time.  (Bug#30035)
9155 2018-01-08  Eli Zaretskii  <eliz@gnu.org>
9157         Avoid irrelevant hyperlink in doc string of 'epa-pinentry-mode'
9159         * lisp/epa.el (epa-pinentry-mode): Doc fix.  (Bug#30025)
9161 2018-01-08  Michael Albinus  <michael.albinus@gmx.de>
9163         * doc/misc/tramp.texi (Remote processes): Mention gdb restrictions with I/O.
9165 2018-01-08  Noam Postavsky  <npostavs@gmail.com>
9167         Query background for gnome terminal version 3.22 (Bug#29716)
9169         * lisp/term/xterm.el (xterm--version-handler): Use
9170         xterm--report-background-handler for terminals reporting minor version
9171         4000 and above.
9173 2018-01-07  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
9175         Make pixel-wise scrolling less laggy
9177         * lisp/pixel-scroll.el (pixel-dead-time, pixel-last-scroll-time):
9178         New variables.
9179         (pixel-scroll-up, pixel-scroll-down): Invoke 'scroll-up' or
9180         'scroll-down' when called within 'pixel-dead-time'.  (Bug#29737)
9182 2018-01-07  Alan Third  <alan@idiocy.org>
9184         Fix child frame placement issues (bug#29953)
9186         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS):
9187         (NS_PARENT_WINDOW_TOP_POS): Get the parent frame through the frame
9188         struct as invisible child windows are detached from their parents in
9189         NS.
9190         * src/nsterm.m (x_set_offset): Offscreen frames have `nil' screen
9191         value, so handle that gracefully.  Child frames with negative left and
9192         top should be positioned relative to the bottom right of the parent
9193         frame.
9195 2018-01-06  Alan Mackenzie  <acm@muc.de>
9197         Describe the precise interaction of complex primitives with the change hooks
9199         * doc/lispref/text.texi (Change Hooks): Document that most buffer changing
9200         primitives call before- and after-change-functions in balanced pairs, but that
9201         some complex primitives call b-c-f once, and a-c-f zero, one, or several
9202         times.
9204 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
9206         Fix valgrind report in call-interactively
9208         * src/callint.c (Fcall_interactively): Don't try to access more
9209         bytes than are available in the interactive spec.  (Bug#30004)
9211 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
9213         * src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)
9215 2018-01-06  Alan Mackenzie  <acm@muc.de>
9217         Fix mark-defun when there's no spaces between successive defuns.
9219         The problem was a parse-partial-sexp call which tried to use the STOPBEFORE
9220         argument to detect non-syntactic WS.  This fails on a "}", which does not
9221         begin a sexp.
9223         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p): Enhance to
9224         handle BOL being in a string.
9225         (beginning-of-defun-comments): Call the above function in place of the call
9226         to parse-partial-sexp.
9228 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
9230         Fix Dired display and operations on file names with raw bytes
9232         * src/coding.c (decode_coding): When flushing remaining raw bytes
9233         from multibyte text, copy 2-byte forms of eight-bit-*
9234         characters as single characters, not as 2 raw bytes.  (Bug#29189)
9236 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
9238         Improve documentation of 'gdb-many-windows'
9240         * doc/emacs/building.texi (GDB User Interface Layout): Add advice
9241         for using a separate frame for 'gdb-many-windows'.
9243 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
9245         Fix failures in smerge-mode on MS-Windows
9247         * lisp/vc/smerge-mode.el (smerge--refine-chopup-region): Use
9248         utf-8-emacs-unix, not emacs-internal, to make the forced EOL
9249         convention explicit.
9250         (smerge-refine-regions): Use utf-8-emacs instead of
9251         emacs-internal, to allow decoding of non-Unix EOL conventions.
9252         (Bug#29916)
9254 2018-01-04  Stephen Leake  <stephen_leake@stephe-leake.org>
9256         Fix description of 'struct' generic function specializer
9257         Backport:
9259         * doc/lispref/functions.texi (Generic Functions): Fix description of
9260         'struct' specializer; it must be the named struct or a child, not a
9261         parent.
9263         (cherry picked from commit b6add8c7cfc6d36f9dd8ad99be06bd8ab41cc6f8)
9265 2018-01-04  Charles A. Roelli  <charles@aurox.ch>
9267         * etc/DEBUG (Getting control to the debugger): Fix grammar.
9269 2018-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
9271         * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset holds a list!
9273 2018-01-03  Noam Postavsky  <npostavs@gmail.com>
9275         Don't bind dframe events on load (Bug#29599)
9277         * lisp/dframe.el (dframe-setup-hook): New hook.
9278         (dframe-set-special-events): New function, containing previous
9279         top-level key binding code.
9280         (top-level): Add it to dframe-setup-hook.
9281         (dframe-frame-mode): Run the hook.
9283 2018-01-02  Eli Zaretskii  <eliz@gnu.org>
9285         * lisp/textmodes/picture.el (picture-mode-exit): Doc fix.  (Bug#29949)
9287         * lisp/textmodes/picture.el (picture-open-line): Doc fix.  (Bug#29948)
9289 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
9291         Fix description of 'emacs-internal'
9293         * doc/lispref/nonascii.texi (Coding System Basics): Correct
9294         inaccuracy in description of 'emacs-internal'.  (Bug#29916)
9296 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
9298         Update PROBLEMS with selection-related issues
9300         * etc/PROBLEMS: Update the entry about large selections and
9301         klipper.  (Bug#29661)
9303 2018-01-01  Ross Donaldson  <gastove@gmail.com>  (tiny change)
9305         New customization variable for python-mode indentation (Bug#28475)
9307         * lisp/progmodes/python.el (python-indent-def-block-scale): New variable.
9308         (python-indent--calculate-indentation): Let it control how many indent
9309         levels are inserted for multi-line function signatures.
9311 2018-01-01  Alan Third  <alan@idiocy.org>
9313         Fix menu keyboard shortcuts on macOS (Bug#29595)
9315         * src/nsmenu.m (addItemWithWidgetValue)[NS_IMPL_COCOA]: It looks like
9316         macOS 10.13 no longer ignores long modifier strings, so explicitly use
9317         an empty string.
9319 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
9321         Fix copyright years by hand
9323         These are dates that admin/update-copyright did not update, or
9324         updated incorrectly.
9326 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
9328         Update copyright year to 2018
9330         Run admin/update-copyright.
9332 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
9334         Merge from Gnulib
9336         This incorporates:
9337         2018-01-01 maint: Run 'make update-copyright'
9338         2017-12-29 Add cross-compilation results for GNU/Hurd.
9339         2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0
9341 2017-12-31  Gemini Lasswell  <gazally@runbox.com>
9343         Don't add empty keyboard macro to macro ring (Bug#24992)
9345         * lisp/kmacro.el (kmacro-end-call-mouse): Don't save a newly defined
9346         macro if it is empty.
9348         * test/lisp/kmacro-tests.el (kmacro-tests-end-and-call-macro-mouse):
9349         Remove expected failure tag.
9351 2017-12-31  Eli Zaretskii  <eliz@gnu.org>
9353         Allow customization of decoding of "man" command
9355         * lisp/man.el (Man-coding-system): New defcustom.
9356         (Man-start-calling): Use it, and also pay attention to user
9357         overriding coding-system-for-read.  (Bug#29872)
9359 2017-12-31  Daiki Ueno  <ueno@gnu.org>
9361         * etc/NEWS: Add security consideration note on passphrase input
9363 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
9365         Fix subtle problem with scroll-down when scroll-margin is nonzero
9367         * src/window.c (window_scroll_pixel_based): Account for
9368         scroll-margin when scrolling down, i.e. moving window-start
9369         towards the beginning of the buffer.  Reported by zhang cc
9370         <ccsmile2008@outlook.com> in
9371         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html.
9373 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
9375         Fix problems with indexing in User manual
9377         * doc/emacs/basic.texi (Continuation Lines, Inserting Text)
9378         (Moving Point):
9379         * doc/emacs/help.texi (Help Echo, Package Keywords, Help Mode):
9380         * doc/emacs/trouble.texi (Quitting):
9381         * doc/emacs/mark.texi (Setting Mark, Disabled Transient Mark):
9382         * doc/emacs/custom.texi (Modifier Keys, Init Examples)
9383         (Creating Custom Themes):
9384         * doc/emacs/programs.texi (Program Modes, Expressions, Hideshow)
9385         (Basic Indent, Info Lookup, Symbol Completion):
9386         * doc/emacs/screen.texi (Echo Area):
9387         * doc/emacs/xresources.texi (Table of Resources, GTK Names in Emacs):
9388         * doc/emacs/display.texi (Line Truncation, Cursor Display):
9389         * doc/emacs/files.texi (File Names, Backup, File Archives):
9390         * doc/emacs/dired.texi (Operating on Files, Dired Enter):
9391         * doc/emacs/commands.texi (User Input):
9392         * doc/emacs/mule.texi (International, Unibyte Mode)
9393         (International Chars):
9394         * doc/emacs/vc1-xtra.texi (RCS and SCCS, Version Headers)
9395         (CVS Options):
9396         * doc/emacs/modes.texi (Major Modes, Minor Modes):
9397         * doc/emacs/indent.texi (Just Spaces):
9398         * doc/emacs/frames.texi (Mouse Avoidance, Mode Line Mouse)
9399         (Frame Commands):
9400         * doc/emacs/cmdargs.texi (Initial Options):
9401         * doc/emacs/abbrevs.texi (Dabbrev Customization):
9402         * doc/emacs/mini.texi (Completion Example, Completion Commands):
9403         * doc/emacs/calendar.texi (Writing Calendar Files, Calendar Unit Motion)
9404         (From Other Calendar):
9405         * doc/emacs/regs.texi (Text Registers, Bookmarks):
9406         * doc/emacs/buffers.texi (Several Buffers, Select Buffer):
9407         * doc/emacs/maintaining.texi (Xref Commands):
9408         * doc/emacs/windows.texi (Pop Up Window):
9409         * doc/emacs/text.texi (Text, Org Mode):
9410         * doc/emacs/killing.texi (Other Kill Commands):
9411         * doc/emacs/misc.texi (Document View, Gnus Group Buffer)
9412         (Gnus Summary Buffer, Shell Mode):
9413         * doc/emacs/cal-xtra.texi (Sexp Diary Entries): Remove or reword
9414         redundant identical index entries.
9415         * doc/emacs/custom.texi (Mouse Buttons)
9416         * doc/emacs/files.texi (Reverting): Fix hyphenation.
9417         * doc/emacs/emacs.texi (Top): Improve wording of Index menu items.
9418         * doc/emacs/files.texi (File Conveniences):
9419         * doc/emacs/programs.texi (MixedCase Words): Make entries that
9420         belong to Concept Index be indexed with @cindex.  (Bug#29888)
9422 2017-12-29  Alan Mackenzie  <acm@muc.de>
9424         * lisp/help.el (describe-key): Only (copy-sequence elt) when elt is a list.
9426 2017-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
9428         * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
9430         Don't mess with the lock file when inhibit_modification_hooks is set,
9431         just like we do in prepare_to_modify_buffer_1.
9433 2017-12-28  Eli Zaretskii  <eliz@gnu.org>
9435         Improve documentation of 'inhibit-modification-hooks' and friends
9437         * src/buffer.c (Fset_buffer_modified_p)
9438         (Frestore_buffer_modified_p): Doc fixes.
9439         * src/insdel.c (syms_of_insdel) <inhibit-modification-hooks>:
9440         Document in the doc string that this variable also inhibits file
9441         locks and active region handling.  (Bug#29846)
9443 2017-12-28  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)
9445         Fix doc string of 'enable-recursive-minibuffers'
9447         * src/minibuf.c (syms_of_minibuf) <enable-recursive-minibuffers>:
9448         Doc fix.  (Bug#29873)
9450 2017-12-27  Eli Zaretskii  <eliz@gnu.org>
9452         Fix documentation of delsel and of killing text
9454         * doc/emacs/killing.texi (Appending Kills): Make sure the text
9455         with 2 spaces is not broken between 2 lines.
9456         * doc/emacs/mark.texi (Using Region): Remove the sentence about
9457         delsel mode that describes behavior which exists even without
9458         delsel mode turned on.  Suggested by Petteri Hintsanen
9459         <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
9461         * lisp/delsel.el (delete-selection-mode): Doc fix.
9463 2017-12-27  Glenn Morris  <rgm@gnu.org>
9465         * doc/lispref/strings.texi (Case Conversion):
9466         Use a TeX font that support ligatures.
9468 2017-12-27  Charles A. Roelli  <charles@aurox.ch>
9470         * doc/misc/speedbar.texi (Top): Fix grammar.
9472         * lisp/subr.el (with-silent-modifications): Doc fixes.
9474 2017-12-26  Eli Zaretskii  <eliz@gnu.org>
9476         Fix curved quotes in printed manual
9478         * doc/emacs/text.texi (Quotation Marks): Fix curved quote
9479         characters in the printed version of the manual.
9481 2017-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9483         Say that "gnus-cloud" is a parody name
9485 2017-12-25  Eli Zaretskii  <eliz@gnu.org>
9487         More improvements for text.texi
9489         * doc/emacs/text.texi (Outline Motion): Avoid unneeded
9490         repetition.  Suggested by Petteri Hintsanen <petterih@iki.fi> in
9491         emacs-manual-bugs@gnu.org.
9493 2017-12-24  Eli Zaretskii  <eliz@gnu.org>
9495         Adjudicate review comments for the "Text" chapter of user manual
9497         * doc/emacs/text.texi (Text): Rearrange text for clarity.  Add
9498         cross-reference to the Org manual.  Make the cross-reference to
9499         Outline Mode appear in online manuals as well (the conditional was
9500         a forgotten remnant from time immemoriam).
9501         (Paragraphs): Add a note that 'paragraph-start' and
9502         'paragraph-separate' should not be anchored.
9503         (Auto Fill): Remove redundant text.  Suggested by Petteri
9504         Hintsanen <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
9506 2017-12-24  Andreas Schwab  <schwab@linux-m68k.org>
9508         * lisp/url/url-http.el
9509         (url-http-wait-for-headers-change-function): Change message to
9510         url-http-debug.
9512 2017-12-24  Alan Mackenzie  <acm@muc.de>
9514         In C-h k <mouse-n>, alert user to existence of any matching down-mouse-event
9516         , and instruct her to hold the mouse button to display its documentation.
9518         * lisp/help.el (help-downify-mouse-event-type): New function.
9519         (help-read-key-sequence, describe-key): handle double-click-time being nil or
9520         t.
9521         (describe-key): Print out instructions for displaying documentation of
9522         matching mouse down key sequence command when such exists.
9524 2017-12-23  Andreas Schwab  <schwab@linux-m68k.org>
9526         * net/eww.el (eww): Handle URLs without host part.
9528 2017-12-23  Alan Mackenzie  <acm@muc.de>
9530         Make C-h c/k S-mouse-1 display message for mouse-appearance-menu, etc.
9532         Currently, C-h c/k for S-mouse-1 reports that S-mouse-1 is unbound, ignoring
9533         that S-down-mouse-1 is bound.  We fix this by reporting on the "latest" mouse
9534         event of a sequence which is bound.
9536         * lisp/help.el (help-read-key-sequence): Save all encountered mouse events in
9537         a list.  Return the latest one which has a binding.
9539 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
9541         Avoid crashes when ':eval' deletes our frame
9543         * src/xdisp.c (display_mode_element): Signal an error if
9544         ':eval' somehow deletes the frame whose window we are
9545         redisplaying. (Bug#29726)
9547 2017-12-23  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
9549         Fix scrolling up in pixel-scroll.el
9551         * lisp/pixel-scroll.el (pixel-scroll-up): Do not try to move cursor
9552         down when EOB is shown at the top.  This function is reverted to
9553         commit 1bda71ec3b11eeb4d06c3da094a3cb21bac18d5c. (bug#29737)
9555 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
9557         Fix problems with ligatures in PDF version of ELisp manual
9559         * doc/lispref/strings.texi (Case Conversion): Avoid problems with
9560         ligatures in printed versions of the manual.  (Bug#29818)
9562 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
9564         (elisp-flymake-byte-compile): Handle killed buffer in sentinel
9566         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
9567         Don't burp if the source-buffer has been killed.
9569 2017-12-22  Glenn Morris  <rgm@gnu.org>
9571         Avoid some overfull lines in PDF lispref
9573         * doc/lispref/commands.texi (Reading One Event):
9574         * doc/lispref/display.texi (SVG Images):
9575         * doc/lispref/frames.texi (Size Parameters):
9576         * doc/lispref/syntax.texi (Categories):
9577         * doc/lispref/windows.texi (Frame Layouts with Side Windows):
9578         Avoid overfull lines.
9580 2017-12-22  Glenn Morris  <rgm@gnu.org>
9582         Avoid some overfull lines in PDF manual
9584         * doc/emacs/display.texi (Display Custom):
9585         * doc/emacs/search.texi (Other Repeating Search):
9586         * doc/emacs/text.texi (Quotation Marks): Avoid overfull lines.
9588 2017-12-22  Glenn Morris  <rgm@gnu.org>
9590         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
9591         Fix ref.
9593 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
9595         * lisp/emacs-lisp/inline.el (define-inline): Add a doc string.
9597 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
9599         Fix doc string of 'footnote-style-alist'
9601         * lisp/mail/footnote.el (footnote-style-alist): Remove a reference
9602         to non-existing files from doc string.  (Bug#29759)
9604 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
9606         Improve documentation of selecting windows
9608         * doc/lispref/windows.texi (Basic Windows, Selecting Windows):
9609         Clarify what selecting a window means for keyboard input, and that
9610         input focus may need to be considered when selecting windows on
9611         other frames.  See
9612         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00372.html
9613         for more details.
9615 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
9617         Improve documentation of records
9619         * doc/lispref/Makefile.in (srcs): Add the forgotten records.texi.
9620         * doc/lispref/records.texi (Records): Recommend that record type
9621         names use package-naming conventions.
9623         * etc/NEWS: Add the naming convention recommendation for record
9624         types.
9626 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
9628         * etc/NEWS: Mention the removal of pinentry.el.  (Bug#27445)
9630 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
9632         Fix interactive spec of 'semantic-ia-show-variants'
9634         * lisp/cedet/semantic/ia.el (semantic-ia-show-variants): Fix the
9635         interactive spec to match the function's expectations.  (Bug#29770)
9637 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
9639         Fix documentation of 'mouse-drag-and-drop-region' and friends
9641         * doc/emacs/frames.texi (Drag and Drop): Index
9642         'mouse-drag-and-drop-region-cut-when-buffers-differ',
9643         'mouse-drag-and-drop-region-show-tooltip', and
9644         'mouse-drag-and-drop-region-show-cursor'.
9646         * etc/NEWS: Fix the format of the related entries.
9648 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
9650         Improve detection of speller version in ispell.el
9652         * lisp/textmodes/ispell.el (ispell-check-version): Accept more
9653         general forms of version numbers for Aspell, Hunspell, and
9654         Enchant, to include various beta and prereleases.  (Bug#29801)
9656 2017-12-22  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
9658         Document 'mouse-drag-and-drop-region' options and mention them in NEWS
9660         * doc/emacs/frames.texi (Drag and Drop):
9661         * etc/NEWS (times): Document options for
9662         'mouse-drag-and-drop-region' and mention them in NEWS.
9664 2017-12-22  Martin Rudalics  <rudalics@gmx.at>
9666         Fix uses of 'nil' and 'non-nil' in manuals and a few more minor issues
9668         * doc/emacs/building.texi (Grep Searching): Fix doc of
9669         'grep-save-buffers'.
9670         (Drag and Drop): Reorder paragraphs.  Fix doc of
9671         'mouse-drag-and-drop-region'.
9672         * doc/emacs/frames.texi (Word and Line Mouse):
9673         * doc/emacs/search.texi (Other Repeating Search):
9674         * doc/lispref/compile.texi (Compilation Functions):
9675         * doc/lispref/files.texi (Directory Names):
9676         * doc/lispref/functions.texi (Advising Named Functions):
9677         * doc/lispref/keymaps.texi (Controlling Active Maps):
9678         * doc/lispref/lists.texi (Association Lists):
9679         * doc/lispref/windows.texi (Quitting Windows): Fix uses of
9680         'non-nil' and 'nil'.
9682 2017-12-21  Philipp Stephani  <phst@google.com>
9684         Document that mode commands should be idempotent.
9686         * doc/lispref/modes.texi (Major Mode Conventions, Minor Mode
9687         Conventions): Document that the mode commands should be idempotent.
9689 2017-12-21  Alan Mackenzie  <acm@muc.de>
9691         Fontify a CPP construct correctly when a comment follows without spaces
9693         Do this by removing a broken optimization in the state cache which put
9694         category text properties on a character between the end of the CPP construct
9695         and the beginning of the comment.  This can't work when there's no such
9696         character.
9698         * lisp/progmodes/cc-defs.el (c-cpp-delimiter, c-set-cpp-delimiters)
9699         (c-clear-cpp-delimiters, c-comment-out-cpps, c-with-cpps-commented-out)
9700         (c-with-all-but-one-cpps-commented-out): Remove.
9702         * lisp/progmodes/cc-engine.el (c-no-comment-end-of-macro): Return the comment
9703         start position rather than one character before it.
9704         (c-invalidate-state-cache, c-parse-state): Remove the invocations of
9705         c-with-all-but-one-cpps-commented-out and c-with-cpps-commented-out.
9707         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Rename to
9708         c-neutralize-syntax-in-CPP and remove the bits which applied category
9709         properties.
9711         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Incorporate the
9712         new name of the function c-neutralize-syntax-in-CPP.
9714 2017-12-21  Eli Zaretskii  <eliz@gnu.org>
9716         Prevent infloop in redisplay on TTY frames
9718         * src/xdisp.c (extend_face_to_end_of_line): Avoid infloop when
9719         filling up display margins with the default face's background.
9720         (Bug#29789)
9722 2017-12-21  Alan Mackenzie  <acm@muc.de>
9724         Fix loss of documentation face in certain CC Mode doc comment situations
9726         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Take into account
9727         the possibility of font-lock-comment-delimiter-face.  Test rigorously for
9728         "/**" (etc.) being itself inside a literal, rather than just depending on the
9729         face of the previous character.
9731 2017-12-21  Daiki Ueno  <ueno@gnu.org>
9733         Remove pinentry.el
9735         * lisp/epg.el (epg--start): Remove the use of pinentry.el.
9736         * lisp/net/pinentry.el: Remove (bug#27445).
9738 2017-12-21  Ted Zlatanov  <tzz@lifelogs.com>
9740         Special-case %DUMBFW for GnuTLS between 3.2.5 and 3.5.1
9742         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT__DUMBFW for GnuTLS >= 3.2.5.
9743         (Fgnutls_available_p): Use it.
9745 2017-12-21  Andy Moreton  <andrewjmoreton@gmail.com>
9747         Work around GnuTLS version issues with %DUMBFW (tiny change)
9749         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT_GET_NAME and use it.
9750         (init_gnutls_functions): Use it.
9751         (Fgnutls_available_p): Use it (Bug#25061). Fix Vlibrary_cache bug.
9753 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
9755         Merge branch 'widen-less' into emacs-26
9757 2017-12-20  Glenn Morris  <rgm@gnu.org>
9759         * lisp/erc/erc.el (erc-shorten-server-name): Silence compiler warning.
9761 2017-12-20  Glenn Morris  <rgm@gnu.org>
9763         Fix some more aliases to user options
9765         * lisp/cus-edit.el (custom-mode-hook):
9766         * lisp/erc/erc.el (erc-default-coding-system):
9767         * lisp/progmodes/python.el (python-indent, python-guess-indent)
9768         (python-shell-virtualenv-path)
9769         (python-shell-completion-module-string-code)
9770         (python-shell-completion-pdb-string-code, python-use-skeletons):
9771         Define aliases to user options before the options are defined.
9773 2017-12-20  Glenn Morris  <rgm@gnu.org>
9775         Fix some flymake aliases
9777         * lisp/progmodes/flymake-proc.el (flymake-xml-program)
9778         (flymake-compilation-prevents-syntax-check, flymake-master-file-dirs)
9779         (flymake-master-file-count-limit, flymake-allowed-file-name-masks):
9780         * lisp/progmodes/flymake.el (flymake-start-syntax-check-on-find-file):
9781         Define aliases to user options before the options are defined.
9783 2017-12-20  Glenn Morris  <rgm@gnu.org>
9785         Unbreak a fileio test on non-Mac OS X systems
9787         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
9788         Don't use an undefined coding system.
9790 2017-12-20  Robert Pluim  <rpluim@gmail.com>
9792         Fix updating scrollbar sizes when scaling is in effect
9794         * src/gtkutil.c (xg_update_scrollbar_pos): Update width of
9795         scrollbar when scaling is in effect.
9796         (xg_update_horizontal_scrollbar_pos): Update scrollbar size
9797         when scaling is in effect.
9799 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
9801         Widen in indent-for-tab-command in the normal case, too
9803         Fixing this obvious omission.
9804         * lisp/indent.el (indent--funcall-widened): New function.
9805         (indent-for-tab-command): Use it.
9807 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
9809         Collect GnuTLS extensions and use them to set %DUMBFW if supported
9811         * lisp/net/gnutls.el (gnutls-boot-parameters): Use it to set %DUMBFW
9812         only when it's supported as "ClientHello Padding" (Bug#25061).
9814         * src/gnutls.c (Fgnutls_available_p): Get extension names and
9815         put them in the GnuTLS capabilities, using a hard-coded limit
9816         of 100 since GnuTLS MAX_EXT_TYPES is not exported.
9818 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
9820         * test/lisp/emacs-lisp/derived-tests.el: Fix copy&paste leftovers
9822 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
9824         * lisp/subr.el (delayed-after-hook-functions): Rename from ...-forms
9826         (run-mode-hooks): `funcall` the functions instead of `eval`ing the forms.
9827         * lisp/emacs-lisp/derived.el (define-derived-mode): Push functions
9828         rather than forms (bug#29679).
9830 2017-12-18  Katsumi Yamaoka  <yamaoka@jpl.org>
9832         * lisp/net/shr.el (shr-string-pixel-width): Return pixel-width,
9833         not position (bug#29734).
9835 2017-12-18  Dmitry Gutov  <dgutov@yandex.ru>
9837         Replace the mention of c-indent-defun with js-indent-line
9839         * doc/lispref/text.texi (Mode-Specific Indent):
9840         Avoid mentioning c-indent-defun in the context of multi-mode
9841         indentation.
9843 2017-12-17  Charles A. Roelli  <charles@aurox.ch>
9845         python.el doc fixes
9847         * lisp/progmodes/python.el (python-shell-accept-process-output):
9848         (python-shell-comint-end-of-output-p):
9849         (python-shell-first-prompt-hook):
9850         (python-info-beginning-of-backslash): Doc fixes.
9852 2017-12-17  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
9854         Make 'mouse-drag-and-drop-region' more robust and customizable
9856         * lisp/mouse.el
9857         (mouse-drag-and-drop-region-cut-when-buffers-differ): New option
9858         to permit 'mouse-drag-and-drop-region' to cut text also when source
9859         and destination buffers differ.
9860         (mouse-drag-and-drop-region-show-tooltip): New option to toggle
9861         display of tooltip during mouse dragging on graphic displays.
9862         (mouse-drag-and-drop-region-show-cursor): New option to toggle
9863         moving point with mouse cursor during mouse dragging of region.
9864         (mouse-drag-and-drop-region): New face to highlight original
9865         text while dragging.
9866         (mouse-drag-and-drop-region): Make use of new options and face.
9867         Ignore errors during tracking.
9869 2017-12-17  Oscar Fuentes  <ofv@wanadoo.es>
9871         Backport: Don't compare arguments that can be nil (Bug#28039)
9873         copy-region-as-kill can be called passing nil as `beg' and
9874         `end'. Magit does that, which caused an error when this advice was in
9875         effect.
9877         * lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison
9878           unless `beg' and `end' are non-nil.
9880 2017-12-17  Noam Postavsky  <npostavs@gmail.com>
9882         Don't mess up syntax-ppss cache in electric-pair (Bug#29710)
9884         In Emacs 25 and above, calling `scan-sexps', `parse-partial-sexp', or
9885         similar may update the syntax-ppss cache if
9886         `parse-sexp-lookup-properties' is non-nil.  Therefore, when calling
9887         any of these functions with a different than normal syntax-table, the
9888         cache must be cleaned afterwards.
9889         * lisp/elec-pair.el (electric-pair--with-uncached-syntax): New macro.
9890         (electric-pair--syntax-ppss, electric-pair--balance-info): Use it.
9892 2017-12-17  Glenn Morris  <rgm@gnu.org>
9894         * etc/emacs.appdata.xml: Update file format.
9896 2017-12-16  Alan Third  <alan@idiocy.org>
9898         Use utf-8-hfs-unix on macOS (Bug#29712)
9900         This is a quick fix for the Emacs 26 release. Do not merge to master.
9902         * test/src/fileio-tests.el (fileio-tests--symlink-failure): Override
9903         file-name-coding-system to utf-8-hfs-unix to prevent test failure.
9905 2017-12-16  Alan Mackenzie  <acm@muc.de>
9907         * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
9909 2017-12-16  Michael Albinus  <michael.albinus@gmx.de>
9911         Improve fix for Bug#29712
9913         * test/lisp/net/tramp-tests.el
9914         (tramp-test32-environment-variables-and-port-numbers):
9915         Adapt check for systems which do not support "echo -n".  (Bug#29712)
9917 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
9919         * doc/lispref/sequences.texi (Sequence Functions): Improve indexing.
9921 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
9923         Avoid reordering of output in 'shr-insert-document'
9925         * lisp/net/shr.el (shr-string-pixel-width): Preserve point across
9926         shr-pixel-column invocations.  (Bug#29734)
9928 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
9930         Improve documentation of 'invisible-p'
9932         * doc/lispref/display.texi (Invisible Text): Document the return
9933         value of 'invisible-p'.
9935         * src/xdisp.c (Finvisible_p): Rename the argument POS.  Doc fix.
9936         (Bug#29721)
9938 2017-12-16  Martin Rudalics  <rudalics@gmx.at>
9940         Remove one more check that Vframe_list is non-nil
9942         * src/dispnew.c (check_glyph_memory): Remove no-longer-needed
9943         check that Vframe_list is non-nil, as FOR_EACH_FRAME no longer
9944         assumes that.
9946 2017-12-16  Simen Heggestøyl  <simenheg@gmail.com>
9948         Fix off-by-one error in 'css--hex-color'
9950         * lisp/textmodes/css-mode.el (css--hex-color): Fix off-by-one error.
9952         * test/lisp/textmodes/css-mode-tests.el (css-test-hex-color): New test
9953         for 'css--hex-color'.
9955 2017-12-16  Aaron Jensen  <aaronjensen@gmail.com>
9957         Save and restore text-pixel height and width of frames (Bug#28442)
9959         * lisp/frameset.el (frameset--record-relationships): Record
9960         text-pixel-height and text-pixel-width of frame.
9961         (frameset--restore-frame): Restore text-pixel-height and
9962         text-pixel-width of frame if available.  (Bug#28442)
9964 2017-12-16  Noam Postavsky  <npostavs@gmail.com>
9966         Partially revert "Mention new strictness for &optional, &rest..."
9968         The changes to cl argument parsing are not backwards compatible, and
9969         cause inconvenience when writing macros (e.g., instead of doing '&aux
9970         ,@auxargs', some more complicated conditionals would be required).
9971         The `cl-defstruct' macro makes use of this convenience when defining
9972         empty structs (Bug#29728).
9973         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
9974         (cl--do-&aux, cl--do-arglist): Undo strict checking of &rest, &key,
9975         and &aux.
9976         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): Remove
9977         test.
9979 2017-12-15  Glenn Morris  <rgm@gnu.org>
9981         * lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-mode.
9983         * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete alias.
9985 2017-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9987         FOR_EACH_FRAME no longer assumes frame-list
9989         This cleans up a recent fix related to Bug#29661.
9990         Suggested by Stefan Monnier in:
9991         https://lists.gnu.org/r/emacs-devel/2017-12/msg00544.html
9992         * src/frame.c (next_frame, prev_frame, delete_frame):
9993         Restore debugging checks that Vframe_list is non-nil,
9994         as FOR_EACH_FRAME no longer has these checks.
9995         (delete_frame): Remove no-longer-needed checks that Vframe_list is
9996         non-nil, as FOR_EACH_FRAME no longer assumes that.
9997         * src/frame.h (FOR_EACH_FRAME): Do not assume Vframe_list is non-nil.
9999 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
10001         * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
10003 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
10005         Modernise message.el face spec syntax
10007         * lisp/gnus/message.el (message-header-to, message-header-cc)
10008         (message-header-subject, message-header-newsgroups)
10009         (message-header-other, message-header-name, message-header-xheader)
10010         (message-separator, message-cited-text, message-mml):
10011         Use (DISPLAY . PLIST) face spec syntax as recommended in
10012         `(elisp) Defining Faces'.  (Bug#29405)
10014 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
10016         Update message.el obsolete face aliases
10018         * lisp/gnus/message.el: (message-header-to, message-header-cc)
10019         (message-header-subject, message-header-newsgroups)
10020         (message-header-other, message-header-name, message-header-xheader)
10021         (message-separator, message-cited-text, message-mml):
10022         Use define-obsolete-face-alias.  (Bug#29405)
10024 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
10026         Improve documentation of TERM environment variable
10028         * doc/emacs/trouble.texi (Checklist):
10029         * doc/emacs/building.texi (Compilation Shell):
10030         * doc/emacs/misc.texi (Shell Options): Improve indexing of TERM.
10031         * doc/emacs/building.texi (Compilation Shell): Mention
10032         'comint-terminfo-terminal' in conjunction with the TERM value.
10034 2017-12-15  Allen Li  <darkfeline@felesatra.moe>
10036         Add option to configure comint TERM
10038         * lisp/comint.el (comint-terminfo-terminal): New defcustom.
10039         (comint-term-environment): New function for setting terminal options
10040         (comint-exec-1): Use comint-term-environment.  (Bug#29583)
10041         * lisp/progmodes/compile.el (compilation-start): Use comint-term-environment.
10043         * etc/NEWS:
10044         * doc/emacs/misc.texi (Shell Options): Document the new option.
10046 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
10048         Better support utf-8-with-signature and utf-8-hfs in XML/HTML
10050         * lisp/international/mule.el (sgml-xml-auto-coding-function):
10051         Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
10052         obey the buffer's encoding if it is one of these variants, instead
10053         of re-encoding in UTF-8 proper.  (Bug#20623)
10055 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
10057         * lisp/menu-bar.el (menu-bar-mode): Doc fix.
10059 2017-12-15  Michael Albinus  <michael.albinus@gmx.de>
10061         Fix Bug#29712 in tramp-tests.el
10063         * test/lisp/net/tramp-tests.el
10064         (tramp-test32-environment-variables-and-port-numbers):
10065         Skip for macOS.  (Bug#29712)
10067 2017-12-15  Martin Rudalics  <rudalics@gmx.at>
10069         Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
10071         This does not fix Bug#29961 but avoids that Emacs segfaults when
10072         trying to shut down because it lost connection to the X server.
10074         * src/dispnew.c (check_glyph_memory):
10075         * src/frame.c (delete_frame): Don't run FOR_EACH_FRAME when
10076         there's no frame left (Bug#29961).
10078 2017-12-15  Glenn Morris  <rgm@gnu.org>
10080         * lisp/textmodes/tex-mode.el: Ensure uncompiled file is loadable.
10082 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
10084         Remember password change for IMAP in Gnus (Bug#29692)
10086         Reported by Trey Jackson <trey_jackson@mentor.com>.
10088         * lisp/gnus/mail-source.el (mail-source-fetch-imap): Check
10089         `mail-source-password-cache' for password.
10091 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
10093         Add %DUMBFW to the default GnuTLS priority strings
10095         * lisp/net/gnutls.el (gnutls-boot-parameters): Add %DUMBFW to
10096         the default priority strings (Bug#25061).
10098         * etc/NEWS: Mention it.
10100         * doc/misc/emacs-gnutls.texi (Help For Users): Point to the
10101         GnuTLS priority string documentation URL.
10103 2017-12-15  Glenn Morris  <rgm@gnu.org>
10105         Small fixes prompted by make check-declare
10107         * lisp/frame.el (x-focus-frame): Update declaration.
10108         (ns-mouse-absolute-pixel-position): Fix declaration.
10109         * lisp/vc/diff-mode.el (diff-refine-hunk):
10110         Use smerge-refine-regions rather than obsolete alias.
10111         (smerge-refine-subst): Remove declaration, no longer relevant.
10113 2017-12-15  Glenn Morris  <rgm@gnu.org>
10115         Fix some custom groups
10117         * lisp/vc/vc-hooks.el (vc-faces): Rename from vc-state-faces.
10118         * lisp/vc/cvs-status.el (cvs-status): Unused, remove.
10120 2017-12-14  Alan Mackenzie  <acm@muc.de>
10122         Fix fontification of first declaration within a C++ lambda form.
10124         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Cease
10125         spuriously recognizing the braces of a lambda form as a brace list when there
10126         is an "=" preceding the introductory brackets.
10128 2017-12-14  Charles A. Roelli  <charles@aurox.ch>
10130         * src/data.c (Fadd_variable_watcher): Doc fix.
10132 2017-12-14  Alan Mackenzie  <acm@muc.de>
10134         Fix misfontification of C++ member initialization list after "throw"
10136         * lisp/progmodes/cc-engine.el (c-forward-type): Stop recognizing a "type"
10137         starting with "throw", by using c-opt-type-modifier-prefix-key.
10139         * lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): New lang const
10140         which, in C++, doesn't contain "throw", otherwise like c-type-modifier-kwds.
10141         (c-opt-type-modifier-prefix-key): New lang const and var, a regexp matching
10142         any keyword in the previous lang const.
10144 2017-12-14  Dmitry Gutov  <dgutov@yandex.ru>
10146         Consolidate 'widen' calls
10148         * lisp/progmodes/prog-mode.el (prog-indentation-context):
10149         Un-document all elements but the first.
10150         (prog-widen): Remove.
10151         (http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00321.html)
10153         * doc/lispref/text.texi (Mode-Specific Indent): Update.
10155         * lisp/progmodes/ruby-mode.el (ruby-calculate-indent):
10156         Don't call widen.
10158         * lisp/progmodes/python.el
10159         (python-indent-guess-indent-offset)
10160         (python-info-current-defun): Replace prog-widen with widen;
10161         these functions are not called during indentation.
10162         (python-indent-context)
10163         (python-indent--calculate-indentation)
10164         (python-info-dedenter-opening-block-message)
10165         (python-info-line-ends-backslash-p)
10166         (python-info-beginning-of-backslash)
10167         (python-info-continuation-line-p)
10168         (python-info-current-defun): Remove 'widen' calls.
10170         * lisp/indent.el (indent-according-to-mode)
10171         (indent-for-tab-command, indent-region): Move them here.
10173         * lisp/textmodes/mhtml-mode.el (mhtml-indent-line):
10174         Bind prog-indentation-context to one-element list.
10176 2017-12-14  Martin Rudalics  <rudalics@gmx.at>
10178         Fix doc-string of Fbuffer_list
10180         * src/buffer.c (Fbuffer_list): Fix doc-string.
10182 2017-12-14  Basil L. Contovounesios  <contovob@tcd.ie>
10184         Don't raise an extraneous frame (bug#29696)
10186         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Lookup
10187         summary buffer keys from article buffer without affecting window
10188         configuration (bug#29696).
10190 2017-12-13  Noam Postavsky  <npostavs@gmail.com>
10192         Mention new strictness for &optional, &rest in arglists (Bug#29165)
10194         * etc/NEWS: Explain that '&optional' not followed by a variable is now
10195         an error.
10196         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda, cl--do-&aux)
10197         (cl--do-arglist): Also reject '&optional', '&rest', or '&aux' not
10198         followed by a variable for consistency.
10199         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): New
10200         test.
10202 2017-12-13  Alan Mackenzie  <acm@muc.de>
10204         Don't misfontify "foo ()" inside C++ initialization parentheses as a type
10206         Also recognize and handle function names introduced by "extern" inside a
10207         function.
10209         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add a new element to
10210         the result list which is t when our declaration is, or is to be treated as,
10211         being at top level.
10213         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Detect being
10214         inside a C++ uniform initialization and return (not-decl nil) for this case.
10215         (c-font-lock-declarations): Use the new element 4 of the result of
10216         c-forward-decl-or-cast-1.
10218         * lisp/progmodes/cc-langs.el (c-make-top-level-kwds, c-make-top-level-key):
10219         New lang consts/vars.
10221 2017-12-13  Glenn Morris  <rgm@gnu.org>
10223         Fixes for defcustoms, prompted by cus-test-opts
10225         * lisp/files.el (save-some-buffers-default-predicate):
10226         * lisp/time.el (display-time-world-list):
10227         * lisp/gnus/gnus-art.el (gnus-article-show-cursor):
10228         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-names):
10229         * lisp/progmodes/verilog-mode.el (verilog-auto-wire-type):
10230         * lisp/textmodes/less-css-mode.el (less-css-output-directory)
10231         (less-css-output-file-name, less-css-input-file-name):
10232         * lisp/vc/emerge.el (emerge-metachars):
10233         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles):
10234         Fix :types.
10235         * lisp/net/newst-backend.el (newsticker-url-list-defaults): Fix url.
10237 2017-12-13  Glenn Morris  <rgm@gnu.org>
10239         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
10240         Update.
10242         * lisp/htmlfontify.el (hfy-which-etags): Fix it.
10244 2017-12-13  Glenn Morris  <rgm@gnu.org>
10246         Add missing :version tags revealed by cusver-check
10248         * lisp/comint.el (comint-move-point-for-matching-input):
10249         * lisp/epa.el (epa-replace-original-text):
10250         * lisp/image-dired.el (image-dired-cmd-optipng-program)
10251         (image-dired-cmd-optipng-options):
10252         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table):
10253         * lisp/gnus/gnus-cloud.el (gnus-cloud-storage-method)
10254         (gnus-cloud-interactive):
10255         * lisp/net/mailcap.el (mailcap-user-mime-data):
10256         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag)
10257         (c-noise-macro-names, c-noise-macro-with-parens-names):
10258         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode)
10259         (flymake-wrap-around):
10260         * lisp/progmodes/grep.el (grep-use-null-filename-separator):
10261         * lisp/progmodes/js.el (js-indent-align-list-continuation):
10262         * lisp/progmodes/perl-mode.el (perl-flymake-command):
10263         * lisp/progmodes/python.el (python-flymake-command)
10264         (python-flymake-command-output-pattern, python-flymake-msg-alist):
10265         * lisp/progmodes/ruby-mode.el (ruby-flymake-use-rubocop-if-available)
10266         (ruby-rubocop-config):
10267         * lisp/textmodes/less-css-mode.el (less-css):
10268         * lisp/textmodes/tex-mode.el (tex-chktex-program)
10269         (tex-chktex-extra-flags): Add missing :version tags.
10271 2017-12-13  Glenn Morris  <rgm@gnu.org>
10273         Escape column-zero doc parens
10275         * lisp/htmlfontify.el (hfy-display-class):
10276         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm):
10277         * lisp/net/shr.el (shr-external-rendering-functions):
10278         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag):
10279         * lisp/textmodes/tildify.el (tildify-tildify):
10280         Escape column-zero doc parens.  A shame bug#21871 remains unfixed.
10282 2017-12-12  Alan Third  <alan@idiocy.org>
10284         Remove ObjC blocks (Bug#23753)
10286         * src/macfont.m (macfont_get_glyph_for_character):
10287         (mac_font_get_glyphs_for_variants): Inline Objective-C blocks.
10289         (cherry picked from commit 4590f1d768adbb2120a2b02c614f7ed3b21a4a3e)
10291 2017-12-12  Eli Zaretskii  <eliz@gnu.org>
10293         Import the latest IVD_Sequences.txt
10295         * admin/unidata/IVD_Sequences.txt: New version from
10296         http://www.unicode.org/ivd/, the 2017-12-12 version of the Unicode
10297         Ideographic Variation Database.
10299         * src/macuvs.h: Regenerated.
10301 2017-12-11  Max  <mu@magi.net.ru>  (tiny change)
10303         Fix dired-do-compress when tar doesn't default to stdin (Bug#29094)
10305         * lisp/dired-aux.el (dired-compress-file-suffixes): Use argument '-f-'
10306         to write to stdout rather than relying on the default (the choice of
10307         default is decided when compiling tar, BSD systems usually set it to a
10308         tape drive).  Drop '-v', since the output is not used anywhere.
10310 2017-12-11  Noam Postavsky  <npostavs@gmail.com>
10312         Suppress warnings during elisp completion macroexpansion
10314         Errors are already suppressed, therefore it is logical to suppress
10315         warnings as well.  Some macros (e.g., use-package) may produce
10316         warnings when given the `elisp--witness--lisp' symbol.
10317         * lisp/progmodes/elisp-mode.el (elisp--local-variables): Let-bind
10318         warning-minimum-log-level to :emergency.
10320 2017-12-11  Chunyang Xu  <xuchunyang.me@gmail.com>
10322         * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bug#24410).
10324 2017-12-11  Michael Albinus  <michael.albinus@gmx.de>
10326         Make tramp-interrupt-process more robust
10328         * lisp/net/tramp.el (tramp-interrupt-process): Fall back to
10329         the default implementation if there's no success.
10331 2017-12-11  Katsumi Yamaoka  <yamaoka@jpl.org>
10333         Make quail-input-method work when inhibit-read-only is non-nil (bug#29504)
10335         * lisp/international/quail.el (quail-input-method): Work not only
10336         when buffer-read-only is nil but also when inhibit-read-only is non-nil
10337         (bug#29504).
10339 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
10341         Fix 'fontset-name-p'
10343         * lisp/international/fontset.el (fontset-name-p): Make the
10344         function work with full fontset names and fontset alias names.
10346 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
10348         Fix fontset documentation inconsistencies for bug#29630
10350         * doc/lispref/display.texi (Face Attributes): Don't document
10351         :family as accepting a fontset.  Document that :font accepts a
10352         fontset.
10354         * lisp/faces.el (set-face-attribute): Doc fix.
10356 2017-12-10  Martin Rudalics  <rudalics@gmx.at>
10358         Remove sentence from child frames section in Elisp manual
10360         * doc/lispref/frames.texi (Child Frames): Remove one sentence.
10361         Suggested by Bob Weiner <rsw@gnu.org>.
10363 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
10365         Avoid crashes in 'font-at' after 'set-fontset-font'
10367         * src/fontset.c (free_realized_fontsets): Call
10368         recompute_basic_faces, so that the basic faces are available to
10369         any Lisp that calls this function, e.g. via set-fontset-font.
10370         (Bug#29632)
10372 2017-12-10  Ted Zlatanov  <tzz@lifelogs.com>
10374         * lisp/files-x.el (connection-local-set-profile-variables): Fix docstring.
10376 2017-12-09  Ted Zlatanov  <tzz@lifelogs.com>
10378         Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
10380         Problem reported by Mark Ferlatte (Bug#28603).
10381         * lisp/net/gnutls.el (gnutls-trustfiles): Add /etc/ssl/cert.pem for macOS.
10383 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
10385         Fix tool-tip display when display margins are non-zero by default
10387         * src/buffer.h (bset_left_margin_cols, bset_right_margin_cols):
10388         New inline functions.
10389         * src/xfns.c (Fx_show_tip):
10390         * src/w32fns.c (Fx_show_tip): Force display margins of the tip
10391         buffer to zero, as it will be displayed in a pseudo-window, which
10392         doesn't support display margins.  (Bug#29627)
10394 2017-12-09  Eric Abrahamsen  <eric@ericabrahamsen.net>
10396         Handle hash tables and vectors when reading/writing EIEIO objects
10398         * lisp/emacs-lisp/eieio.el (eieio-override-prin1): EIEIO objects
10399           printed with `prin1' can no longer be read with `read'. Make sure
10400           they are printed with object-write instead, even when they're inside
10401           hash tables and vectors.
10402         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
10403           Check for written representations of objects inside hash tables and
10404           vectors, and reconstruct them.
10406 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
10408         Improve interactive debugging commands in xdisp.c
10410         * src/xdisp.c (Fdump_glyph_row, Fdump_tool_bar_row): Allow to
10411         specify ROW via prefix argument.  Fix the doc strings.
10413 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
10415         Fix calculation of continuation_pixel_width in display engine
10417         * src/xdisp.c (display_line): Remove incorrect increment of
10418         it->continuation_pixel_width when word-wrap is used.  (Bug#29594)
10420 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
10422         Improve documentation of 'save-abbrevs'.
10424         * doc/emacs/abbrevs.texi (Saving Abbrevs): Document the 'silently'
10425         value of 'save-abbrevs'.  Suggested by Alex Branham
10426         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
10428 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
10430         Improve documentation of Dired
10432         * doc/emacs/dired.texi (Dired): Mention that the Dired buffer can
10433         be made modifiable in Wdired.  Suggested by Alex Branham
10434         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
10436 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
10438         * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
10440 2017-12-08  Michael Albinus  <michael.albinus@gmx.de>
10442         Minor Tramp fixes
10444         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
10445         Fix a bug when renaming.
10447         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
10448         (tramp-test42-delay-load, tramp-test42-remote-load-path):
10449         Skip unless Emacs >= 26.
10451 2017-12-08  Glenn Morris  <rgm@gnu.org>
10453         * lisp/help-mode.el (help-function-def):
10454         Allow help-make-xrefs to call with one argument.  (Bug#29611)
10456 2017-12-07  Martin Rudalics  <rudalics@gmx.at>
10458         Fix doc-string of 'display-buffer-in-side-window'
10460         * lisp/window.el (display-buffer-in-side-window): In doc-string
10461         clarify why the window returned gets dedicated to its buffer.
10463 2017-12-06  Michael Albinus  <michael.albinus@gmx.de>
10465         Fix Bug#29579
10467         * lisp/files.el (file-name-non-special):
10468         Inhibit `file-name-handler-alist' only for some operations.
10469         Add missing operations.  (Bug#29579)
10471         * lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
10472         Do not quote if it is quoted already.
10474         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
10475         Use `copy-tree' but `copy-sequence'.
10477         * lisp/net/tramp.el (tramp-handle-file-truename): Handle several
10478         trailing slashes correctly.
10480         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
10481         (tramp-test12-rename-file, tramp-test24-file-acl)
10482         (tramp-test25-file-selinux, tramp--test-check-files):
10483         Handle also quoted file names.
10484         (tramp-test21-file-links): Fix file name quoting test.
10485         (tramp-test24-file-acl): Be more robust for "smb" method.
10486         (tramp-test35-make-auto-save-file-name): Enable hidden test cases.
10488 2017-12-06  Rasmus  <rasmus@gmx.us>
10490         Backport: Update Org to v9.1.4
10492         Please note this is a bugfix release. See etc/ORG-NEWS for details.
10494         (cherry picked from commit 567b5efe1f338c10c574758fb968915c5c34c909)
10496 2017-12-06  Martin Rudalics  <rudalics@gmx.at>
10498         In windows.texi mention special splitting behavior of side and atomic windows
10500         * doc/lispref/windows.texi (Splitting Windows): Add note about
10501         and links to side and atomic windows.
10503 2017-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
10505         * lisp/gnus/gnus-group.el (gnus-group-mode-map):
10506         Bind [follow-link] to mouse-face, not 'mouse-face (bug#29538).
10508 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
10510         Avoid compilation warning in xterm.c
10512         * src/xterm.c (x_draw_underwave): Move the declaration of
10513         'thickness' to the non-USE_CAIRO branch, to avoid compiler
10514         warning.  (Bug#29567)
10516 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
10518         * README: Document all the top-level directories.  (Bug#29558)
10520 2017-12-04  Glenn Morris  <rgm@gnu.org>
10522         Don't enable erc modules on simply loading erc.el
10524         * lisp/erc/erc.el (erc-modules): Use default :initialize.  (Bug#29417)
10526 2017-12-03  Lars Ingebrigtsen  <larsi@gnus.org>
10528         Allow shr to use data: URLs without encoding
10530         * lisp/net/shr.el (shr-image-from-data): Don't bug out on
10531         image data: URLs that have no base64 encoding like
10532         (shr-image-from-data
10533         "text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").
10535 2017-12-03  E. Choroba  <choroba@matfyz.cz>  (tiny change)
10537         Don't add newlines in minibuffer history
10539         * lisp/simple.el (next-line-or-history-element): Bind
10540         next-line-add-newlines to nil.  (Bug#29529)
10542 2017-12-03  Syohei YOSHIDA  <syohex@gmail.com>
10544         modhelp.py: Support Python 3 (Bug#24954)
10546         * modules/modhelp.py: 'print' statement was removed in Python
10547         3.  'print' function should be used instead of 'print' statement.
10549 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
10551         Use forward slashes for python w32 config example (Bug#21656)
10553         * lisp/progmodes/python.el: Use forward slashes for Windows path
10554         example, it doesn't require doubling of slashes which reduces chances
10555         of confusion.
10557 2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>
10559         Fix bug in i18n/l10n optimization
10561         This fixes a off-by-one buffer overrun bug introduced in
10562         2017-06-04T15:39:37Z!eggert@cs.ucla.edu.  Problem uncovered by an
10563         experimental version of Emacs built with -fcheck-pointer-bounds
10564         and running on Intel MPX hardware.
10565         * src/editfns.c (styled_format): Avoid overrunning internal buffers.
10567 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
10569         Let autoload-compute-prefix be set file-locally (Bug#29471)
10571         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): Mark
10572         boolean values as safe.
10574 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
10576         Improve edit-kbd-macro prompting in case of remapped keys (Bug#29399)
10578         * lisp/edmacro.el (edit-kbd-macro): Use substitute-command-keys to
10579         present the current bindings in the prompt.  Check the the
10580         non-remapped binding of the entered key sequence as well.
10582 2017-12-02  Lele Gaifax  <lele@metapensiero.it>
10584         Add tests on electric-indentation and Python multiline strings (Bug#29305)
10586         * test/lisp/progmodes/python-tests.el
10587         (python-indent-electric-comma-inside-multiline-string,
10588         python-indent-electric-comma-after-multiline-string): New tests.
10590 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
10592         Disable electric indent for python strings (Bug#29305)
10594         * lisp/progmodes/python.el (python-indent-post-self-insert-function):
10595         Do nothing when point or beginning of line is in string.
10597 2017-12-02  Yuuki Harano  <masm-emacs@masm11.ddo.jp>  (tiny change)
10599         Fix buffer overflow in fontname conversion (Bug#29523)
10601         * src/nsterm.m (ns_xlfd_to_fontname): Fix sscanf format.
10603 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
10605         Fix byte compilation of files with leading directories
10607         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Pass basename
10608         of target-file to make-temp-file, in case target-file includes a
10609         leading directory that might not exist under TMPDIR.  See
10610         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00680.html
10611         for the details.
10613 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
10615         * lisp/files.el (make-backup-file-name-1): Fix scoping error.
10617 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
10619         Revert Tramp commit from 2017-11-20
10621         * lisp/net/tramp.el (tramp-drop-volume-letter)
10622         (tramp-handle-find-backup-file-name): Revert change from
10623         2017-11-20.  Emacs' `make-backup-file-name-1' handles this
10624         case now.
10626 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
10628         Improve documentation of buffer-list commands and features
10630         * doc/emacs/buffers.texi (List Buffers): Add a cross-reference to
10631         "Several Buffers", to establish a relation between the two
10632         sections.
10633         (Buffer Menus): Expand on customizability of alternative buffer
10634         menu offered by bs.el.  Mention IBuffer.
10635         Suggested by Alex Branham <alex.branham@gmail.com> in
10636         emacs-manual-bugs@gnu.org.
10638 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
10640         Fix backing up remote files in local directories on MS-Windows
10642         * lisp/files.el (make-backup-file-name-1): Support remote file
10643         names correctly when they are backed up into a local directory on
10644         MS-Windows and MS-DOS.  (Bug#29440)
10646 2017-12-02  Glenn Morris  <rgm@gnu.org>
10648         * doc/emacs/mule.texi (Output Coding): Clarify sendmail coding.
10650 2017-12-01  John Wiegley  <johnw@newartisans.com>
10652         Revert "Fix backing up remote files in local directories on MS-Windows"
10654         This reverts commit 8c8b6732882248df4ca3b687e0a4b4e5e4ab3777.
10656 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
10658         Fix a typo in ELisp manual
10660         * doc/lispref/sequences.texi (Sequence Functions): Fix the example
10661         of using 'seq-uniq'.  (Bug#29524)
10663 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
10665         * lisp/composite.el (find-composition): Fix a typo in the doc string.
10667 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
10669         Fix backing up remote files in local directories on MS-Windows
10671         * lisp/files.el (make-backup-file-name-1): Support remote file
10672         names correctly when they are backed up into a local directory on
10673         MS-Windows and MS-DOS.  (Bug#29440)
10675 2017-12-01  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
10677         Fix vertical cursor motion in pixel-scroll.el
10679         * lisp/pixel-scroll.el (pixel-scroll-up): Move cursor down
10680         regardless of whether EOB is shown at the top.
10681         (pixel-scroll-down) Move cursor up regardless of whether BOB
10682         is shown at the top.  (Bug#29374)
10684 2017-12-01  Basil L. Contovounesios  <contovob@tcd.ie>
10686         Fix typos in doc strings of message.el
10688         * lisp/gnus/message.el (message-header-to)
10689         (message-header-subject, message-header-newsgroups)
10690         (message-header-other): Fix typos in doc strings.  (Bug#29405)
10692 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
10694         Fix a typo in the Emacs manual
10696         * doc/emacs/abbrevs.texi (Abbrev Concepts): Fix a typo.  Reported
10697         by clemens.radermacher@posteo.de in emacs-manual-bugs@gnu.org.
10699 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
10701         Improve the documentation of 'table-insert-sequence'
10703         * doc/emacs/text.texi (Table Misc): Fix the description of
10704         'table-insert-sequence'.  Reported by jack <jackh@gmx.co.uk> in
10705         emacs-manual-bugs@gnu.org.
10707 2017-12-01  Paul Eggert  <eggert@cs.ucla.edu>
10709         Port better to QNX
10711         Problem reported by Elad Lahav on emacs-devel.
10712         * configure.ac: On QNX, default CC to qcc (a GCC wrapper),
10713         and default LDFLAGS to -N2MB so that the initial stack size
10714         is not too small.  Also, fix misspelling of ‘qnxnto’.
10716 2017-11-30  Michael Albinus  <michael.albinus@gmx.de>
10718         Make tramp-test42-auto-load more robust
10720         * test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
10721         Make it more robust.  Don't skip.
10723 2017-11-30  Eli Zaretskii  <eliz@gnu.org>
10725         Avoid assertions in find-composition
10727         * src/font.c (font_range): If called with STRING non-nil and FACE
10728         a NULL pointer, compute face by calling face_at_string_position.
10729         (Bug#29506)
10731         * lisp/composite.el (find-composition): Doc fix.
10733 2017-11-29  Glenn Morris  <rgm@gnu.org>
10735         Restore obsolete method of changing byte-compile-dest-file
10737         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
10738         Restore seven-year obsolete feature that was removed for six months,
10739         since automake uses it.
10741 2017-11-29  Michael Albinus  <michael.albinus@gmx.de>
10743         Some minor Tramp corrections
10745         * lisp/net/tramp.el (tramp-handle-directory-file-name):
10746         Handle several trailing slashes correctly.
10747         (tramp-handle-file-selinux-context): New defun.
10749         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
10750         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
10751         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
10752         Use `tramp-handle-file-selinux-context'.
10754         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
10755         Extend test.
10756         (tramp-test17-insert-directory): Make check more robust.
10757         (tramp-test42-auto-load): Combine several let forms.
10758         (tramp-test42-delay-load, tramp-test42-recursive-load)
10759         (tramp-test42-remote-load-path, tramp-test43-unload): Rename.
10761 2017-11-29  Tino Calancha  <tino.calancha@gmail.com>
10763         * doc/misc/url.texi (http/https): Fix typo
10765 2017-11-29  Glenn Morris  <rgm@gnu.org>
10767         Remove some bogus definition-prefixes from loaddefs
10769         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
10770         Don't register a definition prefix from define-erc-module,
10771         which adds an erc- prefix to its argument.
10773 2017-11-28  Robert Pluim  <rpluim@gmail.com>
10775         Shell-quote wildcards when invoking 'vc-git-grep'
10777         * lisp/vc/vc-git.el (vc-git-grep): Apply shell quoting to
10778         filename wildcards to ensure globbing is done by git rather
10779         than the shell.  (Bug#29303)
10781 2017-11-28  Kaushal Modi  <kaushal.modi@gmail.com>
10783         Update documentation of '.dir-locals-2.el'
10785         See https://lists.gnu.org/r/emacs-devel/2017-11/msg00649.html
10786         for more details.
10787         * lisp/files.el (dir-locals-file-2): Remove unused constant.
10788         * lisp/files.el (dir-locals-file): Mention ".dir-locals-2.el" in
10789         the doc string.
10790         * doc/lispref/variables.texi (Directory Local Variables): Mention
10791         ".dir-locals-2.el".
10792         * etc/NEWS: Replace `dir-locals-file-2' mention with
10793         `dir-locals-file'.
10795 2017-11-27  Noam Postavsky  <npostavs@gmail.com>
10797         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64]: Bump to 22 MiB.
10799 2017-11-27  Glenn Morris  <rgm@gnu.org>
10801         A few small doc fixes for bytecomp.el
10803         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-file-regexp)
10804         (byte-compile-dest-file-function, byte-compile-dest-file): Doc fixes.
10806 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
10808         * src/lread.c (syms_of_lread): Fix thinko in commit b1573a97e17b5
10810 2017-11-27  Glenn Morris  <rgm@gnu.org>
10812         * lisp/tree-widget.el (tree-widget-end-guide): Escape it.  (Bug#27797)
10814 2017-11-27  Eli Zaretskii  <eliz@gnu.org>
10816         Fix ELisp "Warning Tips"
10818         * doc/lispref/tips.texi (Warning Tips): Clarify when to use
10819         'require' wrapped by 'eval-when-compile'.  (Bug#29462)
10821 2017-11-27  Michael Albinus  <michael.albinus@gmx.de>
10823         Fix Bug#29163
10825         * lisp/net/tramp.el (tramp-autoload-file-name-regexp):
10826         Do not use "\\'" in regexp.  (Bug#29163)
10827         (top) Do not run (tramp-register-autoload-file-name-handlers)
10828         when loading tramp.el.
10830         * test/lisp/net/tramp-tests.el (tramp--test-mock-p): New defun.
10831         (tramp-test32-environment-variables-and-port-numbers)
10832         (tramp-test41-asynchronous-requests): Use it.
10833         (tramp-test42-auto-load): New test.
10834         (tramp-test43-recursive-load, tramp-test44-remote-load-path)
10835         (tramp-test45-delay-load, tramp-test46-unload): Rename.
10837 2017-11-27  Paul Eggert  <eggert@union>
10839         Harden exec_byte_code against redefining 'error'
10841         Problem discovered by configuring with --enable-gcc-warnings on
10842         Ubuntu 17.10 x86-64 with gcc (Ubuntu 7.2.0-8ubuntu3).
10843         * src/bytecode.c (exec_byte_code): Call the C error function
10844         instead of the Lisp one, so that the Emacs interpreter does not go
10845         haywire if the user redefines the Lisp error function.
10847 2017-11-27  Gemini Lasswell  <gazally@runbox.com>
10849         Fix Edebug specs for if-let* and and-let* (Bug#29236)
10851         * test/lisp/emacs-lisp/subr-x-tests.el (if-let*, if-let):
10852         Change Edebug spec to cause Edebug to instrument tests the
10853         results of which are not bound to symbols (the (VALUEFORM)
10854         case).
10855         (and-let*): Change Edebug spec to allow empty body.
10857         *test/lisp/emacs-lisp/subr-x-tests.el:
10858         (subr-x-and-let*-test-group-1): Add missing quote to erroneous
10859         form so Edebug will work on this test.
10861 2017-11-26  Gemini Lasswell  <gazally@runbox.com>
10863         Fix Edebug's handling of dotted specs (bug#6415)
10865         * lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Use
10866         cl-macro-list1 instead of cl-macro-list in Edebug spec.
10868         * lisp/emacs-lisp/edebug.el (edebug-after-dotted-spec): Delete
10869         unused variable.
10870         (edebug-dotted-spec): Add docstring.
10871         (edebug-match-specs): Allow &optional and &rest specs to
10872         match nothing at the tail of a dotted form. Handle matches of
10873         dotted form tails which return non-lists.
10875         * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-dotted-forms):
10876         New test.
10878         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el:
10879         (edebug-test-code-use-destructuring-bind): New function.
10881 2017-11-26  Eli Zaretskii  <eliz@gnu.org>
10883         Improve documentation of "constant" symbols
10885         * src/font.c (syms_of_font) <font-weight-table, font-slant-table>
10886         <font-width-table>:
10887         * src/data.c (syms_of_data) <most-positive-fixnum>
10888         <most-negative-fixnum>:
10889         * src/buffer.c (syms_of_buffer) <enable-multibyte-characters>:
10890         Mention in the doc strings that these variables are read-only.
10892         * doc/lispref/variables.texi (Creating Buffer-Local): Document
10893         that making a constant variable buffer-local signals an error.
10894         * doc/lispref/variables.texi (Constant Variables):
10895         * doc/lispref/errors.texi (Standard Errors): More accurate and
10896         up-to-date documentation of which symbols cannot be assigned
10897         values.
10899 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
10901         maint: shorten https://lists.gnu.org/archive/html/... links
10903 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
10905         Merge from Gnulib
10907         This incorporates:
10908         2017-11-23 stat: work around Solaris bug with tv_nsec < 0
10909         2017-11-12 maint: shorten https://lists.gnu.org/archive/html/... links
10910         * build-aux/config.sub, doc/misc/texinfo.tex, lib/allocator.h:
10911         * lib/fstatat.c, lib/intprops.h, lib/lstat.c, lib/signal.in.h:
10912         * lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
10913         * lib/timespec.h, m4/alloca.m4, m4/extern-inline.m4:
10914         * m4/faccessat.m4, m4/fstatat.m4, m4/gnulib-common.m4:
10915         * m4/lstat.m4, m4/std-gnu11.m4, m4/sys_types_h.m4:
10916         * m4/vararrays.m4:
10917         Copy from Gnulib.
10919 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
10921         Work around GCC bug 80776 on Fedora 27 x86
10923         * src/buffer.c (Fgenerate_new_buffer_name): Pacify GCC 7.2.1
10924         20170915 (Red Hat 7.2.1-2) on i686 with -Wformat-overflow -O2 by
10925         using XINT rather than XFASTINT and by adding an eassume.  This
10926         works around GCC bug 80776.
10928 2017-11-25  Paul Eggert  <eggert@cs.ucla.edu>
10930         Tweak copy-file, rename-file doc
10932         * src/fileio.c (Fcopy_file, Frename_file): Tweak the recent change
10933         slightly, as NEWNAME is treated as a directory name depending only
10934         on the contents of the NEWNAME string, and independently of
10935         whether NEWNAME names a directory (i.e., whether the directory
10936         exists) (Bug#29362).
10938 2017-11-25  Tom Tromey  <tom@tromey.com>
10940         Change font-lock-extend-region-multiline handling in mhtml-mode
10942         Bug#29159
10943         * lisp/textmodes/mhtml-mode.el (mhtml-mode): Remove
10944         font-lock-extend-region-multiline from
10945         font-lock-extend-region-functions.
10946         (mhtml--extend-font-lock-region): Call font-lock-extend-region-multiline.
10948 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
10950         Minor cleanup in tramp-gvfs-handle-file-local-copy
10952         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy):
10953         Move error message up.
10955 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
10957         Add test for Bug#29423 in Tramp.
10959         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
10960         Add test for Bug#29423.
10962 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
10964         Avoid jumbled order in HTML rendered by shr.el
10966         * lisp/net/shr.el (shr-render-td): Preserve point, as
10967         shr-render-td-1 might move it as a side effect of
10968         save-window-excursion.  (Bug#29348)
10970 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
10972         Make sure 'dired-filename' property is always put by ls-lisp
10974         * lisp/ls-lisp.el (ls-lisp-classify): Do not put the
10975         'dired-filename' text property on the file name here...
10976         (ls-lisp-classify-file): ...put it here instead.  (Bug#29423)
10978 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
10980         A better solution for bug#29347
10982         * src/thread.c (really_call_select): Don't try to take the global
10983         lock if the same thread is already holding it.  (Bug#29347)
10985 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
10987         Avoid a hang after C-g while sit-for on a Unix TTY
10989         * src/thread.c (acquire_global_lock): Don't try to take the global
10990         lock if the same thread is already holding it.  (Bug#29347)
10992 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
10994         Improve the doc string of 'list-packages'
10996         * lisp/emacs-lisp/package.el (list-packages): Describe in the doc
10997         string the columns shown by the command.  (Bug#29420)
10999 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
11001         Improve discoverability of 'defvar' for suppressing warnings
11003         * doc/lispref/compile.texi (Compiler Errors): Add index entries.
11004         * doc/lispref/variables.texi (Defining Variables): Mention that
11005         defvar with no value is used for suppressing compiler warnings.
11006         (Bug#29400)
11008 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
11010         Improve discoverability of 'read-buffer-completion-ignore-case'
11012         * lisp/window.el (switch-to-buffer)
11013         (switch-to-buffer-other-window, switch-to-buffer-other-frame):
11014         Mention 'read-buffer' in the doc string.  (Bug#29389)
11016         * doc/emacs/buffers.texi (Select Buffer): Add a cross-reference to
11017         where 'read-buffer-completion-ignore-case' is documented.
11019 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
11021         Improve documentation of self-insert-uses-region-functions
11023         * lisp/simple.el (self-insert-uses-region-functions): Clarify the
11024         doc string.
11025         * lisp/delsel.el (delete-selection-uses-region-p): Mention
11026         'self-insert-command' in the doc string.  (Bug#29373)
11028         * doc/lispref/text.texi (Commands for Insertion): Mention
11029         'self-insert-uses-region-functions'.
11030         * doc/lispref/modes.texi (Keymaps and Minor Modes): Add a
11031         cross-reference to "Commands for Insertion".
11033 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
11035         Reflect changes in copy-file and rename-file in doc strings
11037         * src/fileio.c (Fcopy_file, Frename_file): Mention in the doc
11038         strings that directory names must end in a slash.  (Bug#29362)
11040 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
11042         * lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix.  (Bug#29407)
11044 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
11046         Reorder type predicates in ELisp manual
11048         * doc/lispref/objects.texi (Type Predicates): Restore alphabetical
11049         order of listed predicates.  (Bug#29411)
11051 2017-11-23  Eli Zaretskii  <eliz@gnu.org>
11053         Fix backward scrolling in buffers with header-line
11055         * src/window.c (window_scroll_pixel_based): Account for the
11056         header-line when comparing Y coordinate with the last_visible_y.
11057         (Bug#29325)
11059 2017-11-22  Glenn Morris  <rgm@gnu.org>
11061         * lisp/bindings.el (buffer-file-coding-system):
11062         Add explicit permanent-local mark.
11064         * src/fns.c (syms_of_fns) <overriding-plist-environment>: Doc fix.
11066 2017-11-22  Alan Third  <alan@idiocy.org>
11068         Fix incorrect interaction of drag/drop and double click (bug#29121)
11070         * src/nsterm.m (EmacsView::performDragOperation): Drag and drop
11071         doesn't use ns-input-file.
11073 2017-11-22  Glenn Morris  <rgm@gnu.org>
11075         * lisp/menu-bar.el (menu-bar-options-save):
11076         Add display-line-numbers-type.
11078         * lisp/menu-bar.el (menu-bar-options-save):
11079         Add global-display-line-numbers-mode.  (Bug#28396)
11081         * lisp/follow.el (follow-mode): Restore mode line lighter.  (Bug#28495)
11083 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
11085         Extract the common part of ruby-flymake-simple and ruby-flymake-rubocop
11087         * lisp/progmodes/ruby-mode.el (ruby-flymake-simple)
11088         (ruby-flymake-rubocop):
11089         Extract the common part as ruby-flymake--helper.
11090         (ruby--rubocop-flymake-proc): Remove.  Use the first proc
11091         variable instead.
11093 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
11095         Add Rubocop Flymake backend
11097         * lisp/progmodes/ruby-mode.el (ruby-flymake-command):
11098         Inline the value.  There are no known substitutes.
11099         (ruby-flymake): Rename to `ruby-flymake-simple' and simplify
11100         the docstring.
11101         (ruby-flymake-use-rubocop-if-available): New option.
11102         (ruby--rubocop-flymake-proc): New variable.
11103         (ruby-rubocop-config): New option.
11104         (ruby-flymake-rubocop, ruby-flymake-auto): New functions.
11105         (ruby-mode): Use `ruby-flymake-auto'.
11107 2017-11-21  Noam Postavsky  <npostavs@gmail.com>
11109         Update nt/INSTALL.W64 (Bug#28601)
11111         * nt/INSTALL.W64 (Download and install MinGW-w64 and MSYS2): Move
11112         suggestion about modifying PATH to...
11113         (Test Emacs): ... here.
11114         (Run configure): Remove the unnecessary setting of PKG_CONFIG_PATH.
11115         (Troubleshooting): New section, includes suggestion to check
11116         PKG_CONFIG_PATH.
11118 2017-11-21  Charles A. Roelli  <charles@aurox.ch>
11120         Remove incorrect NEWS item about VC state indicator (Bug#28817)
11122         * etc/NEWS (VC and related modes): Remove news item about the VC
11123         state indicator.  This should have been done with commit 7882dc6
11124         of 2016-03-06 'Revert "Use colors in the VC mode lines"'.
11126 2017-11-21  Glenn Morris  <rgm@gnu.org>
11128         * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.
11130 2017-11-21  Alan Mackenzie  <acm@muc.de>
11132         Make c-defun-name analyze more thoroughly a function type which is a struct
11134         This fixes bug #29293.
11136         * lisp/progmodes/cc-cmds.el (c-defun-name): When a struct (etc.) type is
11137         encountered, check whether it is the return type of a function rather than a
11138         declaration of the struct itself.  Similarly adapt the cond arm which deals
11139         with functions properly to recognize struct return types.
11141 2017-11-21  Glenn Morris  <rgm@gnu.org>
11143         Avoid bogus abbreviated file names if HOME changes
11145         * lisp/files.el (abbreviate-file-name):
11146         If HOME changes, ignore `abbreviated-home-dir'.  (Bug#19657#20)
11147         * test/lisp/files-tests.el (files-test-abbreviated-home-dir): New.
11149 2017-11-21  Glenn Morris  <rgm@gnu.org>
11151         * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.
11153 2017-11-21  Jay Kamat  <jaygkamat@gmail.com>  (tiny change)
11155         Fix erc keep-place module with new defaults (Bug#29111)
11157         * lisp/erc/erc-goodies.el (erc-keep-place): Allow erc
11158         keep-place to continue working with
11159         switch-to-buffer-preserve-window-point set to t, the new default.
11161 2017-11-20  Alan Third  <alan@idiocy.org>
11163         Add window divider faces to NS (bug#29353)
11165         * src/nsterm.m (ns_draw_window_divider): Use
11166         window-divider-first-pixel and window-divider-last-pixel faces.
11168 2017-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
11170         * src/keyboard.c: Undo last change, meant for master only
11172 2017-11-20  Michael Albinus  <michael.albinus@gmx.de>
11174         Fix Bug#29149
11176         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle also
11177         backup file names.
11178         (tramp-handle-find-backup-file-name):
11179         Call `tramp-drop-volume-letter' on the results.  (Bug#29149)
11181 2017-11-20  Martin Rudalics  <rudalics@gmx.at>
11183         Fix misbehavior when drawing three-pixel high horizontal dividers (Bug#29353)
11185         * src/xterm.c (x_draw_window_divider):
11186         * src/w32term.c (w32_draw_window_divider): Fix misbehavior when
11187         drawing three-pixel high horizontal dividers (Bug#29353).
11189         The misbehavior was noted by Keith David Bershatsky and analyzed by Alan
11190         Third.
11192 2017-11-19  Mike Kupfer  <mkupfer@alum.berkeley.edu>
11194         MH-E: don't automatically download external-body parts
11196         * lisp/mh-e/mh-mime.el (mh-mime-display-single): Use
11197         mm-automatic-display-p to verify that a part should be
11198         displayed before doing the inline checks (SF#475).
11200 2017-11-19  Michael Albinus  <michael.albinus@gmx.de>
11202         Further fix for Bug#29291
11204         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
11205         Check for local ACL support.  (Bug#29291)
11207 2017-11-19  Alan Third  <alan@idiocy.org>
11209         Fix divider frame params on NS (bug#29352)
11211         * src/nsfns.m (Fx_create_frame): Set right-divider-width and
11212         bottom-divider-width parameters.
11214 2017-11-19  Paul Eggert  <eggert@cs.ucla.edu>
11216         Spelling fixes
11218         * lisp/help-fns.el (help-fns--analyze-function):
11219         Rename from help-fns--analyse-function.
11220         All uses changed.
11222 2017-11-19  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
11224         * src/keyboard.c: Make xterm-mouse clicks on mode-line work
11226         (read_key_sequence): Recompute first_event
11227         after replay_sequence, since it might have changed (bug#29104).
11229 2017-11-18  Martin Rudalics  <rudalics@gmx.at>
11231         Don't let delete_frame select a tooltip frame (Bug#27647)
11233         * src/frame.c (delete_frame): Don't select a tooltip
11234         frame. (Bug#27647)
11236 2017-11-18  Alan Mackenzie  <acm@muc.de>
11238         Filter obtrusive events in help-read-key-sequence.
11240         This fixes most of bug #29272.
11242         * lisp/help.el (help-read-key-sequence): After a mouse event, pause for 0.01s,
11243         discarding any events (such as <help-echo>) received in this time, before
11244         polling for the double-click (etc.) events which may follow.  This fixes the
11245         infinite loop which occurred whwn <help-echo> events triggered a sit-for
11246         whilst handling menu events.
11248 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
11250         Fix symlink flag in tramp-gvfs-handle-file-attributes
11252         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
11253         Set proper symlink file mode flag.
11255 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
11257         Fix bug in tramp-handle-file-truename
11259         * lisp/net/tramp.el (tramp-handle-file-truename): Expand localname.
11261         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Check also
11262         relative symbolic links.
11264 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
11266         Fix a typo in doc string of electric-indent-functions-without-reindent
11268         * lisp/electric.el (electric-indent-functions-without-reindent):
11269         Doc fix.  (Bug#29304)
11271 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
11273         Avoid assertion violations in echo_area_display
11275         * src/xdisp.c (echo_area_display): Don't try redisplaying the echo
11276         area if the selected-frame's mini-window is nil.  (Bug#27647)
11278 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
11280         Fix case-folding in Occur
11282         * lisp/replace.el (occur-engine): Bind case-fold-search in each
11283         buffer we search.  (Bug#29254)
11285 2017-11-18  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
11287         Fix quick-calc in C mode with hex values
11289         * lisp/calc/calc-aent.el (math-read-token): Make sure the match
11290         against "0[xX][0-9a-fA-F]+" is found at math-exp-pos.  See
11291         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00174.html
11292         for the details.
11294 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
11296         Improve documentation of dired-next/prev-marked-file
11298         * lisp/dired.el (dired-next-marked-file, dired-prev-marked-file):
11299         Doc fixes.  (Bug#29340)
11301 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
11303         Prevent aborts in line-move-visual
11305         * src/indent.c (line_number_display_width): Avoid assertion
11306         violations in init_iterator when the window's buffer was
11307         temporarily switched without updating window-start.  (Bug#29326)
11309 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
11311         More fixes in src/.gdbinit
11313         * src/.gdbinit (pwinx): Update to match 'struct window'.
11314         (pcursorx): Use "." instead of "->" because the argument is a
11315         struct, not a pointer.
11317 2017-11-17  Robert Pluim  <rpluim@gmail.com>
11319         Document how to enter whitespace when using grep-read-files
11321         * lisp/progmodes/grep.el (lgrep, rgrep, grep-read-files): Explain
11322         how to enter whitespace when using grep-read-files.  (Bug#29303)
11323         * lisp/progmodes/project.el (project-find-regexp): Likewise.
11324         * lisp/vc/vc-git.el (vc-git-grep): Likewise.
11326 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
11328         Fix .gdbinit following lisp.h changes
11330         * src/.gdbinit (xsymname, pwinx, pgx, xbuffer, xcar, xcdr, xlist)
11331         (xprintstr): Adapt to latest changes in Lisp object C structures.
11332         (Bug#29332)
11334 2017-11-15  Charles A. Roelli  <charles@aurox.ch>
11336         * lisp/simple.el (shell-command): Doc fixes.
11338 2017-11-15  Noam Postavsky  <npostavs@gmail.com>
11340         Fix marker adjustment for undo (Bug#29118)
11342         * lisp/simple.el (primitive-undo): Compare marker against absolute
11343         value of POS, because the sign of POS is irrelevant to markers.
11345 2017-11-14  Daniel Pittman  <slippycheeze@google.com>
11347         Fix Bug#28139
11349         * lisp/net/tramp-sh.el: Set TERM and INSIDE_EMACS environment earlier.
11350         (tramp-remote-process-environment): Remove TERM and INSIDE_EMACS.
11351         (tramp-remote-process-environment): Document their special handling.
11352         (tramp-open-shell): Set TERM and INSIDE_EMACS prior to starting the
11353         initial remote shell, so that it is also aware of the environment
11354         in which it is operating.  (Bug#28139)
11356 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
11358         Fix Bug#29291
11360         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
11361         Preserve permissions when copying.  (Bug#29291)
11363 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
11365         Fix Bug#2928
11367         * test/lisp/net/tramp-tests.el (tramp-test25-file-selinux):
11368         Enhance test.  (Bug#29287)
11369         (tramp-test44-delay-load): Fix for older Emacsen.
11371 2017-11-14  Martin Rudalics  <rudalics@gmx.at>
11373         Make 'mouse-drag-and-drop-region' work with 'mouse-autoselect-window' non-nil
11375         * lisp/mouse.el (mouse-drag-and-drop-region): Ignore
11376         'select-window' events to make it work with
11377         'mouse-autoselect-window'.
11379 2017-11-14  Alexander Gramiak  <agrambot@gmail.com>
11381         * etc/PROBLEMS: Remove fixed xterm-mouse-mode problems
11383         See: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29143#26
11385 2017-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
11387         Fix cookie handling (bug#29282)
11389         * lisp/url/url-cookie.el (url-cookie-handle-set-cookie):
11390         Regard a Set-Cookie header as it contains a single cookie;
11391         prefer Max-Age to Expires and convert it to Expires;
11392         remove support for old time string styles (bug#29282).
11394 2017-11-13  Gemini Lasswell  <gazally@runbox.com>
11396         Improve documentation of Edebug and macros
11398         * doc/lispref/edebug.texi (Instrumenting Macro Calls): Improve
11399         discussion of when it might be necessary to find and evaluate macro
11400         specifications before instrumenting.
11401         (Specification List): Clarify what "defining form" means to Edebug
11402         and when 'def-form' or 'def-body' should be used instead of 'form'
11403         or 'body'.
11405 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
11407         Port to IBM xlc 12.01
11409         Work around a compiler bug by using a separate enum for alignment.
11410         * src/alloc.c (roundup_size): Declare in a separate enum.
11412 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
11414         Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
11416         * configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.  No longer
11417         needed, since we no longer rely on __attribute__ ((aligned (8))).
11418         All uses removed.
11419         * src/emacs-module.c (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.
11420         (lisp_to_value): Simplify now that we no longer need to worry
11421         whether HAVE_STRUCT_ATTRIBUTE_ALIGNED is false.
11423 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
11425         Use alignas to fix GCALIGN-related bugs
11427         Use alignas and unions to specify alignments of objects needing
11428         addresses that are at least a multiple of GCALIGNMENT.  Using
11429         these standard C facilities should be safer than relying on ad hoc
11430         and poorly-understood features like GCC’s __attribute__
11431         ((aligned (N))), the root cause for recent porting bugs like
11432         Bug#29040.  The alignas macro was standardized by C11 and Gnulib
11433         supports alignas for pre-C11 platforms.  I have tested this on Sun
11434         Studio 12 sparc (2007) and GCC 4.4.7 x86-64 (2012) as well as on
11435         more recent platforms like GCC 7.2.1 (2017) on Fedora 26 (both
11436         x86-64 and x86).
11437         * lib-src/make-docfile.c (close_emacs_globals): lispsym is now
11438         just an array of struct Lisp_Symbol, since struct Lisp_Symbol is
11439         now properly aligned.  All uses changed.
11440         * src/alloc.c (NEXT_FREE_LISP_STRING): Just use the new u.next
11441         member; this is simpler and safer than casting a pointer that
11442         might not be aligned properly.
11443         (aligned_Lisp_Symbol): Remove.  No longer needed, now that struct
11444         Lisp_Symbol is aligned properly.  All uses replaced with struct
11445         Lisp_Symbol.
11446         * src/lisp.h (GCALIGNED): Remove, as it does not work as expected:
11447         it can cause the natural alignment to be ignored.  All uses
11448         replaced by unions with a ‘char alignas (GCALIGNMENT)’ member as
11449         described below.
11450         (struct Lisp_Symbol, struct Lisp_Cons, struct Lisp_String):
11451         Change definition from ‘struct TAG { MEMBERS };’ to
11452         ‘struct TAG { union { struct { MEMBERS } s; char alignas
11453         (GCALIGNMENT) gcaligned; } u; };’.  This guarantees ‘struct TAG’
11454         to have an alignment that at least max (GCALIGNMENT, N) where N is
11455         its old alignment.  All uses like ‘PTR->MEMBER’ changed to
11456         ‘PTR->u.s.MEMBER’; these uses were supposed to be mostly private
11457         anyway.  Verify that the resulting ‘struct TAG’ is properly
11458         aligned for Emacs.
11459         (union vectorlike_header): New member ‘gcaligned’ to guarantee
11460         that this type, and its containing types like ‘struct Lisp_Subr’,
11461         ‘struct buffer’ and ‘struct thread_state’, are all properly
11462         aligned for Emacs.
11463         (struct Lisp_String): New union member ‘next’, for the benefit
11464         of NEXT_FREE_LISP_STRING.
11465         (union Aligned_Cons, union Aligned_String): Remove.  All uses
11466         replaced by struct Lisp_Cons and struct Lisp_String, since they
11467         are now properly aligned.
11468         (USE_STACK_CONS, USE_STACK_STRING): Simplify now that we can
11469         assume struct Lisp_Cons and struct Lisp_String are properly
11470         aligned.
11472 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
11474         Change vectorlike from struct to union
11476         * src/lisp.h (vectorlike_headed): Change from struct to union.
11477         All uses changed.  Since it has only one member, this does not
11478         change semantics.  This is designed to simplify future changes
11479         needed to fix bugs like Bug#29040.  All uses changed.
11481 2017-11-12  Tom Tromey  <tom@tromey.com>
11483         Don't enable cursor-sensor-mode in mhtml-mode
11485         * lisp/textmodes/mhtml-mode.el (mhtml--last-submode): Update doc
11486         string.
11487         (mhtml-mode): Don't call cursor-sensor-mode.
11489 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
11491         * lisp/files.el (abbreviate-file-name): Doc fix.  (Bug#29267)
11493 2017-11-12  João Távora  <joaotavora@gmail.com>
11495         Unbreak interactive run of a flymake test (bug#29267)
11497         See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19657#20 for the
11498         technique used here.
11500         * test/lisp/progmodes/flymake-tests.el (ruby-backend):
11501         Let-bind abbreviated-home-dir.
11503 2017-11-12  Michael Albinus  <michael.albinus@gmx.de>
11505         Fix Bug#29225
11507         * src/fileio.c (Fset_file_acl): Report error only when
11508         acl_errno_valid returns true.  (Bug#29225)
11510         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl)
11511         (tramp-test25-file-selinux): New tests.
11512         (tramp-test26-file-name-completion, tramp-test27-load)
11513         (tramp-test28-process-file, tramp-test29-start-file-process)
11514         (tramp-test30-interrupt-process, tramp-test31-shell-command)
11515         (tramp-test32-environment-variables)
11516         (tramp-test32-environment-variables-and-port-numbers)
11517         (tramp-test33-explicit-shell-file-name)
11518         (tramp-test34-vc-registered)
11519         (tramp-test35-make-auto-save-file-name)
11520         (tramp-test36-find-backup-file-name)
11521         (tramp-test37-make-nearby-temp-file)
11522         (tramp-test38-special-characters)
11523         (tramp-test38-special-characters-with-stat)
11524         (tramp-test38-special-characters-with-perl)
11525         (tramp-test38-special-characters-with-ls, tramp-test39-utf8)
11526         (tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
11527         (tramp-test39-utf8-with-ls, tramp-test40-file-system-info)
11528         (tramp-test41-asynchronous-requests)
11529         (tramp-test42-recursive-load, tramp-test43-remote-load-path)
11530         (tramp-test44-delay-load, tramp-test45-unload): Rename.
11532 2017-11-12  Alan Mackenzie  <acm@muc.de>
11534         CC Mode: Fix defun-open being recognized as brace-list-open at EOB.
11536         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Add handling
11537         for an open brace at EOB and nested braces inside an unclosed brace block.
11539 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
11541         Merge from Gnulib
11543         This incorporates:
11544         2017-11-11 faccessat: port to macOS (Bug#29231)
11545         2017-11-05 fstatat: pacify GCC on unusual platform
11546         * build-aux/config.guess, build-aux/config.sub:
11547         * doc/misc/texinfo.tex, lib/faccessat.c, lib/fstatat.c:
11548         * lib/unistd.in.h, m4/faccessat.m4, m4/unistd_h.m4:
11549         Copy from Gnulib.
11550         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
11552 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
11554         Pacify GCC when configured --with-x-toolkit=no
11556         Without these changes, Emacs does not build on Fedora 26 x86-64
11557         when configured --with-x-toolkit=no --enable-gcc-warnings.
11558         * oldXMenu/Activate.c (XMenuActivate): Add FALLTHROUGH.
11559         * src/xterm.c (x_dispatch_event): Define only if
11560         USE_X_TOOLKIT || USE_MOTIF || USE_GTK.
11562 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
11564         * lisp/find-dired.el (find-grep-dired): Doc fix.  (Bug#29262)
11566 2017-11-12  João Távora  <joaotavora@gmail.com>
11568         Fix more flymake-diag-region eob corner cases and add tests (bug#29201)
11570         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
11571         more eob corner cases.
11573         * test/lisp/progmodes/flymake-tests.el
11574         (eob-region-and-trailing-newline): New test.
11576 2017-11-11  Basil L. Contovounesios  <contovob@tcd.ie>
11578         Keep Man sections in natural order (bug#28998)
11580         * lisp/man.el (Man-build-section-alist): Reverse sections.
11582 2017-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>
11584         * lisp/minibuffer.el: Install a workaround for bug#16274
11586         * lisp/minibuffer.el (completion--nth-completion): Avoid signaling an
11587         error when `md` is applied to another table.
11589 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
11591         Fix comparisons with tip_frame in GTK builds
11593         * src/xterm.c (x_update_begin, x_new_font):
11594         * src/xfns.c (Fx_display_monitor_attributes_list):
11595         * src/frame.c (Fframe_list) [USE_GTK]: Don't consider tip_frame a
11596         tooltip frame unless its 'tooltip' parameter is non-nil.  (Bug#26747)
11598 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
11600         Improve the documentation of M-n for entering file names
11602         * lisp/files.el (find-file, find-file-other-window)
11603         (find-file-other-frame): Mention file-name-at-point-functions in
11604         the doc string.  Reported by Florian Weimer <fw@deneb.enyo.de> in
11605         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00224.html.
11607         * doc/emacs/mini.texi (Minibuffer History): Document
11608         file-name-at-point-functions and its effect on M-n when typing
11609         file names in the minibuffer.
11610         * doc/emacs/files.texi (File Names):
11611         * doc/emacs/mini.texi (Minibuffer File): Add a cross-reference to
11612         "Minibuffer History", where special features of M-n regarding
11613         files are described.
11615 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
11617         Fix desktop auto-save timer when linum-mode is used
11619         * lisp/desktop.el (desktop-read): Use toplevel value of
11620         window-configuration-change-hook when deciding whether desktop
11621         auto-saving is enabled.  Suggested by Peter Neidhardt
11622         <pe.neidhardt@googlemail.com>.  (Bug#28945)
11624 2017-11-11  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
11626         Fix "C-h k" in xterm-mouse-mode
11628         * lisp/help.el (help-read-key-sequence): Support "C-h k" for
11629         xterm-mouse-mode by calling read-key-sequence-vector instead of
11630         read-event.  (Bug#29150)
11632 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
11634         Fix off-by-1 bug in --enable-checking=stringbytes
11636         Evidently nobody builds Emacs with --enable-checking=all,
11637         which is no surprise as it is so slow as to be unusable nowadays.
11638         Perhaps we should remove the slowest checks, or move them into
11639         another category, or speed them up, or something.
11640         * src/alloc.c (SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Fix off-by-one
11641         error in size calculation, which caused a failure when
11642         --enable-checking=stringbytes was used.  I introduced this bug in
11643         2016-09-08T01:08:45!eggert@cs.ucla.edu "Port flexible array
11644         members to GCC + valgrind".
11646 2017-11-10  Alan Mackenzie  <acm@muc.de>
11648         Correct the indentation of C99's compound literals.
11650         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Amend so that
11651         if there is only syntactic whitespace in a brace block, it is regarded as a
11652         statement block.  Also, if there is no semicolon or comma delimiter, treat as
11653         a statement block when there is a keyword.
11654         (c-guess-basic-syntax): CASE 9 test: Regard a brace as starting a brace block
11655         when its contents indicate a brace block.
11657 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
11659         Improve the doc string of 'dired-isearch-filter-filenames'
11661         * lisp/dired-aux.el (dired-isearch-filter-filenames): Doc fix.
11662         (Bug#29215)
11664 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
11666         * lisp/isearch.el (search-invisible): Doc fix.  (Bug#29222)
11668 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
11670         Fix display of line numbers in GTK builds
11672         * src/xdisp.c (should_produce_line_number) [USE_GTK]: Make sure
11673         tip_frame is indeed a tooltip frame, before disabling line numbers
11674         on it.  (Bug#27647)
11676         * src/dispextern.h (tip_frame): Add commentary describing the
11677         kludgey usage of this variable in GTK builds.
11679 2017-11-10  João Távora  <joaotavora@gmail.com>
11681         Fix previous change to flymake-diag-region (bug#29174)
11683         * lisp/progmodes/flymake.el (flymake-diag-region):
11684         Pass line and col to commit.
11686 2017-11-09  João Távora  <joaotavora@gmail.com>
11688         flymake-diag-region really returns nil if region is invalid (bug#29174)
11690         Reported by Lele Gaifax <lele@metapensiero.it>.
11692         * lisp/progmodes/flymake.el (flymake-diag-region): Really
11693         return nil if the region is invalid.
11695 2017-11-09  João Távora  <joaotavora@gmail.com>
11697         Flymake correctly highlights whole last line if eob (bug#29201)
11699         If a line/column pair indicates an end-of-buffer position, flymake
11700         should behave like the case where the last line of the buffer is
11701         referenced without a column indication.  This behavior is currently
11702         to highlight the whole last line.
11704         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
11705         conditions of fallback to the fallback-eol local function.
11707 2017-11-09  João Távora  <joaotavora@gmail.com>
11709         Protect Flymake checkdoc backend against checkdoc errors (bug#29176)
11711         The function checkdoc-current-buffer may error if there are unbalanced
11712         parens, for example, but this shouldn't disable the
11713         elisp-flymake-checkdoc backend.
11715         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc): Use
11716         ignore-errors.
11718 2017-11-09  João Távora  <joaotavora@gmail.com>
11720         Sort entries of the Flymake diagnostics buffer (bug#29175)
11722         Reported by Lele Gaifax <lele@metapensiero.it>.
11724         * lisp/progmodes/flymake.el
11725         (flymake--diagnostics-buffer-entries): Sort results of flymake-diagnostics.
11727 2017-11-09  Alan Mackenzie  <acm@muc.de>
11729         Correctly indent C++14 brace lists which are a second argument to a function.
11731         In particular, don't indent contained brace lists in "staircase" fashion.
11732         This fixes bug #28623.
11734         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): When
11735         testing for being enclosed in parens, recognize also a brace directly
11736         following a comma, as well as a brace being the first thing inside the paren.
11737         Enhance the return value, by indicating when we're directly inside an open
11738         paren.
11739         (c-inside-bracelist-p): Add an extra argument ACCEPT-IN-PARAM which indicates
11740         whether we will accept a bracelist directly inside an open parenthesis.
11741         Simplify the manipulation of PAREN-STATE by dispensing with variable LIM and
11742         using c-pull-open-brace.  Enhance the return value, respecting the new argument.
11743         (c-guess-basic-syntax): Save a copy of the initial parse-state in the new
11744         variable STATE-CACHE.  Use this variable in place of C-STATE-CACHE throughout
11745         the function.  At CASE 7B, call c-inside-bracelist-p with extra argument nil.
11746         At CASE 9, call that function with extra argument t.
11748 2017-11-09  Eli Zaretskii  <eliz@gnu.org>
11750         Fix redisplay of overlay-arrows on GUI frames
11752         * src/xdisp.c (try_window_reusing_current_matrix)
11753         (try_cursor_movement): Disallow these optimizations if the buffer
11754         has overlay arrow(s) shown on the fringe(s).  (Bug#29198)
11756 2017-11-09  João Távora  <joaotavora@gmail.com>
11758         Protect Flymake tests against older Ruby and Perl (bug#29187)
11760         * test/lisp/progmodes/flymake-tests.el (perl-backend): Search
11761         for the error from the bottom.
11762         (ruby-backend): Protect against situation of bug#29187
11764 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
11766         Fix URL cookie expiration bug
11768         Problem reported by Damien Cassou (Bug#29223).
11769         * lisp/url/url-cookie.el (url-cookie-expired-p):
11770         Fix typo in previous change, which caused unexpired cookies
11771         to be treated as expired and vice versa.
11773 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
11775         Use GCALIGNED properly for GCC
11777         Apparently GCC requires that ‘__attribute__ ((aligned (8)))’ must
11778         immediately follow the ‘struct’ keyword when aligning a structure.
11779         The attribute silently does not work if it follows a tag after the
11780         ‘struct’ keyword.  Who knew?  Anyway, this patch is designed to
11781         fix a SIGSEGV problem reported by John Mastro (Bug#29183).
11782         * lib-src/make-docfile.c (close_emacs_globals):
11783         * src/buffer.c (buffer_defaults, buffer_local_symbols):
11784         * src/lisp.h (DEFUN):
11785         * src/thread.c (main_thread):
11786         Put 'GCALIGNED' immediately after 'struct'.
11788 2017-11-09  Glenn Morris  <rgm@gnu.org>
11790         In f90.el, set fill-paragraph-function to a useful value
11792         * lisp/progmodes/f90.el (f90-mode-map) <menu>: Add fill-paragraph.
11793         (f90-mode): Set fill-paragraph-function.
11794         (f90-fill-paragraph): New command.
11796 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
11798         Fix to 2fddfb7ce7
11800         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
11801           Fix bogus paren wrapping.
11803 2017-11-08  Glenn Morris  <rgm@gnu.org>
11805         * admin/gitmerge.el (gitmerge-resolve-unmerged): Fix doc typo.
11807 2017-11-08  Charles A. Roelli  <charles@aurox.ch>
11809         Further workaround for faulty localtime() under macOS 10.6
11811         * lisp/org/org-clock.el (org-clock--oldest-date): Fix an issue
11812         when compiling on macOS 10.6 with a western time zone (a
11813         continuation of Bug#27736).  In particular, see:
11815         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27736#74
11817         and the first commit that attempted to work around this problem,
11818         "Workaround for faulty localtime() under macOS 10.6", bd49b6f1 of
11819         2017-09-30.
11821 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
11823         Handle object string name in eieio-persistent-convert-list-object
11825         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
11826           Starting to phase out the printing of object names in
11827           `object-write', handle either case.
11829 2017-11-08  Ryan C. Thompson  <rct@thompsonclan.org>
11831         Fix handling of nil PRED2 arg for completion-table-with-predicate
11833         * lisp/minibuffer.el (completion-table-with-predicate): Don't act as
11834         if strict is non-nil when pred2 is nil (Bug#27841).
11835         * test/lisp/minibuffer-tests.el
11836         (completion-table-with-predicate-test): Add a test for Bug#27841.
11838 2017-11-07  K. Handa  <handa@gnu.org>
11840         Describe Lao rendering problem
11842         * etc/PROBLEMS: Describe a workaround for the problem of Lao rendering
11843         by OpenTyype font.
11845 2017-11-07  K. Handa  <handa@gnu.org>
11847         Fix docstring of arabic-shaper-ZWNJ-handling
11849         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Adjusted
11850         the doctstring for addition of :set (bug#28312).
11852 2017-11-07  Antonin Houska  <ah@melesmeles.cz>  (tiny change)
11854         Handle single-line comments correctly (Bug#26049)
11856         * lisp/newcomment.el (comment-region-internal): Previously, the
11857         comment text had to contain at least one line break character for the
11858         ending extra line to be added.  Make the behavior more consistent by
11859         looking for end of line instead.
11860         (comment-region-internal): Remove trailing white space from the
11861         comment's initial line.
11863 2017-11-07  Glenn Morris  <rgm@gnu.org>
11865         * test/lisp/net/tramp-tests.el (tramp-test16-file-expand-wildcards):
11866         Clean up properly.
11868 2017-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
11870         * etc/PROBLEMS: Add URL to relevant issues for xterm+evil bug
11872 2017-11-06  Martin Rudalics  <rudalics@gmx.at>
11874         Document new treatment of 'comment-auto-fill-only-comments'
11876         * doc/lispref/text.texi (Auto Filling): Add reference to Emacs
11877         manual.  Add description of 'comment-auto-fill-only-comments'.
11878         * etc/NEWS: Mention new treatment of
11879         'comment-auto-fill-only-comments'.
11881 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
11883         Do not load Tramp unless `tramp-mode' is non-nil
11885         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Load Tramp only if
11886         `tramp-mode' is non-nil.
11887         (tramp-unload-file-name-handlers): Unload also
11888         `tramp-autoload-file-name-handler'.
11890         * test/lisp/net/tramp-tests.el (tramp-test42-delay-load): Extend test.
11892 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
11894         Prefer `customize-set-variable' in tramp.texi
11896         * doc/misc/tramp.texi (Configuration, Default Method, Default User)
11897         (Default Host, Remote shell setup, Auto-save and Backup)
11898         (Ad-hoc multi-hops, Frequently Asked Questions):
11899         Prefer `customize-set-variable' over `custom-set-variables'.
11901 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
11903         Fix last change in hscroll_window_tree
11905         * src/xdisp.c (hscroll_window_tree): When hscroll suspension is
11906         being disabled, set the frame's garbaged flag less eagerly.
11907         (Bug#29002)
11909 2017-11-05  Philipp Stephani  <phst@google.com>
11911         Ediff: add some missing documentation
11913         * lisp/vc/ediff.el (ediff-files, ediff-files3, ediff-buffers)
11914         (ediff-buffers3, ediff-merge-directories)
11915         (ediff-merge-directories-with-ancestor)
11916         (ediff-merge-directory-revisions)
11917         (ediff-merge-directory-revisions-with-ancestor)
11918         (ediff-windows-wordwise, ediff-windows-linewise)
11919         (ediff-regions-wordwise, ediff-regions-linewise)
11920         (ediff-merge-files, ediff-merge-files-with-ancestor)
11921         (ediff-merge-buffers, ediff-merge-buffers-with-ancestor)
11922         (ediff-merge-revisions, ediff-merge-revisions-with-ancestor)
11923         (ediff-patch-file, ediff-revision): Document missing arguments.
11924         (ediff-patch-buffer, ediff-revision): Add second space after
11925         period.
11926         (ediff-files-command, ediff3-files-command, ediff-merge-command)
11927         (ediff-merge-with-ancestor-command, ediff-directories-command)
11928         (ediff-directories3-command, ediff-merge-directories-command): Add
11929         documentation for the command line functions.
11931 2017-11-05  Justin Timmons  <justinmtimmons@gmail.com>  (tiny change)
11933         Support python virtualenv on w32 (Bug#24464)
11935         According to the virtualenv docs only POSIX systems follow the
11936         structure "/path/to/venv/bin/", while windows systems use
11937         "/path/to/venv/Scripts" for the location of the binary files, most
11938         importantly including the python interpreter (see:
11939         https://virtualenv.pypa.io/en/stable/userguide/#windows-notes).
11940         * lisp/progmodes/python.el (python-shell-calculate-exec-path): Use the
11941         "/path/to/venv/Scripts" for `windows-nt' machines.
11943 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
11945         Improve dired deletion error handling (Bug#28797)
11947         * lisp/dired.el (dired-internal-do-deletions): Use
11948         `error-message-string' to produce a human readable error message.
11950 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
11952         Don't replace user input when completion prefix is empty (Bug#18951)
11954         * lisp/pcomplete.el (pcomplete-parse-arguments): Only replace user
11955         input if we produced a non-empty common completion stub.
11957 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
11959         Return non-nil from gnutls-available-p under GnuTLS 2.x
11961         * doc/misc/emacs-gnutls.texi (Help For Users): Update the
11962         documentation of 'gnutls-available-p'.
11964         * etc/NEWS (GnuTLS): Mention the change in the value returned by
11965         'gnutls-available-p'.
11967         * src/gnutls.c (Fgnutls_available_p): Return non-nil when GnuTLS
11968         2.x is available.  (Bug#29147)
11970 2017-11-05  João Távora  <joaotavora@gmail.com>
11972         Fix Flymake help-echo functions across windows (bug#29142)
11974         * lisp/progmodes/flymake.el (flymake--highlight-line): Use
11975         with-selected-window.
11976         (flymake-goto-next-error): Call help-echo with a window and an
11977         overlay.
11979 2017-11-05  João Távora  <joaotavora@gmail.com>
11981         Add tests for Flymake backends for Ruby and Perl
11983         * test/lisp/progmodes/flymake-tests.el (perl-backend)
11984         (ruby-backend): New tests.
11985         (warning-predicate-rx-perl, warning-predicate-function-perl):
11986         Delete tests.
11988         * test/lisp/progmodes/flymake-resources/test.pl: Include an
11989         error the test file.
11991         * test/lisp/progmodes/flymake-resources/test.rb: file.
11993 2017-11-05  João Távora  <joaotavora@gmail.com>
11995         Add a Flymake backend for Perl
11997         Define a simple backend in perl-mode.el, which cperl-mode.el also
11998         uses.
12000         * lisp/progmodes/cperl-mode.el (cperl-mode): Add to
12001         flymake-diagnostic-functions.
12003         * lisp/progmodes/flymake-proc.el
12004         (flymake-proc-allowed-file-name-masks): Disable legacy backend
12005         for perl files.
12007         * lisp/progmodes/perl-mode.el (perl-flymake-command): New
12008         defcustom.
12009         (perl--flymake-proc): New buffer-local variable.
12010         (perl-flymake): New function.
12011         (perl-mode): Add to flymake-diagnostic-functions.
12013 2017-11-05  João Távora  <joaotavora@gmail.com>
12015         Add a Flymake backend for Ruby
12017         * lisp/progmodes/ruby-mode.el (ruby-flymake-command): New
12018         defcustom.
12019         (ruby--flymake-proc): New buffer-local variable.
12020         (ruby-flymake): New function.
12021         (ruby-mode): Add flymake-diagnostic-functions.
12023 2017-11-05  Lele Gaifax  <lele@metapensiero.it>
12025         Add a Flymake backend for Python (bug#28808)
12027         Implement new Flymake backend with related customizable settings.
12029         * lisp/progmodes/python.el (python-flymake-command)
12030         (python-flymake-command-output-pattern)
12031         (python-flymake-msg-alist): New defcustom.
12032         (python--flymake-parse-output): New function, able to parse
12033         python-flymake-command output accordingly to
12034         python-flymake-command-output-pattern.
12035         (python-flymake): New function implementing the backend
12036         interface using python--flymake-parse-output for the real
12037         work.
12038         (python-mode): Add python-flymake to flymake-diagnostic-functions.
12040 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
12042         Allow "%" in Tramp host names
12044         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name): Hexify also host.
12046         * lisp/net/tramp.el (tramp-host-regexp): Allow "%" in host names.
12048 2017-11-04  Noam Postavsky  <npostavs@users.sourceforge.net>
12050         Use hybrid malloc for FreeBSD (Bug#28308)
12052         FreeBSD aarch64 does not provide sbrk, so gmalloc cannot be used; when
12053         using system malloc dumping does not work correctly (allocated data is
12054         invalid after dumping).
12055         * configure.ac: Set hybrid_malloc for freebsd.
12056         * src/gmalloc.c (gdefault_morecore) [!HAVE_SBRK]: Don't call sbrk.
12058 2017-11-04  Charles A. Roelli  <charles@aurox.ch>
12060         Add html-, mhtml- and python-mode support to semantic symref
12062         * lisp/cedet/semantic/symref/grep.el
12063         (semantic-symref-filepattern-alist): Fix the entry for
12064         'html-mode', which used a regexp-like syntax where only glob
12065         syntax is permitted.  As a result, 'xref-find-references' (M-?)
12066         can now find references in HTML files.  Also duplicate the same
12067         entry for the sake of 'mhtml-mode', and add a new one for
12068         'python-mode'.
12069         (semantic-symref-derive-find-filepatterns): In the documentation,
12070         clarify that returned patterns must follow the glob syntax.  Fix
12071         an 'if' test that always evaluates to nil.
12072         (semantic-symref-tool-grep):
12073         (semantic-symref-perform-search): Fix typos.
12075 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
12077         Improve documentation of 'window-scroll-functions'
12079         * doc/lispref/windows.texi (Window Hooks): Clarify the values of
12080         arguments of 'window-scroll-functions' functions.
12082         * src/xdisp.c (syms_of_xdisp) <window-scroll-functions>: Doc fix.
12084 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
12086         Fix subtle problems in tabulated-list-mode with line numbers
12088         * lisp/emacs-lisp/tabulated-list.el
12089         (tabulated-list-watch-line-number-width): Call
12090         tabulated-list-init-header instead of tabulated-list-revert.
12091         (tabulated-list-window-scroll-function): New function.
12092         (tabulated-list-mode): Put 'tabulated-list-window-scroll-function'
12093         on the buffer-local 'window-scroll-functions' list.
12095 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
12097         Make gdb-non-stop-setting default to nil on MS-Windows
12099         * lisp/progmodes/gdb-mi.el (gdb-non-stop-setting): Now nil on
12100         MS-Windows.
12102 2017-11-04  Mike Gulick  <mike.gulick@mathworks.com>  (tiny change)
12104         Fix gdb-mi prompt after "attach PID" command
12106         * lisp/progmodes/gdb-mi.el (gdbmi-bnf-console-stream-output): Set
12107         gdb-first-done-or-error non-nil.  (Bug#29020)
12109 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
12111         Fix doc string of 'window-configuration-change-hook'
12113         * src/window.c (syms_of_window) <window-configuration-change-hook>:
12114         Doc fix.  (Bug#29049)
12116 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
12118         Improve documentation of window hooks
12120         * doc/lispref/windows.texi (Window Hooks): Fix the description of
12121         window-configuration-change-hook.  (Bug#29049)
12122         <run-window-scroll-functions, run-window-configuration-change-hook>:
12123         Document these functions.
12125 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
12127         Fix hscroll suspension after cursor motion
12129         * src/xdisp.c (hscroll_window_tree): Trigger a thorough redisplay
12130         of the window when temporary suspension of hscrolling is
12131         disabled.  (Bug#29002)
12133 2017-11-03  Alan Mackenzie  <acm@muc.de>
12135         Introduce a function to CC Mode which displays the current function name
12137         Remove an erroneous interactive specification from two functions.
12139         * lisp/progmodes/cc-cmds.el (c-display-defun-name): New command.
12140         (c-defun-name, c-cpp-define-name): Remove interactive specification.
12142         * lisp/progmodes/cc-mode.el (c-mode-base-map): Add binding C-c C-z for the new
12143         command.
12145         * doc/misc/cc-mode.texi (Other Commands): Add documentation for the new
12146         command.
12148 2017-11-03  Eli Zaretskii  <eliz@gnu.org>
12150         Fix typos in ediff-wind.el
12152         * lisp/vc/ediff-wind.el (ediff-setup-windows-multiframe-merge):
12153         Fix typos in commentary.  (Bug#29138)
12155 2017-11-03  João Távora  <joaotavora@gmail.com>
12157         Examine tex-chktex--process in the correct buffer
12159         As in other Flymake backends, the process sentinel might run in
12160         arbitrary buffers where this variable's value doesn't make sense.
12162         For a way to trigger a problem due to this, see discussion starting in
12163         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00645.html
12165         * lisp/textmodes/tex-mode.el (tex-chktex): Use
12166         with-current-buffer.
12168 2017-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
12170         * nt/INSTALL.W64: Update to current mingw64 install instructions
12172 2017-11-03  João Távora  <joaotavora@gmail.com>
12174         Don't resignal errors in flymake-diag-region
12176         * lisp/progmodes/flymake.el (flymake-diag-region): Use
12177         flymake-log instead of flymake-error.
12179 2017-11-03  João Távora  <joaotavora@gmail.com>
12181         New xref-quit-and-goto-xref command bound to TAB (bug#28814)
12183         This is like xref-goto-xref, but quits the *xref* window just before
12184         the user jump to ref.
12186         * lisp/progmodes/xref.el (xref--show-location): Handle 'quit
12187         value for SELECT.
12188         (xref-goto-xref): Take optional QUIT arg.
12189         (xref-quit-and-goto-xref): New command.
12190         (xref--xref-buffer-mode-map): Bind "Q" and "TAB" to
12191         xref-quit-and-goto-xref.
12193         * doc/emacs/maintaining.texi (Xref Commands): Describe new bindings in
12194         *xref*.
12196         * etc/NEWS (Xref): Describe new binding.
12198 2017-11-03  João Távora  <joaotavora@gmail.com>
12200         Allow split-window-sensibly to split threshold in further edge case
12202         As a fallback, and to avoid creating a frame, split-window-sensibly
12203         would previously disregard split-height-threshold if the window to be
12204         split is the frame's root window.
12206         This change generalizes that: it disregards the threshold if the
12207         window to be split is the frame's only _usable_ window (it is either
12208         the only one, as before, or all the other windows are dedicated to
12209         some buffer and thus cannot be touched).
12211         This is required for the fix to bug#28814.
12213         * lisp/window.el (split-height-threshold): Adjust doc to match
12214         split-window-sensibly.
12215         (split-window-sensibly): Also disregard threshold if all other
12216         windows are dedicated.
12218 2017-11-03  João Távora  <joaotavora@gmail.com>
12220         Honor window-switching intents in xref-find-definitions (bug#28814)
12222         When there is more than one xref to jump to, and an *xref* window
12223         appears to help the user choose, the original intent to open a
12224         definition in another window or frame is remembered when the choice to
12225         go to or show a reference is finally made.
12227         * lisp/progmodes/xref.el (xref--show-pos-in-buf): Rewrite.
12228         (xref--original-window-intent): New variable.
12229         (xref--original-window): Rename from xref--window and move up
12230         here for clarity.
12231         (xref--show-pos-in-buf): Rewrite.  Don't take SELECT arg here.
12232         (xref--show-location): Handle window selection decision here.
12233         (xref--window): Rename to xref--original-window.
12234         (xref-show-location-at-point): Don't attempt window management here.
12235         (xref--show-xrefs): Ensure display-action intent is saved.
12237 2017-11-03  Paul Pogonyshev  <pogonyshev@gmail.com>
12239         * lisp/emacs-lisp/generator.el (iter-do): Add a debug declaration.
12241 2017-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
12243         * lisp/progmodes/flymake.el (flymake-start): Fix dead buffer case
12245         Don't try to flymake-start within a buffer that doesn't exist any more.
12247 2017-11-03  Basil L. Contovounesios  <contovob@tcd.ie>
12249         Fix buffer name comparison in async shell-command
12251         * lisp/simple.el (shell-command): Keep track of output-buffer
12252         by its name, not by its object.  (Bug#28997)
12254 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
12256         Change GCALIGNMENT back to an integer literal
12258         * src/lisp.h (GCALIGNMENT): Change it back to a macro
12259         that expands to a literal integer constant, for older GCC.
12260         I had mistakenly thought that only MSVC had the problem.
12261         Problem repored by Eli Zaretskii (Bug#29040#69).
12263 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
12265         * src/lisp.h (GCALIGNED): Clarify comment (Bug#29040).
12267 2017-11-03  Hong Xu  <hong@topbug.net>
12269         Improve the doc of eshell-cmpl-* custom variables (Bug#25069)
12271         * lisp/eshell/em-cmpl.el (eshell-cmpl--custom-variable-docstring): New
12272         function to generate the docstring for custom variables derived from
12273         pcomplete-* variables.
12274         (eshell-cmpl-file-ignore, eshell-cmpl-dir-ignore)
12275         (eshell-cmpl-ignore-case, eshell-cmpl-autolist)
12276         (eshell-cmpl-suffix-list, eshell-cmpl-recexact)
12277         (eshell-cmpl-man-function, eshell-cmpl-compare-entry-function)
12278         (eshell-cmpl-expand-before-complete, eshell-cmpl-cycle-completions)
12279         (eshell-cmpl-cycle-cutoff-length, eshell-cmpl-restore-window-delay)
12280         (eshell-command-completion-function, eshell-cmpl-command-name-function)
12281         (eshell-default-completion-function, eshell-cmpl-use-paring): Use it
12282         to set the docstring.
12284 2017-11-02  Alan Third  <alan@idiocy.org>
12286         Fix mouse-scrollbar offset on GNUstep and old macOS (bug#29053)
12288         * src/nsterm.m (EmacsScroller::mouseDown,
12289         EmacsScroller::mouseDragged): Take scroller buttons into account when
12290         calculating scroller knob position.
12292 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
12294         Merge from Gnulib
12296         This incorporates:
12297         2017-10-29 timespec: prefer ‘assume’ to ‘assure’
12298         2017-10-27 timespec.h: use "assure" to avoid a spurious warning
12299         2017-10-09 getopt-posix: Fix build failure if ac_cv_header_getopt_h=no
12300         * build-aux/config.guess, build-aux/config.sub:
12301         * lib/timespec.h, lib/unistd.in.h:
12302         Copy from Gnulib.
12304 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
12306         Fix alignment portability problems
12308         Do not assume that the natural alignment of Lisp objects is a
12309         multiple of GCALIGNMENT.  This improves on the portability of the
12310         recent fix for Bug#29040.
12311         * lib-src/make-docfile.c (close_emacs_globals):
12312         * src/buffer.c (buffer_defaults, buffer_local_symbols):
12313         * src/lisp.h (DEFUN):
12314         * src/thread.c (main_thread):
12315         Use GCALIGNED, not alignas (GCALIGNMENT).
12316         * src/alloc.c (COMMON_MULTIPLE):
12317         Move back here from lisp.h, since it is no longer used elsewhere.
12318         * src/lisp.h (GCALIGNMENT): No longer a macro, since we need not
12319         worry about MSVC.  Omit no-longer-needed consistency check.
12320         * src/thread.c (THREAD_ALIGNMENT): Remove.
12322 2017-11-02  Simen Heggestøyl  <simenheg@gmail.com>
12324         Fix completion of colon after CSS property (Bug#29056)
12326         * lisp/textmodes/css-mode.el (css-completion-at-point): Don't insert
12327         ": ;" after completing a CSS property unless the rest of the line is
12328         empty.
12330 2017-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
12332         * src/alloc.c (sweep_symbols): Tweak last change
12334         Avoid the double-free without the extra check.  Add an explanatory comment.
12336 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
12338         In frame parameters documentation mention desktop saving/restoring
12340         * doc/lispref/frames.texi (Frame Parameters): Mention that
12341         applications have to care about which parameters they want to
12342         get saved and restored by the desktop library.
12344 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
12346         Don't have frameset save the 'client' parameter (Bug#29067)
12348         * lisp/frameset.el (frameset-persistent-filter-alist): Never
12349         save 'client' parameter (Bug#29067).
12351 2017-11-02  Gemini Lasswell  <gazally@runbox.com>
12353         Handle generic variables in cl-defgeneric Edebug spec
12355         *lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix Edebug spec to
12356         match (setf name) and replace incorrect cl-lambda-list with listp
12357         (Bug#27747).
12359 2017-11-02  Noam Postavsky  <npostavs@gmail.com>
12361         Give a more sensible message if file-attributes fails (Bug#29070)
12363         * lisp/server.el (server-ensure-safe-dir): Don't claim the directory
12364         is a file if we fail to get anything from `file-attributes'.
12366 2017-11-01  Andreas Schwab  <schwab@linux-m68k.org>
12368         Avoid wrong value from file-attributes on Linux kernel before 3.6
12370         * src/dired.c (file_attributes): Handle unsupported fstat on O_PATH
12371         descriptors.  (bug#29070)
12373 2017-11-01  Noam Postavsky  <npostavs@gmail.com>
12375         Fix customization of debugger-print-function (Bug#29077)
12377         * lisp/emacs-lisp/debug.el (debugger-print-function): The :options
12378         keyword has no effect for :type 'function, use :type '(choice ...)
12379         instead.
12381 2017-10-31  Eli Zaretskii  <eliz@gnu.org>
12383         Avoid duplicate calls to xfree for the same pointer
12385         * src/alloc.c (sweep_symbols): Avoid freeing an already freed
12386         pointer to a symbol's buffer-local value.  (Bug#29066)
12388 2017-10-31  Phil Sainty  <psainty@orcon.net.nz>
12390         Don't clobber docstrings of explicitly-defined mode hook variables
12392         * lisp/emacs-lisp/derived.el (define-derived-mode):
12393         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): When defining the
12394         mode hook variable, do not clobber pre-existing docstrings.
12396 2017-10-31  Martin Rudalics  <rudalics@gmx.at>
12398         Avoid fullscreen ediff control frames by default (Bug#29026)
12400         * lisp/vc/ediff-wind.el (ediff-control-frame-parameters):
12401         Add parameter to avoid fullscreen control frames (Bug#29026).
12403 2017-10-31  Katsumi Yamaoka  <yamaoka@jpl.org>
12405         Fix the bug#24034 change (revno 9eb028f) causing infloop (bug#29047)
12407         * lisp/net/shr.el (shr-fill-line): Copy only face and image-displayer
12408         properties to gaps (bug#29047).
12410 2017-10-30  Eli Zaretskii  <eliz@gnu.org>
12412         Fix a typo in the ELisp manual
12414         * doc/lispref/functions.texi (Obsolete Functions): Fix a typo.
12415         (Bug#29068)
12417 2017-10-30  Martin Rudalics  <rudalics@gmx.at>
12419         Fix doc and doc-strings for minibuffer window related functions (Bug#28978)
12421         These fixes were suggested by Drew Adams.
12423         * src/window.c (Fminibuffer_selected_window): Disambiguate
12424         doc-string.
12425         * doc/lispref/minibuf.texi (Intro to Minibuffers)
12426         (Minibuffer Windows, Recursive Mini, Minibuffer Misc):  Avoid
12427         the term "currently active minibuffer window".  Disambiguate
12428         documentation of `minibuffer-selected-window'.
12430 2017-10-30  Alan Mackenzie  <acm@muc.de>
12432         Fix "Args out of range" error in c-determine-limit.  Fixes bug #28598.
12434         * lisp/progmodes/cc-engine.el (c-determine-limit-get-base): If the candidate
12435         position for BASE is below point-min, scan forward to the end of the current
12436         literal.
12437         (c-determine-limit): Add an extra arm to the final cond form, testing for BASE
12438         being at point-min.
12440 2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
12442         * lisp/progmodes/perl-mode.el: Fix electric indentation with RET
12444         (perl-electric-noindent-p): The `eolp' check should not apply to RET.
12445         Reported in https://emacs.stackexchange.com/questions/36337.
12447 2017-10-29  Tom Tromey  <tom@tromey.com>
12449         Extend mhtml submode region when in comment
12451         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Extend
12452         submode when start happens to be in a comment.
12454 2017-10-29  Tom Tromey  <tom@tromey.com>
12456         Fix mthml submode lighting at end of buffer
12458         * lisp/textmodes/mhtml-mode.el (mhtml--submode-lighter): Handle end of
12459         buffer correctly.
12461 2017-10-29  Tom Tromey  <tom@tromey.com>
12463         Remember more variables in mhtml-mode
12465         * lisp/textmodes/mhtml-mode.el (mhtml--crucial-variable-prefix): Add
12466         "completion-" and "major-mode".
12467         (mhtml--variable-prefix): Remove "major-mode".
12469 2017-10-29  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
12471         * etc/NEWS (EUDC): Deprecate BBDB 2.x backward compatibility.
12473 2017-10-29  Martin Rudalics  <rudalics@gmx.at>
12475         Fix minibuffer window related docs and strings (Bug#28978)
12477         * src/frame.c (Vdefault_minibuffer_frame): Fix doc-string.
12478         * src/window.c (Fminibuffer_selected_window): Fix doc-string.
12479         * doc/lispref/frames.texi (Buffer Parameters): Rewrite
12480         description of `minibuffer' parameter.
12481         * doc/lispref/minibuf.texi (Minibuffer Windows): Reorder
12482         entries and partly rewrite section.
12483         (Minibuffer Misc): Clarify description of
12484         `minibuffer-selected-window'.
12485         * etc/NEWS: Mention new semantics of 'minibuffer' frame
12486         parameter.
12488 2017-10-29  Mark Oteiza  <mvoteiza@udel.edu>
12490         Add ChkTeX flymake backend for latex-mode
12492         * lisp/textmodes/tex-mode.el (tex-flymake): New custom group.
12493         (tex-chktex-program, tex-chktex-extra-flags): New custom variables.
12494         (latex-mode): Add backend to flymake-diagnostic-functions.
12495         (tex-chktex--process): New variable.
12496         (tex-chktex-command, tex-chktex): New functions.
12498 2017-10-29  Glenn Morris  <rgm@gnu.org>
12500         Fix doc typos
12502         * lisp/simple.el (line-move-ignore-invisible):
12503         * lisp/sort.el (sort-regexp-fields):
12504         * lisp/cedet/ede.el (project-add-file):
12505         * lisp/gnus/message.el (message-bogus-recipient-p):
12506         * lisp/international/mule.el (define-coding-system):
12507         * lisp/progmodes/ebrowse.el (ebrowse-member-buffer-object-menu):
12508         * lisp/progmodes/xscheme.el (xscheme-allow-output-p)
12509         (scheme-interaction-mode, scheme-debugger-mode)
12510         (xscheme-yank-pop, xscheme-yank-push): Doc fixes.
12512 2017-10-29  Glenn Morris  <rgm@gnu.org>
12514         Fix some duplicate word typos
12516         * doc/misc/ede.texi (ede-target):
12517         * doc/misc/flymake.texi (Using Flymake):
12518         * doc/misc/gnus.texi (The namazu Engine): Fix typos.
12520 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
12522         * doc/lispref/commands.texi (Adjusting Point): Fix wording. (Bug#29042)
12524 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
12526         Avoid segfaults in 64-bit Windows builds
12528         * src/lisp.h (COMMON_MULTIPLE): Move here from alloc.c.
12529         * src/thread.c (THREAD_ALIGNMENT): New macro.
12530         (main_thread): Use THREAD_ALIGNMENT to align propertly.  (Bug#29040)
12532 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
12534         Fix conversion of pixel coordinates to buffer position
12536         * src/dispnew.c (buffer_posn_from_coords): Adapt to
12537         auto-hscroll-mode == current-line.
12539 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
12541         Fix doc strings in desktop.el
12543         * lisp/desktop.el (desktop-auto-save-timeout)
12544         (desktop-auto-save-set-timer): Doc fixes.  (Bug#28945)
12546 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
12548         Add Index to ERT manual
12550         * doc/misc/ert.texi: Add @syncodeindex directives.
12551         (Index): New node.
12552         (Top): Add Index to the top-level menus.
12553         Add index entries to all nodes.
12555 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
12557         Make manuals and NEWS consistent
12559         * etc/NEWS: Fix markings on several entries, and rearrange others
12560         as needed.
12562         * doc/emacs/programs.texi (Hideshow): Document the new
12563         outline-like bindings.
12564         * doc/emacs/search.texi (Query Replace): Document 'u' and 'U'.
12566 2017-10-28  Martin Rudalics  <rudalics@gmx.at>
12568         Don't allow (minibuffer-window-active-p nil) to return t
12570         * lisp/window.el (minibuffer-window-active-p): Return t
12571         only if WINDOW is a live window.
12573 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
12575         Clarify obsolescence message for 'whitespace-tab'
12577         * lisp/whitespace.el (whitespace-tab): Make the obsolescence
12578         message more clear about the replacement.
12580 2017-10-28  Glenn Morris  <rgm@gnu.org>
12582         Fix some duplicate words typos
12584         * lisp/erc/erc.el (erc-hide-current-message-p):
12585         * lisp/progmodes/flymake-proc.el (flymake-proc-diagnostic-type-pred):
12586         * doc/lispref/display.texi (Bidirectional Display, Delayed Warnings):
12587         * doc/lispref/functions.texi (Defining Functions):
12588         * doc/lispref/os.texi (Terminal-Specific):
12589         * doc/misc/sem-user.texi (Analyzer Debug):
12590         * doc/misc/srecode.texi (Special Variables): Fix typos.
12592 2017-10-28  Glenn Morris  <rgm@gnu.org>
12594         * lisp/button.el (button-activate): Fix doc typo.
12596         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Fix doc typo.
12598 2017-10-28  Glenn Morris  <rgm@gnu.org>
12600         Fix some doc typos
12602         * lisp/calendar/todo-mode.el (todo-next-item)
12603         (todo-previous-item, todo-toggle-item-header):
12604         * lisp/window.el (move-to-window-group-line):
12605         * src/editfns.c (Fformat):
12606         * test/lisp/calendar/todo-mode-tests.el (todo-test-move-item05):
12607         Fix doc typos.
12609 2017-10-27  Ken Brown  <kbrown@cornell.edu>
12611         Fix startup display on Cygwin
12613         * src/xterm.c (x_make_frame_visible) [CYGWIN]: Restore code that
12614         forces input to be read.  (Bug#24091)
12616 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
12618         * src/fileio.c (Fset_default_file_modes): Fix typo in doc string.
12620         * lisp/dired.el (dired-find-alternate-file): Doc fix.  (Bug#28963)
12622 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
12624         Improve documentation of how faces are applied to display stings
12626         * doc/lispref/display.texi (Displaying Faces): Describe how the
12627         faces of the "underlying" text affect overlay and display strings.
12628         (Display Margins): Add a cross-reference to "Displaying Faces".
12630 2017-10-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
12632         Improve pixel-scroll-mode
12634         Scroll vertically by number of pixels returned by
12635         'frame-char-height' with or without horizontally scrolled.
12636         (Bug#28922)
12638         * lisp/pixel-scroll.el (pixel-resolution-fine-flag): When t, scroll
12639         by number of pixels returned by 'frame-char-height'.
12640         (pixel-scroll-up): Scroll by 'frame-char-height'. Fix algorithm to
12641         move cursor to avoid unexpected jump.
12642         (pixel-scroll-down): Scroll by 'frame-char-height'.
12643         (pixel-bob-at-top-p): Consider number of pixels that is about to
12644         scroll.
12645         (pixel-posn-y-at-point): Consider existence of an overlay string.
12646         Return nil when horizontally scrolled.
12647         (pixel-point-at-top-p): Consider number of pixels that is about to
12648         scroll. Use different algorithm when horizontally scrolled.
12649         (pixel-point-at-bottom-p): Consider number of pixels that is about
12650         to scroll. Return nil when horizontally scrolled.
12651         (pixel-scroll-pixel-down): Move cursor when horizontally scrolled.
12652         (pixel--whistlestop-line-up): Change cosmetics and move cursor when
12653         horizontally scrolled.
12654         (pixel-line-height): Call 'pixel-visual-line-height' instead of
12655         'line-pixel-height'.
12656         (pixel-visual-line-height): New function to return height in pixels
12657         of text line where cursor is with or without horizontally scrolled,
12658         considering response of display engine.
12659         (pixel-visible-pos-in-window): New function to return position of
12660         a char shown on text line where cursor is on screen with or without
12661         horizontally scrolled.
12663 2017-10-27  Daniel Lublin  <daniel@lublin.se>  (tiny change)
12665         Support Certification Authority Authorization in dns-mode.el
12667         * lisp/textmodes/dns-mode.el (dns-mode-types): Add "CAA".
12668         (Bug#28911)
12670 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
12672         Improve documentation of set-default-file-modes
12674         * src/fileio.c (Fset_default_file_modes): Doc fix.  (Bug#28875)
12676         * doc/lispref/files.texi (Changing Files): Clarify how the bits in
12677         the argument of set-default-file-modes are used for setting file
12678         permissions.
12680 2017-10-27  Ulf Jasper  <ulf.jasper@web.de>
12682         Fix documentation of `newsticker-new-item-functions' (bug#29023).
12684         * lisp/net/newst-backend.el (newsticker-new-item-functions),
12685         (newsticker-new-item-functions-sample),
12686         (newsticker-download-enclosures): Fix docstring, rename
12687         variable feed to feedname (bug#29023).
12689         * doc/misc/newsticker.texi (Automatic Processing)
12690         (Automatic Processing): Fix documentation of
12691         `newsticker-new-item-functions' (bug#29023).
12693 2017-10-27  Tino Calancha  <tino.calancha@gmail.com>
12695         Require seq in rmc.el
12697         * lisp/emacs-lisp/rmc.el: Require seq (Bug#28975).
12698         * test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): Add test.
12700 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
12702         Make an example code introduced in the Gnus info work (bug#29008)
12704         You can find it in the bottom of (info "(gnus)Foreign Groups").
12705         NOTE: this change is worth being merged to the trunk.
12707         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-emacs-bug-group):
12708         Allow a string for bug# (bug#29008).
12710 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
12712         Enable gnus-read-ephemeral-* to run multiple times (bug#29008)
12714         NOTE: *DO NOT* merge this change to the trunk.
12716         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group)
12717         (gnus-read-ephemeral-bug-group): Make it work for any number of times
12718         for the case `url-automatic-caching' is set (bug#29008).
12720 2017-10-27  Paul Eggert  <eggert@cs.ucla.edu>
12722         Port thread.c to OpenBSD ARM
12724         Problem reported by Jeremie Courreges-Anglas (Bug#29005).
12725         * src/thread.c (main_thread): Align to GCALIGNMENT.
12727 2017-10-26  Alan Mackenzie  <acm@muc.de>
12729         Fix another "wrong side of point" error in CC Mode.
12731         This fixes (a follow-up to) bug #28850.
12732         A internal generated form for scanning text to fontify had a LIMIT parameter.
12733         It also locally bound LIMIT to a value possibly beyond the original LIMIT,
12734         allowing point to move beyond the original LIMIT, and to create the wrong side
12735         error.  Fix it by checking point is not beyond LIMIT in the outer context
12736         before using it.
12738         * lisp/progmodes/cc-fonts.el (c-make-font-lock-search-form): Add a new
12739         parameter CHECK-POINT which, when non-nil, directs the function to generate a
12740         check on point.
12741         (c-make-font-lock-context-search-function): Invoke the above function with new
12742         argument value t.
12744 2017-10-26  Michael Albinus  <michael.albinus@gmx.de>
12746         Fix Bug#28959
12748         * lisp/net/tramp.el (tramp-handle-find-backup-file-name):
12749         Use `tramp-tramp-file-p' rather than `tramp-file-name-p'.  Add
12750         hop to backup file name.  (Bug#28959)
12752         * test/lisp/net/tramp-tests.el (tramp-test34-find-backup-file-name):
12753         New test.
12754         (tramp-test35-make-nearby-temp-file)
12755         (tramp-test36-special-characters)
12756         (tramp-test36-special-characters-with-stat)
12757         (tramp-test36-special-characters-with-perl)
12758         (tramp-test36-special-characters-with-ls, tramp-test37-utf8)
12759         (tramp-test37-utf8-with-stat, tramp-test37-utf8-with-perl)
12760         (tramp-test37-utf8-with-ls, tramp-test38-file-system-info)
12761         (tramp-test39-asynchronous-requests)
12762         (tramp-test40-recursive-load, tramp-test41-remote-load-path)
12763         (tramp-test42-delay-load, tramp-test43-unload): Rename.
12765 2017-10-26  Paul Eggert  <eggert@cs.ucla.edu>
12767         Fix duplicate .o file on QNX
12769         * configure.ac (CYGWIN_OBJ): Leave empty on QNX.
12770         Problem reported by Elad Lahav in:
12771         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00750.html
12773 2017-10-26  Dmitry Gutov  <dgutov@yandex.ru>
12775         Fix two js indentation problems
12777         Fix intentation problems reported in
12778         https://github.com/mooz/js2-mode/issues/463.
12779         * lisp/progmodes/js.el (js--continued-expression-p):
12780         Check syntax state after /.
12781         (js--multi-line-declaration-indentation):
12782         Check syntax state before "const".
12784 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
12786         Update documentation for windows build
12788         * admin/nt/dist-build/README-scripts: New File.
12790 2017-10-25  Alan Mackenzie  <acm@muc.de>
12792         Fix a "wrong side of point" error in CC Mode.  Fixes bug #28850.
12794         The cause was a scanning over a bracket pair taking us beyond the supplied
12795         LIMIT parameter in c-forward-declarator.
12797         * lisp/progmodes/cc-engine.el (c-forward-declarator): Add three checks (<
12798         (point) limit) whilst dealing with tokens after the declared identifier.
12800         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Don't supply a LIMIT
12801         argument to `c-forward-declarator' (twice), since we want to fontify up till
12802         the end of a declarator, not an arbitrary jit-lock chunk end.
12804 2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
12806         Fix autoload of flymake from elisp-mode during bootstrap (bug#28994)
12808         * lisp/loadup.el: add `progmodes` to load-path so we can find flymake.el.
12809         * lisp/kmacro.el: Require `replace` since we use query-replace-map.
12810         * lisp/replace.el: Require `text-mode` since we use text-mode-map.
12812 2017-10-25  Alan Third  <alan@idiocy.org>
12814         Fix non-native fullscreen on NS (bug#28872)
12816         * src/nsterm.m (EmacsView::updateFrameSize): Handle case where
12817         FRAME_TOOLBAR_HEIGHT returns a negative number.  Force WM to set size
12818         of frame.
12820 2017-10-25  Michael Albinus  <michael.albinus@gmx.de>
12822         Fix Bug#28982
12824         * admin/MAINTAINERS: Add test/lisp/url/url-tramp-tests.el.
12826         * lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
12827         (url-tramp-convert-tramp-to-url): Adapt to recent Tramp changes.
12829         * test/lisp/url/url-tramp-tests.el: New file.  (Bug#28982)
12831 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
12833         Fix windows build errors
12835         * admin/nt/dist-build/build-zips.sh: Correct name of zip file, build
12836           64 bit first
12838 2017-10-25  Noam Postavsky  <npostavs@gmail.com>
12840         Fix compile warning for non-w32 builds
12842         Since 2017-07-25 "ls-lisp: Add an unload function and enable lexical
12843         binding", the non-w32 builds would treat the undeclared
12844         w32-collate-ignore-punctuation variable as lexical.
12845         * lisp/ls-lisp.el (top-level): Declare it as a dynamic variable.
12847 2017-10-25  David Glasser  <glasser@davidglasser.net>  (tiny change)
12849         Display commit in package description, if available (Bug#28637)
12851         MELPA includes a :commit field in its
12852         packages (https://github.com/melpa/package-build/pull/6).  You can use
12853         this to tell if MELPA has processed a recently-merged change.  This
12854         commit adds that metadata to the package description buffer.
12856         * lisp/emacs-lisp/package.el: Display commit in package description.
12858 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
12860         Port to QNX
12862         Simplified version of a patch proposed by Elad Lahav in:
12863         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00716.html
12864         which is based on a previous patch I proposed in:
12865         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00707.html
12866         * configure.ac (opsys, CFLAGS, LIBS_SYSTEM, hybrid_malloc)
12867         (system_alloc, FIRST_PTY_LETTER, CYGWIN_OBJ):
12868         Set appropriately for QNX.
12869         * src/unexelf.c [__QNX__]: Include <sys/elf.h> instead of <elf.h>.
12870         (unexec): Check for sbrk failure, and fall back on old BSS end.
12872 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
12874         * configure.ac: Tweak libcurses diagnostic.
12876 2017-10-24  Phillip Lord  <phillip.lord@russet.org.uk>
12878         Scripts to automate windows binary distribution
12880         * admin/nt/dist-build/README-windows-binaries,
12881           admin/nt/dist-build/build-dep-zips.py,
12882           admin/nt/dist-build/build-zips.sh: New Files
12884 2017-10-24  Gemini Lasswell  <gazally@runbox.com>
12886         Fix Edebug specs for map-let and with-maps-do
12888         * lisp/emacs-lisp/map.el (map-let): Fix Edebug spec (bug#24777).
12889         * test/lisp/emacs-lisp/map-tests.el (with-maps-do): Fix Edebug spec.
12891 2017-10-24  Michael Albinus  <michael.albinus@gmx.de>
12893         * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): New test.
12895         (tramp-test42-unload): Rename.
12897 2017-10-24  Glenn Morris  <rgm@gnu.org>
12899         * admin/authors.el (authors-canonical-author-name):
12900         Ignore name issues in "lax" ChangeLogs.
12902         * test/lisp/progmodes/sql-tests.el
12903         (sql-tests-postgres-list-databases-error): Silence compiler.
12905 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
12907         Further work on Bug#28889
12909         * lisp/net/tramp.el (tramp-set-syntax): New defun.
12910         (tramp-syntax): Use it.  Change :package-version.  (Bug#28889)
12912 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
12914         Improve Tramp backward compatibility
12916         * lisp/net/tramp-compat.el (tramp-compat-tramp-file-name-slots):
12917         New defmacro.
12918         * lisp/net/tramp.el (with-parsed-tramp-file-name): Use it.
12920 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
12922         Improve backward compatibility of tramp-tests.el
12924         * test/lisp/net/tramp-tests.el (tramp--test-emacs26-p): Fix docstring.
12925         (tramp-test41-unload): Skip unless Emacs >= 26.
12927 2017-10-23  Martin Rudalics  <rudalics@gmx.at>
12929         Fix some ‘window-normalize-’ prefixed functions (Bug#28947)
12931         * lisp/window.el (window-normalize-buffer): Fix case where
12932         BUFFER-OR-NAME is a string specifying a dead buffer.  Fix
12933         doc-string (Bug#28947).
12934         (window-normalize-frame, window-normalize-window): Fix
12935         doc-strings (Bug#28947).
12937 2017-10-23  Paul Eggert  <eggert@cs.ucla.edu>
12939         Port to OpenIndiana
12941         Problem reported by Nelson H. F. Beebe (Bug#28893).
12942         Also see Bug#23748, Bug#9736, and Bug#5735.
12943         * configure.ac (tputs_library): Prefer libcurses to libtermcap,
12944         since OpenIndiana libtermcap lacks tparm.
12946 2017-10-22  Alexander Gramiak  <agrambot@gmail.com>
12948         Don't fill keywords after Emacs Lisp docstring
12950         This approach does mean that keywords that have spaces before them
12951         inside of docstrings aren't filled, but I think this is should be fine
12952         until Bug#28937 is fixed.
12954         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Add a colon to
12955         paragraph-start unconditionally, but require that it follows at least
12956         one space.  (Bug#24622)
12957         * test/lisp/emacs-lisp/lisp-tests.el: New tests for Bug#24622 and
12958         Bug#7751.
12960 2017-10-22  Alan Mackenzie  <acm@muc.de>
12962         Refactor c-forward-token-2 with new function c-forward-over-token-and-ws.
12964         Use the new function directly in several places where c-forward-token-2
12965         wouldn't move over the last token in the buffer.  This caused an infinite loop
12966         in c-restore-<>-properties.
12968         * lisp/progmodes/cc-engine.el (c-forward-over-token-and-ws): New function,
12969         extracted from c-forward-token-2.
12970         (c-forward-token-2): Refactor, calling the new function.
12971         (c-restore-<>-properties): Fix infinite loop.
12972         (c-forward-<>-arglist-recur, c-in-knr-argdecl)
12973         (c-looking-at-or-maybe-in-bracelist): Call the new function directly in place
12974         of c-forward-token-2.
12976         * lisp/progmodes/cc-cmds.el (c-defun-name) Call the new function directly in
12977         place of c-forward-token-2.
12979         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Call the new
12980         function directly in place of c-forward-token-2.
12982 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
12984         Avoid unnecessary rounding errors in timestamps
12986         Avoid the rounding errors of float-time when it’s easy.  E.g.,
12987         replace (< (float-time a) (float-time b)) with (time-less-p a b).
12988         * lisp/desktop.el (desktop-save):
12989         * lisp/ecomplete.el (ecomplete-add-item):
12990         * lisp/epg.el (epg-wait-for-completion):
12991         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
12992         * lisp/image-dired.el (image-dired-get-thumbnail-image)
12993         (image-dired-create-thumb-1):
12994         * lisp/info.el (info-insert-file-contents):
12995         * lisp/ls-lisp.el (ls-lisp-format-time):
12996         * lisp/net/ange-ftp.el (ange-ftp-file-newer-than-file-p)
12997         (ange-ftp-verify-visited-file-modtime):
12998         * lisp/net/rcirc.el (rcirc-ctcp-sender-PING):
12999         * lisp/textmodes/remember.el (remember-store-in-mailbox):
13000         * lisp/url/url-cookie.el (url-cookie-expired-p):
13001         Bypass float-time to avoid rounding errors.
13003         * lisp/files.el (dir-locals-find-file):
13005 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
13007         Fix xdg timestamp error on 32-bit Emacs
13009         * lisp/xdg.el (xdg-thumb-mtime): Return an Emacs timestamp,
13010         not an integer.  This avoids signaling an error on 32-bit
13011         Emacs, where timestamps typically do not fit into fixnums
13012         (Bug#28921).
13014 2017-10-22  John Williams  <jrw@pobox.com>  (tiny change)
13016         Test that advice doesn't trigger bytecomp warnings (Bug#28803)
13018         * test/lisp/emacs-lisp/bytecomp-tests.el
13019         (bytecomp-tests--test-no-warnings-with-advice): New test.
13021 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
13023         Another fix for unsafe directory error message (Bug#865)
13025         * lisp/server.el (server-ensure-safe-dir): Put file owner's uid, not
13026         current user's for the wrong owner case.  Show expanded file name in
13027         error message.
13029 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
13031         Handle https url for debbugs mbox (Bug#28831)
13033         In 2017-09-13 "Prefer HTTPS to FTP and HTTP in documentation",
13034         gnus-bug-group-download-format-alist was updated to use https for the
13035         debbugs.gnu.org mbox links, but gnus-read-ephemeral-bug-group assumed
13036         http links.
13037         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): Use
13038         url-parse functions to get the host name, instead of ad-hoc regexps.
13040 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
13042         Ignore string properties when saving eshell history (Bug#28700)
13044         * lisp/eshell/em-hist.el (eshell-write-history): Remove properties
13045         before inserting history strings.
13046         (eshell-read-history): Remove obsolete comment.
13047         * test/lisp/eshell/em-hist-tests.el (eshell-write-readonly-history):
13048         New test.
13050 2017-10-21  Michael Albinus  <michael.albinus@gmx.de>
13052         Fix Bug#28889
13054         * lisp/net/tramp.el: Change autoload cookie to tramp-autoload cookie.
13055         (tramp-completion-file-name-regexp-default)
13056         (tramp-completion-file-name-handler-alist)
13057         (tramp-completion-file-name-handler): Remove autoload cookie.
13058         (tramp-initial-completion-file-name-regexp): Remove.
13059         (tramp-autoload-file-name-regexp): New defconst.
13060         (tramp-register-autoload-file-name-handlers): Use it.
13061         (with-parsed-tramp-file-name): Adapt docstring.  Compute
13062         `tramp-file-name' slots.  (Bug#28889)
13064 2017-10-21  Glenn Morris  <rgm@gnu.org>
13066         Update describe-function for recent Fdocumentation change
13068         * lisp/help-fns.el (describe-function-1):
13069         Handle Fdocumentation returning either void or invalid.
13071 2017-10-21  Charles A. Roelli  <charles@aurox.ch>
13073         Make flymake's mouse-wheel interaction portable (Bug#28732)
13075         * lisp/progmodes/flymake.el (flymake--mode-line-format): Bind
13076         'mouse-wheel-down-event' and 'mouse-wheel-up-event' instead of
13077         'mouse-4' and 'mouse-5'.  Update the tooltip text accordingly, and
13078         remove a stray newline in it.
13080 2017-10-21  Nick Helm  <nick@tenpoint.co.nz>
13082         Prevent eldoc from changing the mode line
13084         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Don't
13085         change the mode line if it is not displayed.  (Bug#28697)
13087 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
13089         Fix doc strings in simple.el
13091         * lisp/simple.el (shell-command-saved-pos)
13092         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
13094 2017-10-21  Phil Sainty  <psainty@orcon.net.nz>
13096         Avoid creating inconsistent buffer states in term-char-mode
13098         * lisp/term.el (term-mode, term-char-mode, term-line-mode)
13099         (term-emulate-terminal): Make buffer read-only in 'term-char-mode',
13100         except for the process filter's output.  Use 'read-only-mode-hook' to
13101         track and restore the user-set state of 'buffer-read-only' for
13102         'term-line-mode'.  (Bug#24837)
13103         (term-char-mode-buffer-read-only): New user option.
13104         (term-line-mode-buffer-read-only): New buffer-local variable.
13105         (term-line-mode-buffer-read-only-update): New function.
13106         (term-char-mode, term-line-mode): Use 'term-set-goto-process-mark'
13107         in pre-command-hook, and 'term-goto-process-mark-maybe' in
13108         post-command-hook to counter-act unexpected changes to point when
13109         using 'term-char-mode'.
13110         (term-char-mode-point-at-process-mark): New user option.
13111         (term-goto-process-mark): New buffer-local variable.
13112         (term-set-goto-process-mark): New function.
13113         (term-goto-process-mark-maybe): New function.
13114         (term-process-mark): New function.
13116         * etc/NEWS: Mention the new behavior and user options.
13118 2017-10-21  Bahodir Mansurov  <bahodir@mansurov.org>  (tiny change)
13120         New input method 'usbek-cyrillic'
13122         * lisp/leim/quail/cyrillic.el (uzbek-cyrillic): New input method.
13123         (Bug#28848)
13125         * etc/NEWS: Mention the new input method.
13127 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
13129         Document 'minibuffer-with-setup-hook'
13131         * doc/lispref/minibuf.texi (Minibuffer Misc): Document
13132         minibuffer-with-setup-hook.  (Bug#28877)
13134 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
13136         Simplify make-progress-reporter vs float-time
13138         * lisp/subr.el (make-progress-reporter): Remove no-longer-needed
13139         doc and code for the case where float-time is not supported,
13140         since float-time is always present now.
13142 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
13144         Fix two more minor Gnus typos
13146         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
13147         The old code had two minor bugs: first, it multiplied by 1/65536
13148         instead of by 1/86400.  Second, it called current-time twice and
13149         glued part of the two results together, resulting in a race.
13150         Fix both bugs by simplifying the code and using
13151         time-to-number-of-days.
13153 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
13155         Fix two minor Gnus typos
13157         * lisp/gnus/gnus-sum.el (gnus-summary-import-article):
13158         Remove unused local, and fix use of local that was never assigned to.
13160 2017-10-21  Glenn Morris  <rgm@gnu.org>
13162         Tweak Fdocumentation's error for an undefined function
13164         * src/doc.c (Fdocumentation): Restore the pre-25 behavior
13165         of signalling a void-function error for an undefined function.
13166         This seems cleaner than Emacs 25's "invalid-function: nil" error,
13167         which was (probably) an unintended consequence of changes to
13168         Findirect_function.
13170 2017-10-21  Glenn Morris  <rgm@gnu.org>
13172         Tweak format of list of old files in NEWS header
13174         * etc/NEWS: Stop list of old NEWS files growing without limit.
13175         * admin/admin.el (set-version): Handle either NEWS header format.
13177 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
13179         * lisp/help-fns.el (describe-function-1):
13180         Fix help-fns-test-dangling-alias.  (Bug#28918)
13182         (cherry picked from commit e1d42f8f4a945669ff8b5159a569cb4b18f56e18)
13184 2017-10-20  Glenn Morris  <rgm@gnu.org>
13186         Fix flymake's loading of subr-x
13188         * lisp/progmodes/flymake.el, test/lisp/progmodes/flymake-tests.el:
13189         No need to load subr-x at run-time.
13191 2017-10-20  Michael Albinus  <michael.albinus@gmx.de>
13193         Fix Bug#28896
13195         * lisp/net/tramp-adb.el (tramp-adb-handle-rename-file):
13196         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
13197         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Handle FILENAME
13198         being a directory.  (Bug#28896)
13200         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
13201         (tramp-test12-rename-file): Test also FILENAME being a directory.
13203 2017-10-20  João Távora  <joaotavora@gmail.com>
13205         Skip a Flymake test for old gcc versions
13207         Fixes: 28906
13209         * test/lisp/progmodes/flymake-tests.el
13210         (different-diagnostic-types): Skip this test for gcc versions
13211         < 5.
13213 2017-10-20  Eli Zaretskii  <eliz@gnu.org>
13215         Make :align-to account for display-line-numbers
13217         These changes also update the various bundled packages to use
13218         new feature, and better support customizations of the line-number
13219         face.
13220         * src/xdisp.c (calc_pixel_width_or_height): Improve commentary.
13221         Make :align-to count from the end of the line-number display when
13222         the offset or the width form reference that of the text area.
13223         (Bug#28855)
13225         * src/indent.c (Fline_number_display_width): Implement support for
13226         the PIXELWISE argument being 'columns'.  Update the doc string.
13227         (syms_of_indent): New symbol 'columns'.
13229         * lisp/ruler-mode.el (ruler-mode-window-col, ruler-mode-ruler):
13230         Call line-number-display-width with last argument 'columns'.
13232         * lisp/proced.el (proced-header-line): Call
13233         line-number-display-width with 2nd arg 'columns', which also fixes
13234         a problem when display-line-numbers is nil.
13236         * lisp/emacs-lisp/tabulated-list.el
13237         (tabulated-list-line-number-width): Call line-number-display-width
13238         with 2nd arg 'columns.
13239         (tabulated-list-entry-lnum-width): Remove unneeded defvar.
13240         (tabulated-list-print, tabulated-list-print-entry): No need to
13241         account for the value of tabulated-list-entry-lnum-width.
13242         (tabulated-list--current-lnum-width): New defvar.
13243         (tabulated-list-watch-line-number-width): New function.
13244         (tabulated-list-mode): Bind tabulated-list--current-lnum-width
13245         locally, and set up tabulated-list-watch-line-number-width as
13246         pre-redisplay-functions hook.
13248         * doc/lispref/display.texi (Size of Displayed Text): Document the
13249         'columns' value of the PIXELWISE argument.
13250         (Pixel Specification): Update and improve the documentation of the
13251         supported forms.
13253 2017-10-20  João Távora  <joaotavora@gmail.com>
13255         Augment Flymake API for third-party extensions
13257         See
13258         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00619.html
13260         * doc/misc/flymake.texi (Flymake error types): Rewrite
13261         example.
13262         (Flymake utility functions): Augment with new API.
13264         * lisp/progmodes/flymake.el (flymake-diagnostics): New function.
13265         (flymake--diag-accessor): New helper macro.
13266         (flymake-diagnostic-buffer, flymake-diagnostic-text)
13267         (flymake-diagnostic-beg, flymake-diagnostic-end)
13268         (flymake-diagnostic-backend): Accessors for diagnostic objects.
13269         (flymake--overlays): Use flymake-diagnostic property.
13270         (flymake--highlight-line): Simplify.  Only set
13271         flymake-diagnostic property.
13272         (flymake--handle-report, flymake-goto-next-error): Use
13273         flymake-diagnostic property.
13274         (flymake-show-diagnostic): Use diagnostic object.
13275         (flymake--diagnostics-buffer-entries): Use
13276         flymake-diagnostics.
13278 2017-10-20  Glenn Morris  <rgm@gnu.org>
13280         Improve treatment of Fortran's "class default"
13282         * lisp/progmodes/f90.el (f90-start-block-re, f90-no-block-limit):
13283         Handle "class default".  (Bug#28786)
13284         * test/automated/f90.el (f90-test-bug25039): Add "class default".
13286 2017-10-20  João Távora  <joaotavora@gmail.com>
13288         Flymake backends must check proc obsoleteness in source buffer
13290         Flymake backends that rely on sentinels running asynchronously and
13291         checking buffer-local variables that hold running processes should
13292         check for obsoleteness in the correct buffers, otherwise a (harmless)
13293         warning might be triggered.
13295         * doc/misc/flymake.texi (An annotated example backend):
13296         Check buffer-local proc in the current buffer.
13298         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
13299         Check buffer-local proc in the current buffer.
13301 2017-10-19  Michael Albinus  <michael.albinus@gmx.de>
13303         Skip an rsync test in tramp-tests.el
13305         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
13306         Skip for "rsync".
13308 2017-10-19  Martin Rudalics  <rudalics@gmx.at>
13310         On Windows default a frame's border width to zero (Bug#28873)
13312         * src/w32fns.c (Fx_create_frame): Default `border-width' to zero
13313         as everywhere else, see Bug#28873.
13315 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
13317         Spelling fixes
13319         * lisp/cedet/semantic/analyze/refs.el:
13320         (semantic-analyze-proto-impl-toggle): Fix recently-introduced
13321         misspelling of pop-to-buffer-same-window.
13323 2017-10-19  Bastian Beischer  <bastian.beischer@gmail.com>  (tiny change)
13325         Use pop-to-buffer-same-window instead of switch-to-buffer
13327         * lisp/cedet/semantic/decorate/include.el
13328         (semantic-decoration-include-visit):
13329         Use pop-to-buffer-same-window instead of switch-to-buffer
13330         (bug#28645).
13332         * lisp/cedet/semantic/analyze/refs.el
13333         (semantic-analyze-proto-impl-toggle): Same.
13335         * lisp/cedet/semantic/senator.el (senator-go-to-up-reference):
13336         Same.
13338         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-visit):
13339         Same.
13341         * lisp/cedet/semantic/complete.el (semantic-complete-jump):
13342         Same.
13344 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
13346         Fix the MSDOS build.
13348         * msdos/sed1v2.inp (GETADDRINFO_A_LIBS, LIBLCMS2, XDBE_LIBS)
13349         (XDBE_FLAGS, HYBRID_MALLOC, LIBSYSTEMD_CFLAGS)
13350         (LIBSYSTEMD_LIBS): Edit to empty.
13351         (LIBRESOLV, DEPFLAGS, MKDEPDIR, YMF_PASS_LDFLAGS)
13352         (PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove editing.
13353         Remove editing of lines that are no longer present in
13354         src/Makefile.in.
13355         * msdos/sed2v2.inp (NEED_MKTIME_INTERNAL)
13356         (NEED_MKTIME_WORKING): Define to 1.
13357         (HAVE_STRUCT_DIRENT_D_TYPE): Define to 1 for
13358         DJGPP >= 2.05.
13359         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 1.
13360         Define PACKAGE_VERSION, not VERSION.
13361         (FLEXIBLE_ARRAY_MEMBER): Define to empty.
13362         (HAVE_DECL_*_UNLOCKED): Define to 0.
13363         (HAVE___BUILTIN_FRAME_ADDRESS): Define to 1.
13364         (PENDING_*): Don't define, as Gnulib no longer supports that.
13365         Instead, define _IOERR as it is in libc/file.h.
13366         * msdos/sed3v2.inp: Use $(CURDIR) instead of $(shell cd) to
13367         determine the current directory.
13368         (UPDATE_MANIFEST, UTILITIES): Don't edit.
13369         * msdos/sedlisp.inp (FIND_DELETE): Edit to "-delete".
13370         * msdos/sedlibmk.inp (AUTO_DEPEND): Define to yes.
13371         (HYBRID_MALLOC): Edit to empty.
13372         (am__cd): Don't edit.
13373         (../config.status): Replaces $(top_builddir)/config.status.
13374         Define OMIT_GNULIB_MODULE_foo = true for modules not built for
13375         MS-DOS.  Convert GL_GENERATE_xxx_H_TRUE and
13376         GL_GENERATE_xxx_H_FALSE into values of GL_GENERATE_xxx_H.
13377         * msdos/mainmake.v2 (src): Use 'compile-one-process', and make
13378         the command line shorter to fit into 126-char limit of
13379         command.com.
13380         * config.bat: Generate src/deps/*.d files.  Rename more files
13381         like djtar on plain DOS would.
13382         Don't rename src/dir.h: it is long gone.  Edit
13383         lib/gnulib.mk.in using the same scripts as for
13384         lib/Makefile.in.
13385         * msdos/depfiles.bat: Create *.d files, not *.Po.
13387         * src/thread.c (Fmake_thread) [!THREADS_ENABLED]: Improve the
13388         error message.
13389         * src/thread.h [MSDOS]: Include <signal.h>.
13390         * src/sysselect.h (select) [MSDOS]: Undefine, to avoid
13391         compilation errors.
13392         * src/sysdep.c (block_interrupt_signal, restore_signal_mask):
13393         Expose to MSDOS build.
13394         * src/process.c (update_processes_for_thread_death)
13395         [!subprocess]: No-op implementation.
13396         [HAVE_SETRLIMIT]: Move inclusion of sys/resource.h and
13397         declaration of nofile_limit outside "#ifdef subprocesses", as
13398         it's needed for MSDOS.
13399         * src/msdos.c (faccessat): Declare fullname[].
13400         * src/msdos.h (ENOTSUP): Define to be identical to ENOSYS.
13401         Include termhooks.h.
13402         * src/conf_post.h [WINDOWSNT]: Include ms-w32.h only on
13403         WINDOWSNT, not DOS_NT.
13405         * admin/admin.el (set-version): Set version on PACKAGE_VERSION.
13407 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
13409         Fix line number display after 'widen'
13411         * src/xdisp.c (maybe_produce_line_number): Don't use data cached
13412         by line-number-mode on the first redisplay after the buffer is
13413         widened.  (Bug#28879)
13415 2017-10-18  Alan Third  <alan@idiocy.org>
13417         Remove resizable attribute on macOS undecorated frames (bug#28512)
13419         * src/nsterm.m (FRAME_DECORATED_FLAGS): Remove Cocoa specific #define.
13420         (initFrameFromEmacs): Remove Cocoa specific window style attributes.
13422 2017-10-18  Martin Rudalics  <rudalics@gmx.at>
13424         Fix handling of `border-width' in `frameset--restore-frame' (Bug#28873)
13426         * lisp/frameset.el (frameset--restore-frame): Don't process
13427         `border-width' parameter via ‘modify-frame-parameters’
13428         (Bug#28873).
13430 2017-10-18  Tino Calancha  <tino.calancha@gmail.com>
13432         Mention how to send CC to > 1 address in a bug report
13434         * admin/notes/bugtracker (* More detailed information):
13435         mention how to CC to more than 1 address (Bug#28833).
13437 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
13439         Improve format-time-string doc
13441         * doc/lispref/os.texi (Time Parsing): Fix some errors in the
13442         documentation for format-time-string.  Document ^, #, %s, and %z
13443         with colons.  Say that unrecognized sequences are output as-is.
13444         * src/editfns.c (Fformat_time_string): %S can stand for 60.
13445         Also mention unrecognized sequences.
13447 2017-10-17  Eli Zaretskii  <eliz@gnu.org>
13449         Improve documentation of 'line-number-display-width'
13451         * doc/lispref/display.texi (Size of Displayed Text): Document the
13452         additional 2 columns used for line-number display.
13454         * src/indent.c (Fline_number_display_width): Doc fix.  (Bug#28248)
13456 2017-10-17  İ. Göktuğ Kayaalp  <self@gkayaalp.com>
13458         Implement vc-default-dir-extra-headers for vc-rcs
13460         Add a do-nothing implementation for vc-rcs to suppress the message which
13461         the default function adds to the vc-dir buffer (Bug#28570).
13462         * lisp/vc/vc-rcs.el (vc-rcs-dir-extra-headers): New function.
13464 2017-10-17  Martin Rudalics  <rudalics@gmx.at>
13466         In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
13468         * etc/NEWS: Mention that applications should prefer
13469         `pop-to-buffer-same-window' to `switch-to-buffer'.  (Bug#28645)
13471 2017-10-17  Tino Calancha  <tino.calancha@gmail.com>
13472             Noam Postavsky  <npostavs@gmail.com>
13474         Dont update primary selection with winner-undo
13476         * lisp/winner.el (winner-set):
13477         Dont update primary selection when select-enable-primary
13478         is non-nil (Bug#28631).
13480 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
13482         Work around ImageMagick bug 825
13484         This should fix several bugs reported recently against Emacs
13485         (Bug#28518, Bug#28626, Bug#28632, Bug#28633, Bug#28770).
13486         * src/image.c (imagemagick_load_image):
13487         Do not call MagickWandTerminus.
13489 2017-10-17  Noam Postavsky  <npostavs@gmail.com>
13491         Document rectangle-preview option more (Bug#27974)
13493         * lisp/rect.el (string-rectangle):
13494         * etc/NEWS.25: Mention `rectangle-preview'.
13496 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
13498         Do not reject https://gnu.org in commit messages
13500         * build-aux/git-hooks/commit-msg: Do not reject commit messages
13501         containing http: or ftp: URLs to gnu.org or fsf.org.  Instead,
13502         rewrite the messages to use https: URLs.
13504 2017-10-16  Gemini Lasswell  <gazally@runbox.com>
13506         Fix Edebug spec for cl-defun (bug#24255)
13508         * lisp/emacs-lisp/cl-macs.el: Modify the Edebug spec for
13509         `cl-lambda-list' to support destructuring argument lists.
13510         (cl-defun, cl-defmacro): Fix spelling errors in docstrings.
13511         * lisp/textmodes/rst.el: Remove alternate version of Edebug
13512         specs for `cl-lambda-list' and `cl-type-spec'.
13514 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
13516         Fix errors in kmacro.el post-command-hook
13518         * lisp/kmacro.el (kmacro-step-edit-active): Initialize to nil to
13519         avoid 'void-variable' errors.  (Bug#28818)
13520         * test/lisp/kmacro-tests.el
13521         (kmacro-tests-step-edit-cleans-up-hook): Now succeeds.  (Bug#18708)
13523 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
13525         Fix range-error in image-dired.el
13527         * lisp/image-dired.el (image-dired-create-thumb-1): Avoid
13528         overflowing an Emacs integer on 32-bit hosts.  (Bug#28809)
13530 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
13532         Fix 'line-number-display-width' in hscrolled windows
13534         * src/indent.c (line_number_display_width): Make sure a line
13535         number is generated even when the first line of the window is
13536         completely hscrolled out of view.  (Bug#28854)
13538 2017-10-16  Michael Albinus  <michael.albinus@gmx.de>
13540         Fix error in tramp-smb-handle-insert-directory
13542         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
13543         Insert size information only when FULL-DIRECTORY-P is non-nil.
13545 2017-10-16  Andy Moreton  <andrewjmoreton@gmail.com>
13547         Don't reject PBM header whitespace unnecessarily
13549         * lisp/image.el (image-type-header-regexps):
13550         Allow two or more CRs or LFs in initial whitespace sequences.  See:
13551         http://netpbm.sourceforge.net/doc/pbm.html
13553 2017-10-16  Paul Eggert  <eggert@cs.ucla.edu>
13555         Fix regression in display of PPM images
13557         Problem reported by Roland Winkler (Bug#28824#35).
13558         Based on a patch proposed by Andy Moreton (Bug#28824#38).
13559         * src/image.c (pbm_scan_index): New function.
13560         (pbm_load): Use it to decode raw data correctly when its top bit
13561         is set.
13563 2017-10-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
13565         Require subr-x when compiling nnimap.el
13567         * lisp/gnus/nnimap.el (require): For the when-let* macro.
13569 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
13571         Fix ert-test finding by symbol (Bug#28849)
13573         In 2017-07-28 "* lisp/subr.el (define-symbol-prop): New function", the
13574         symbol used for ert tests in load-history was changed from
13575         `ert-deftest' to `ert--test', but a couple of other places were not
13576         updated accordingly.
13577         * lisp/emacs-lisp/ert.el (ert-find-test-other-window): Pass
13578         `ert--test' as the TYPE to `find-function-do-it'.
13579         (top-level): Use `ert--test' as the key to the
13580         `find-function-regexp-alist' entry.
13582 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
13584         Don't remember old debugger window (Bug#17882)
13586         * lisp/emacs-lisp/debug.el (debug): Unset debugger-previous-window
13587         when `debugger-will-be-back' is nil.
13589 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
13591         Disable python native completion on w32 (Bug#28580)
13593         * lisp/progmodes/python.el
13594         (python-shell-completion-native-disabled-interpreters): For windows-nt
13595         systems, put an empty string to match interpreters.
13597 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
13599         Let select-frame-by-name choose any frame when called from lisp (Bug#25521)
13601         * lisp/frame.el (select-frame-by-name): Choose from the whole list of
13602         frames in the non-interactive part, if not found on the current
13603         display.
13605 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
13607         * lisp/dired-aux.el (dired-create-directory): Doc fix.
13609 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
13611         Avoid compilation warnings in optimized builds
13613         * src/process.c (Fmake_network_process):
13614         * src/image.c (xbm_scan, gif_load):
13615         * src/fileio.c (Frename_file):
13616         * src/data.c (Fmake_local_variable):
13617         * src/buffer.c (fix_start_end_in_overlays):
13618         * lib-src/etags.c (process_file_name): Mark variables with UNINIT
13619         to avoid compiler warnings in optimized builds.
13621 2017-10-15  K. Handa  <handa@gnu.org>
13623         Improve customization of arabic-shaper-ZWNJ-handling.
13625         Make the effect of customizing arabic-shaper-ZWNJ-handling appear
13626         immediately.
13627         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Add :set
13628         value.
13629         * src/composite.c (Fclear_composition_cache): New function.
13630         (syms_of_composite): Defsubr it.
13632 2017-10-15  Charles A. Roelli  <charles@aurox.ch>
13634         Improve customization type of 'mouse-drag-and-drop-region'
13636         * lisp/mouse.el (mouse-drag-and-drop-region): Provide a more
13637         precise customization type.
13639 2017-10-15  Paul Eggert  <eggert@day>
13641         Encourage https: in commit messages
13643         * CONTRIBUTE: Prefer https: when citing.
13644         * build-aux/git-hooks/commit-msg:
13645         Diagnose http: and ftp: URLs to FSF or GNU hosts.
13647 2017-10-14  Martin Rudalics  <rudalics@gmx.at>
13649         Fix wording in Elisp manual's child frames section (Bug#28819)
13651         * doc/lispref/frames.texi (Child Frames): Fix wording (Bug#28819).
13653 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
13655         Another fix for C mode fontification of w32 source files
13657         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
13658         "CALLBACK", to correctly fontify functions with this attribute.
13660 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
13662         Fix fontification of ALIGN_STACK functions
13664         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
13665         "ALIGN_STACK", to correctly fontify functions with this attribute.
13667 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
13669         Make sure thread stack is properly aligned on MS-Windows
13671         * src/systhread.c: Include w32term.h instead of windows.h.
13672         (w32_beginthread_wrapper): Add ALIGN_STACK attribute, to ensure
13673         the thread's stack is correctly aligned.
13674         * src/w32term.h (ALIGN_STACK): Update commentary.
13676 2017-10-14  Paul Eggert  <eggert@cs.ucla.edu>
13678         Do not under-align pseudovectors
13680         Problem reported by Fabrice Popineau in:
13681         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00357.html
13682         Also see diagnosis by Eli Zaretskii in:
13683         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00476.html
13684         * src/alloc.c (vector_alignment):
13685         Now a multiple of alignof (max_align_t).
13687 2017-10-13  Simen Heggestøyl  <simenheg@gmail.com>
13689         Fix indentation bug in multi-line CSS selectors
13691         * lisp/textmodes/css-mode.el (css--colon-inside-selector-p): Fix
13692         indentation of multi-line CSS selectors that include both a
13693         pseudo-class and parenthesis.
13695         * test/manual/indent/css-mode.css: Add test for the above change.
13697 2017-10-13  Andreas Schwab  <schwab@linux-m68k.org>
13699         gnutls_mac_get_nonce_size has been added in gnutls 3.3
13701         * src/gnutls.c (HAVE_GNUTLS_MAC_GET_NONCE_SIZE)
13702         [GNUTLS_VERSION_NUMBER >= 0x030300]: Define.
13703         (gnutls_mac_get_nonce_size): Depend on
13704         HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
13705         (Fgnutls_macs): Use 0 for :mac-algorithm-noncesize if
13706         !HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
13708 2017-10-13  Paul Eggert  <eggert@cs.ucla.edu>
13710         * CONTRIBUTE: Suggest American English.
13712 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
13714         Fix this-command-keys for "M-x foo" commands
13716         * src/keyboard.c (Fset__this_command_keys): Don't assume KEYS is a
13717         unibyte string.  (Bug#28798)
13719 2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>
13721         Let rename-file rename dirs across filesystems
13723         Problem diagnosed by Andreas Schwab (Bug#28792#65).
13724         This fixes a bug that I introduced in
13725         2017-09-10T22:39:24@eggert@cs.ucla.edu
13726         "Fix race with rename-file etc. with dir NEWNAME".
13727         * src/fileio.c (Frename_file): Copy a source directory across
13728         file system boundaries even if its name does not end in slash.
13730 2017-10-12  João Távora  <joaotavora@gmail.com>
13732         Simplify Flymake user documentation
13734         Fix some confusing parts of Flymake user documentation, like a
13735         repeated listing of situations leading to a syntax check.
13736         Documentation is now divided into three chapters only: "Using
13737         Flymake", "Extending Flymake", and a chapter for the legacy backend.
13739         Obsolete mention of "errors" and "lines" is replaced by
13740         "diagnostics/problems" and "regions" where appropriate.
13742         * doc/misc/flymake.texi (Overview of Flymake): Delete chapter.
13743         (Using Flymake): Merge with chapter "Overview of Flymake".
13744         (Installing Flymake): Delete chapter.
13745         (Flymake mode, Running the syntax check)
13746         (Navigating to error lines): Delete sections.
13747         (Syntax check statuses): Review and augment with x-references.
13748         (Backend exceptions): Mention shortcut in menu.
13750         * lisp/progmodes/flymake.el (flymake-menu): Tweak minor mode
13751         menu to not speak of "errors".
13752         (flymake-goto-next-error, flymake-goto-prev-error): Fix
13753         wording.
13755 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
13757         * etc/NEWS: Mention the new version of Org.
13759 2017-10-12  Noam Postavsky  <npostavs@gmail.com>
13761         Don't use (format "%s" ...) for string copying (Bug#28774)
13763         As of 2017-10-04 'Speed up (format "%s" STRING) and the like', (format
13764         "%s" STRING) no longer produces a new string.
13765         * lisp/ido.el (ido-completions): Use `copy-sequence' to make a new
13766         string, so that we can add text properties to (copies of) symbol
13767         names.
13769 2017-10-11  Alan Third  <alan@idiocy.org>
13771         Make frame-list-z-order on NS match Windows behavior (bug#28788)
13773         * src/nsfns.m (Fns_frame_list_z_order): If terminal isn't a frame,
13774         ignore it rather than returning nil.
13776 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
13778         Bump Emacs version to 26.0.90
13780         * README:
13781         * configure.ac:
13782         * msdos/sed2v2.inp:
13783         * nt/README.W32: Bump Emacs version.
13785 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
13787         Update authors.el
13789         * admin/authors.el (authors-valid-file-names)
13790         (authors-renamed-files-alist): Additions.
13792 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
13794         * admin/authors.el (authors-aliases): Additions.
13796         * ChangeLog.3: Update.
13798 2017-10-11  Radon Rosborough  <radon.neon@gmail.com>
13800         Fix docstring style for 'functionp'
13802         * src/eval.c (functionp): Make docstring start with verb.
13803         (Bug#28781)
13805 2017-10-11  Michael Albinus  <michael.albinus@gmx.de>
13807         Format shell commands in tramp.texi
13809         * doc/misc/tramp.texi (Obtaining Tramp, Remote shell setup):
13810         Format shell commands better.
13812 2017-10-10  João Távora  <joaotavora@gmail.com>
13814         Unbreak the button in the Flymake diagnostics buffer again
13816         Adding the 'keymap' property enabled RET but broke the mouse-action.
13818         * lisp/progmodes/flymake.el
13819         (flymake--diagnostics-buffer-entries): Use 'action' instead of 'keymap'.
13821 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
13823         Add mode map to Flymake diagnostic button
13825         * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): Add
13826         keymap propery.
13828 2017-10-10  João Távora  <joaotavora@gmail.com>
13830         Tweak the Flymake diagnostics buffer again
13832         * lisp/progmodes/flymake.el
13833         (flymake-diagnostics-buffer-mode-map): Don't bind [mouse-1].
13834         (flymake-show-diagnostic): Rename from
13835         flymake-show-diagnostic-at-point.  Really use another window.
13836         (flymake-goto-diagnostic): Rename from
13837         flymake-goto-diagnostic-at-point.
13838         (flymake--diagnostics-buffer-entries): Use a button just for
13839         the message bit.
13841 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
13843         Simplify Flymake diagnostics buffer UX
13845         Don't create text-buttons unnecessarily, just bind RET and SPC in the
13846         diagnostics buffer to a command that figures out which diagnostic it
13847         was invoked on.
13849         * lisp/progmodes/flymake.el
13850         (flymake--diagnostics-buffer-mode-keymap): Renamed from
13851         flymake--diagnostics-buffer-button-keymap.
13852         (flymake-show-diagnostic-at-point): Don't take a button.
13853         (flymake-goto-diagnostic-at-point): Don't pass button to
13854         flymake-show-diagnostic-at-point.
13855         (flymake--diagnostics-buffer-entries): Simplify.
13857 2017-10-10  João Távora  <joaotavora@gmail.com>
13859         First stab at a Flymake diagnostics buffer
13861         The diagnostics buffer summarizes the diagnostics of a buffer in a
13862         tabulated list and is permanently updated after each Flymake check.
13864         * lisp/progmodes/flymake.el (flymake--handle-report): Call
13865         flymake-show-diagnostics-buffer under certain conditions.
13866         (flymake-menu, flymake--diagnostics-buffer-source)
13867         (flymake--diagnostics-buffer-button-keymap)
13868         (flymake-show-diagnostic-at-point)
13869         (flymake-goto-diagnostic-at-point)
13870         (flymake--diagnostics-buffer-entries)
13871         (flymake-diagnostics-buffer-mode)
13872         (flymake--diagnostics-buffer-name)
13873         (flymake-show-diagnostics-buffer): New definitions.
13875 2017-10-10  João Távora  <joaotavora@gmail.com>
13877         * etc/NEWS (Flymake): Rewrite entry.
13879 2017-10-10  Eli Zaretskii  <eliz@gnu.org>
13881         Improve the Flymake manual
13883         * doc/misc/flymake.texi: Add a 'coding' cookie.  Add a
13884         @syncodeindex directive for @vindex.  Use 2 spaces between
13885         sentences.  Lower-case @cindex entries.
13886         (Overview of Flymake): Fix use of @itemize and @pxref.  Fix
13887         punctuation and markup.
13888         (Backend exceptions): Use @emph instead of @dfn.  Add more
13889         indexing.
13890         (Customizable variables, Extending Flymake): Improve wording.
13891         (Flymake error types): Fix usage of @itemize.  Improve wording.
13892         (Backend functions): Fix punctuation.  Fix markup.  Add a
13893         cross-reference to ELisp manual.
13894         (Flymake utility functions): Add a cross-reference to ELisp manual.
13895         (An annotated example backend): Fix punctuation and typos.
13896         (Flymake mode, Running the syntax check)
13897         (Navigating to error lines, Backend exceptions)
13898         (Customizable variables, Flymake error types, Backend functions)
13899         (Flymake utility functions, Proc customization variables)
13900         (Locating a master file, Locating the buildfile)
13901         (Starting the syntax check process, Parsing the output)
13902         (Interaction with other modes): Fix indexing.  Add index entries
13903         for functions, variables, and concepts.
13905 2017-10-10  João Távora  <joaotavora@gmail.com>
13907         Fix two Flymake bugs
13909         * lisp/progmodes/flymake.el (define-fringe-bitmap): Protect
13910         against --without-x.
13911         (flymake--mode-line-format): Ensure mode-line's mouse-4 and mouse-5 work
13912         in their own windows.
13914 2017-10-10  João Távora  <joaotavora@gmail.com>
13916         Don't log "emergencies" in the Flymake legacy backend
13918         * lisp/progmodes/flymake-proc.el (flymake-proc--panic)
13919         (flymake-proc-legacy-flymake): Don't log "emergencies"
13921 2017-10-10  João Távora  <joaotavora@gmail.com>
13923         Add full documentation on new Flymake API
13925         Also, as a minor addition to this API, set flymake-text
13926         on the diagnostic overlay.  This enables a good example in
13927         the section "Customization Flymake annotations".
13929         * doc/misc/flymake.texi (Overview of Flymake)
13930         (Syntax check statuses): Rework.
13931         (Backend exceptions): Rename from "Troubleshooting"
13932         (Customizable variables): Add flymake-start-on-flymake-mode. Rework.
13933         (Extending Flymake): Write chapter.
13934         (Customizing Flymake annotations, Flymake backends)
13935         (Flymake utility functions, An annotated example backend):
13936         New sections and subsections
13938         * lisp/progmodes/flymake.el (flymake-diagnostic-functions)
13939         (flymake-diagnostic-types-alist): Rework docstring.
13940         (flymake--highlight-line): Set and use flymake-text property in overlay.
13941         (flymake-goto-next-error, flymake-goto-prev-error): Fix funny quotes.
13943 2017-10-10  João Távora  <joaotavora@gmail.com>
13945         Fix some Flymake docstrings and messages
13947         * lisp/progmodes/flymake.el
13948         (flymake-start-on-flymake-mode): fix typo.
13949         (flymake-mode): Add docstring.
13950         (flymake-mode-line-format): Fix help-echo indications. mouse-2
13951         describes flymake-mode.
13953 2017-10-10  João Távora  <joaotavora@gmail.com>
13955         Make three new Flymake commands for debugging common problems
13957         * lisp/progmodes/flymake.el (flymake-running-backends)
13958         (flymake-disabled-backends)
13959         (flymake-reporting-backends): Make interactive.
13960         (flymake--collect): Take optional arg.
13962 2017-10-09  Nicolas Petton  <nicolas@petton.fr>
13964         * admin/authors.el (authors-renamed-files-alist): addition.
13966 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
13968         Fix PWD check on DOS_NT
13970         * src/sysdep.c (get_current_dir_name_or_unreachable):
13971         Do not consider a file name like "a:b" to be absolute on DOS_NT.
13973 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
13975         Fix unlikely overflows with wd length
13977         * src/sysdep.c (get_current_dir_name_or_unreachable):
13978         Avoid integer overflow if working directory name is absurdly long.
13979         When allocating memory for getcwd, do not exceed MAXPATHLEN.
13981 2017-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
13983         * lisp/gnus/message.el: Improve last commit
13985         (message-clone-locals): Don't mistakenly match other variables whose
13986         name happens to include "message-default-charset".
13988 2017-10-09  Ken Olum  <kdo@cosmos.phy.tufts.edu>
13990         Fix problems when editing raw undecoded message (Bug#28671)
13992         * lisp/mail/rmailedit.el (rmail-cease-edit): If rmail-old-mime-state
13993         is set, meaning that we are editing the raw message, do not
13994         encode it again.  Delete old body after, not before, inserting
13995         new, to avoid moving marker at beginning of next message.
13997 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
13999         Avoid encoding errors in message.el
14001         * lisp/gnus/message.el (message-clone-locals): Don't clone
14002         message-default-charset.  (Bug#25645)
14004 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
14006         Improve doc string and prompt of 'grep-read-files'
14008         * lisp/progmodes/grep.el (grep-read-files): Clarify in the doc
14009         string and in the prompt that shell wildcards can be used.
14010         Suggested by Allen Li <vianchielfaura@gmail.com>.  (Bug#28615)
14012 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
14014         Avoid assertion violations when line numbers are displayed
14016         * src/xdisp.c (redisplay_window): Clear the window's desired glyph
14017         matrix before calling try_window with the same starting point.
14018         This avoids assertion violations when switching from a buffer
14019         without line numbers to a buffer with line numbers.  (Bug28710)
14021 2017-10-09  João Távora  <joaotavora@gmail.com>
14023         Be lazy when starting Flymake checks
14025         Don't start the check immediately if the buffer is not being
14026         displayed.  Wait until it is, using window-configuration-change-hook.
14028         This enables the user to batch-enable flymake-mode on many buffers and
14029         not have that operation exhaust system resources for checking each
14030         one.  Likewise, an editing or save operation in a currently
14031         non-displayed buffer does not immediately start a check.
14033         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode):
14034         Rename from flymake-start-syntax-check-on-find-file.
14035         (flymake-start-syntax-check-on-find-file): Obsolete alias for
14036         flymake-start-on-flymake-mode.
14037         (flymake-start): Redesign.  Affect the global post-command-hook
14038         and local window-configuraiton-change-hook.
14039         (flymake--schedule-timer-maybe)
14040         (flymake-after-change-function, flymake-after-save-hook): Pass
14041         t to flymake-start.
14043         * test/lisp/progmodes/flymake-tests.el (flymake-tests--call-with-fixture)
14044         (dummy-backends, recurrent-backend): Start flymake check
14045         explicitly and immediately.
14047 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
14049         Fix last change in frameset.el
14051         * lisp/frameset.el (frameset-filter-font-param): Fix a thinko in
14052         filtering the 'font' parameter.  (Bug#17352)
14054 2017-10-09  Martin Rudalics  <rudalics@gmx.at>
14056         Describe how window dividers can replicate vertical borders (Bug#27830)
14058         * doc/emacs/frames.texi (Scroll Bars): Describe how window
14059         dividers can be used to replicate vertical borders when scroll
14060         bars are disabled (Bug#27830).
14061         * doc/emacs/frames.texi (Window Dividers): Mention their use
14062         in replicating vertical borders.
14064 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
14066         Add line-number faces to the display-line-numbers group
14068         See https://lists.gnu.org/r/emacs-devel/2017-10/msg00151.html
14069         and its resulting thread.
14071         * lisp/display-line-numbers.el (display-line-numbers): Add to the
14072         convenience group.
14073         * lisp/faces.el (line-number):
14074         (line-number-current-line): Add to the display-line-numbers group.
14076 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
14078         Increase xterm click count only within double-click-fuzz
14080         * lisp/xt-mouse.el (xterm-mouse-event): Save the last click's position
14081         and check it against the current click's position.  (Bug#28658)
14083 2017-10-08  Alan Third  <alan@idiocy.org>
14085         Change pause in fullscreen toggling for NS port (bug#28496)
14087         * lisp/frame.el (toggle-frame-fullscreen): Replace sit-for with
14088         sleep-for, and reduce time.
14090 2017-10-08  Michael Albinus  <michael.albinus@gmx.de>
14092         Handle PARENTS properly in tramp-*-handle-make-directory
14094         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
14095         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
14096         Handle PARENTS properly.
14098         * test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
14099         Extend test.
14101 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
14103         Improve test for unreachable dirs
14105         * src/sysdep.c (get_current_dir_name_or_unreachable):
14106         New function, with most of the old contents of
14107         emacs_get_current_dir_name.
14108         (emacs_get_current_dir_name): Use it.  Use a simpler
14109         test for unreachable directory strings, and also apply
14110         it to getcwd etc. (Bug#27871)
14112 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
14114         * src/xsmfns.c (x_session_initialize): Fix memory leak.
14116 2017-10-08  K. Handa  <handa@gnu.org>
14118         New option for handling ZWNJ in Arabic text rendering
14120         Provide a new option 'arabic-shaper-ZWNJ-handling' that controls how
14121         to display ZWNJ in Arabic text rendering (Bug#28339).
14122         * lisp/language/misc-lang.el: Register arabic-shape-gstring in
14123         composition-function-table.
14124         (arabic-shaper-ZWNJ-handling): New variable.
14125         (arabic-shape-log): New variable.
14126         (arabic-shape-gstring): New function.
14127         * lisp/composite.el (lgstring-remove-glyph): New function.
14129 2017-10-08  Noam Postavsky  <npostavs@gmail.com>
14131         Make python prettify symbols into a defvar (Bug#28713)
14133         * lisp/progmodes/python.el (python-prettify-symbols-alist): New
14134         variable.
14135         (python--prettify-symbols-alist): Make into obsolete alias for
14136         `python-prettify-symbols-alist'.
14138 2017-10-07  Alan Third  <alan@idiocy.org>
14140         Fix fullscreen crash on macOS (bug#28496)
14142         * lisp/frame.el (toggle-frame-fullscreen): Wait for animation to
14143         complete on macOS.
14145 2017-10-07  Alan Third  <alan@idiocy.org>
14147         Fix crash when closing fullscreen frame on macOS (bug#28661)
14149         * src/nsterm.m (EmacsView::windowWillResize): Return new frame size
14150         unmodified if the frame isn't live.
14152 2017-10-07  Michael Albinus  <michael.albinus@gmx.de>
14154         Support gio tool in Tramp
14156         "gvfs-<command>" utilities have been deprecated in GVFS 1.31.1.  We
14157         must use "gio <command>" tool instead.
14159         * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): New defconst.
14160         (tramp-gvfs-handle-file-notify-add-watch): Support also "gio monitor"
14161         (tramp-gvfs-gio-tool-p): New defun.
14162         (tramp-gvfs-send-command): Use it.  Call gio tool if available.
14164 2017-10-07  João Távora  <joaotavora@gmail.com>
14166         Fix flymake-goto-next-error when message has %-constructs
14168         * lisp/progmodes/flymake.el (flymake-goto-next-error): Fix
14169         message call.  Add missing period in docstring.
14171 2017-10-07  Piotr Trojanek  <piotr.trojanek@gmail.com>
14173         * src/gnutls.c (syms_of_gnutls): Remove duplicated call to DEFSYM.
14175 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
14177         Move the entry about 'format' into Incompatible Lisp Changes
14179         * etc/NEWS: Move the entry about 'format' refraining from allocating
14180         new strings into Incompatible Lisp Changes.  (Bug#28625)
14182 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
14184         Fix glitches in displaying TTY menus
14186         * src/dispnew.c (update_frame_line): Accept an additional argument
14187         UPDATING_MENU_P; if non-zero, home the cursor before updating a
14188         frame's line.  All callers changed.
14189         (update_frame_1): Accept an additional argument UPDATING_MENU_P,
14190         and pass it to update_frame_line.  All callers changed.
14191         (update_frame_with_menu): Call update_frame_1 with last argument
14192         non-zero.  (Bug#17497)
14194 2017-10-06  Gemini Lasswell  <gazally@runbox.com>
14196         Create new Edebug spec for docstrings and use it in closures
14198         Since (:documentation FORM) can be used to create a docstring
14199         when lexical-binding is on, allow for that possibility in Edebug
14200         specs (bug#24773).
14201         * lisp/emacs-lisp/edebug.el: Define an Edebug spec for docstrings
14202         called lambda-doc and modify the Edebug specs for defun and
14203         defmacro to use it.
14204         (edebug-instrument-function): Check for generic functions first,
14205         to fix bug where edebug-step-in didn't work on methods now that
14206         cl-defgeneric has an Edebug spec.
14207         * lisp/subr.el (lambda): Modify Edebug spec to use lambda-doc.
14208         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add Edebug spec
14209         (bug#27747).
14210         (cl-defmethod): Use lambda-doc in Edebug spec.
14211         * lisp/emacs-lisp/cl-macs.el: Modify Edebug spec for
14212         cl-declarations-or-string to use lambda-doc, and modify Edebug
14213         spec for cl-lambda-expr to use cl-declarations-or-string.
14214         * lisp/emacs-lisp/pcase.el (pcase-lambda): Modify Edebug spec to
14215         use lambda-doc, as well as &define and def-body which are
14216         necessary for using Edebug on code wrapped by lambda.
14217         * lisp/emacs-lisp/generator.el (iter-defun, iter-lambda): Add
14218         Edebug specs.
14220 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
14222         Avoid byte-compilation warnings in message.el
14224         * lisp/gnus/message.el: Require 'subr-x' when compiling, to
14225         avoid compiler warnings.
14227 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
14229         Fix bug in recent styled_format change
14231         Problem reported by Kaushal Modi in:
14232         https://lists.gnu.org/r/emacs-devel/2017-10/msg00141.html
14233         * src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
14234         not always followed by SAFE_FREE.  This bug was introduced in my
14235         patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
14236         unnecessary copying in Fformat etc."
14238 2017-10-06  João Távora  <joaotavora@gmail.com>
14240         Cleanup emacs-lisp-mode's use of Flymake
14242         * lisp/progmodes/elisp-mode.el (elisp-flymake--checkdoc-1):
14243         Delete.
14244         (elisp-flymake-checkdoc): Incorporate old
14245         elisp-flymake--checkdoc-1.
14246         (elisp-flymake--byte-compile-done): Simplify.  Don't cleanup
14247         here.
14248         (elisp-flymake-byte-compile): Remove spurious interactive spec.
14249         Simplify.  Cleanup on every possible exit.
14251 2017-10-06  João Távora  <joaotavora@gmail.com>
14253         Fix @include directive in Flymake doc
14255         * doc/misc/flymake.texi: Don't @include a relative path.
14257 2017-10-06  Mark Oteiza  <mvoteiza@udel.edu>
14259         Move read-multiple-choice to its own library
14261         * lisp/emacs-lisp/rmc.el: New file.
14262         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Remove.
14263         * lisp/gnus/message.el:
14264         * lisp/net/nsm.el: Change required library.
14266 2017-10-06  Piotr Trojanek  <piotr.trojanek@gmail.com>
14268         * src/process.c (syms_of_process): Remove duplicated call to DEFSYM.
14270         Fixes: Bug#28721
14272 2017-10-06  Lele Gaifax  <lele@metapensiero.it>
14274         Fix typos in Flymake documentation
14276         * doc/misc/flymake.texi (Syntax check statuses)
14277         (Adding support for a new syntax check tool)
14278         (Implementation overview, Locating the buildfile): Fix typos.
14280         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn)
14281         (flymake-proc--find-possible-master-files):Fix typos.
14282         (flymake-proc--panic)
14283         (flymake-proc-legacy-flymake): Fix function reference in doc.
14285         * lisp/progmodes/flymake.el (flymake-error)
14286         (flymake-diagnostic-functions): Fix typos.
14287         (flymake-diagnostic-types-alist): Rephrase and fix typos.
14288         (flymake--backend-state): Fix typos and rephrase.
14289         (flymake--handle-report): Delete empty line.
14290         (flymake--disable-backend)
14291         (flymake--run-backend): Fix typos.
14292         (flymake-goto-next-error, flymake-goto-prev-error): Rephrase.
14294 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
14296         Revert last change in 'shr-descend'
14298         * lisp/net/shr.el (shr-descend): Revert the part of the last
14299         change which introduced calls to shr-indirect-call into this
14300         function.  Add a comment explaining the rationale for that.
14301         (Bug#28402)
14303 2017-10-06  João Távora  <joaotavora@gmail.com>
14305         Don't error when turning on Flymake with no known backends
14307         Leave it to the mode line indicator to inform the user that there
14308         is still some configuration to do.
14310         * lisp/progmodes/flymake.el (flymake-mode): Simplify.
14312 2017-10-06  João Távora  <joaotavora@gmail.com>
14314         Delete a Flymake obsolete alias that can't possibly work
14316         The function `flymake-ler-make-ler' can't possibly work as an backward
14317         compatible interface to existing extensinos (even purely hypothetical
14318         ones, since none are known).  This is because every diagnostic
14319         considered by Flymake has to passed to a report-fn function.
14321         * lisp/progmodes/flymake.el (flymake-ler-make-ler): Delete.
14323 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
14325         Fix bug with unmounted directory on GNU/Linux
14327         * src/sysdep.c (emacs_get_current_dir_name): Do not use
14328         get_current_dir_name result unless it is absolute (Bug#27871).
14331 2017-10-05  Nicolas Petton  <nicolas@petton.fr>
14333         Update authors.el
14335         * admin/authors.el (authors-renamed-files-alist)
14336         (authors-valid-file-names): Additions.
14338 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
14340         Fix dynamic binding wrapper in iter-lambda (bug#25965)
14342         * lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
14343         Remove extra evaluation of form.
14344         * test/lisp/emacs-lisp/generator-tests.el
14345         (cps-iter-lambda-with-dynamic-binding): New test.
14347 2017-10-05  Rasmus  <rasmus@gmx.us>
14349         Update Org to v9.1.2
14351         Please note this is a bugfix release.  See etc/ORG-NEWS for details.
14353 2017-10-05  Alan Mackenzie  <acm@muc.de>
14355         Fix irregularities with CC Mode fontification, particularly with "known types"
14357         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
14358         optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
14359         type.
14360         (c-font-lock-single-decl): New variable template-class, set to non-nil when we
14361         have a construct like the above.  Pass this as argument to
14362         c-font-lock-declarators.
14363         (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
14364         being processed starts before the function's starting position.
14365         (c-complex-decl-matchers): Remove the redundant clause which fontified "types
14366         preceded by, e.g., "struct"".
14368         * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
14369         (c-template-typename-key): New lang defconsts and defvar.
14371 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
14373         Fix breakage due to recent change in tabulated-list-print-entry
14375         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
14376         Update the doc string.
14377         (tabulated-list-print-entry): Revert to using only 2 arguments.
14378         Update the doc string.
14379         (tabulated-list-entry-lnum-width): New defvar.
14380         (tabulated-list-print): Compute the width of line-number display
14381         once, then store that value in tabulated-list-entry-lnum-width,
14382         for tabulated-list-printer to use.  (Bug#28704)
14384 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
14386         * lisp/ses.el (ses-print-cell): Fix alignment of text cells.  (Bug#27653)
14388 2017-10-05  Alexander Gramiak  <agrambot@gmail.com>
14390         Set xterm click count to 1 even with no last click
14392         * lisp/xt-mouse.el (xterm-mouse-event): Move the check for
14393         the last click so that click-count is initialized properly.
14394         Handle the value of t for double-click-time.
14395         (Bug#28658)
14397 2017-10-05  Vasilij Schneidermann  <mail@vasilij.de>
14399         Support indirection for all shr-tag-* calls
14401         The 'shr-external-rendering-functions' variable was previously only
14402         honored in the shr-descend function, now all direct calls to the
14403         shr-tag-* functions have been replaced by a call to
14404         'shr-indirect-call' which tries using an alternative rendering
14405         function first.
14407         * lisp/net/shr.el (shr-indirect-call): New helper function.
14408         (shr-descend, shr-tag-object, shr-tag-video):
14409         (shr-collect-extra-strings-in-table): Fix callers to call via
14410         shr-indirect-call.  (Bug#28402)
14412 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
14414         Speed up list-packages when 'visual' line numbers are displayed
14416         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
14417         Update the doc string.
14418         (tabulated-list-print-entry): Accept an additional optional
14419         argument INDENT.  Update the doc string.
14420         (tabulated-list-print): Compute the width of line-number display
14421         once, then call tabulated-list-printer with that value as 3rd
14422         argument.  (Bug#28704)
14424 2017-10-05  João Távora  <joaotavora@gmail.com>
14426         Misc. minor adjustments to Flymake
14428         - Add a half-decent minor-mode menu;
14429         - Fix "waiting for backends" mode line message;
14430         - Adjust the flymake-diag-region API;
14431         - Autoload the flymake-log macro;
14432         - Auto-disable the legacy backend in more situations;
14433         - Fix a couple of warnings in legacy backend.
14435         * lisp/progmodes/flymake-proc.el
14436         (flymake-proc--diagnostics-for-pattern): Use new
14437         flymake-diag-region.
14439         * lisp/progmodes/flymake-proc.el
14440         (flymake-proc-legacy-flymake): Do error when no
14441         buffer-file-name or not writable.
14442         (flymake-proc-legacy-flymake)
14443         (flymake-proc-simple-cleanup): Don't reference flymake-last-change-time
14445         * lisp/progmodes/flymake.el (flymake-diag-region):
14446         Autoload.  Take buffer as first argument.
14448         * lisp/progmodes/flymake.el (flymake-switch-to-log-buffer):
14449         New command.
14450         (flymake-menu): Add a simple menu.
14451         (flymake--mode-line-format): Use menu.  Fix message.  Switch to
14452         log buffer when clicking exceptional warnings.
14454 2017-10-05  Johan Bockgård  <bojohan@gnu.org>
14456         Fix search for ~/.Xdefaults-HOSTNAME
14458         * src/xrdb.c (get_environ_db): Fix typo when handling
14459         ~/.Xdefaults-HOSTNAME (Bug#28708).
14461 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
14463         Speed up (format "%s" STRING) and the like
14465         Although the Lisp manual said that ‘format’ returns a
14466         newly-allocated string, this was not true for a few cases like
14467         (format "%s" ""), and fixing the documentation to allow reuse of
14468         arguments lets us improve performance in common cases like
14469         (format "foo") and (format "%s" "foo") (Bug#28625).
14470         * doc/lispref/strings.texi (Formatting Strings):
14471         * etc/NEWS:
14472         Say that the result of ‘format’ might not be newly allocated.
14473         * src/callint.c (Fcall_interactively):
14474         * src/dbusbind.c (XD_OBJECT_TO_STRING):
14475         * src/editfns.c (Fmessage, Fmessage_box):
14476         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
14477         Just use Fformat or Fformat_message, as that’s simpler and no
14478         longer makes unnecessary copies.
14479         * src/editfns.c (styled_format): Remove last argument, as it
14480         is no longer needed: all callers now want it to behave as if it
14481         were true.  All remaining callers changed.  Make this function
14482         static again.  Simplify the function now that we no longer
14483         need to worry about whether the optimization is allowed.
14485 2017-10-04  Alan Mackenzie  <acm@muc.de>
14487         Fontify untyped function declarations in C Mode correctly.
14489         Also correct two bugs where deleting WS at a BOL could leave an untyped
14490         function declaration unfontified.
14492         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Don't set the flag
14493         "top-level" when we're in a macro.
14494         (c-forward-decl-or-cast-1): Recognize top-level "foo(bar)" or "foo()" in C
14495         Mode as a implicitly typed function declaration.
14496         (c-just-after-func-arglist-p): Don't get confused by "defined (foo)" inside a
14497         macro.  It's not a function plus arglist.
14499         * lisp/progmodes/cc-langs.el (c-cpp-expr-functions-key): New defconst and
14500         defvar.
14502         * lisp/progmodes/cc-mode.el (c-fl-decl-end): After c-forward-declarator, move
14503         over any following parenthesis expression (i.e. parameter list).
14504         (c-change-expand-fl-region): When c-new-END is at a BOL, include that line in
14505         the returned region, to cope with deletions at column 0.
14507 2017-10-04  Michael Albinus  <michael.albinus@gmx.de>
14509         * lisp/net/tramp.el (tramp-tramp-file-p): Use `string-match-p'.
14511         Reported by Clément Pit-Claudel <cpitclaudel@gmail.com>.
14513 2017-10-04  Eli Zaretskii  <eliz@gnu.org>
14515         Avoid crashes on C-g when several threads wait for input
14517         * src/thread.h (m_getcjmp): New member of 'struct thread_state'.
14518         (getcjmp): Define to current thread's 'm_getcjmp'.
14519         * src/thread.c (maybe_reacquire_global_lock): Switch to main
14520         thread, since this is called from a SIGINT handler, which always
14521         runs in the context of the main thread.
14522         * src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
14523         definitions before thread.h is included, as thread.h now uses
14524         sys_jmp_buf.
14525         * src/keyboard.c (getcjmp): Remove declaration.
14526         (read_char): Don't call maybe_reacquire_global_lock here.
14527         (handle_interrupt): Call maybe_reacquire_global_lock here, if
14528         invoked from the SIGINT handler, to make sure
14529         quit_throw_to_read_char runs with main thread's Lisp bindings and
14530         uses the main thread's jmp_buf buffer.  (Bug#28630)
14532 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
14534         Warn if --without-pop is now the default
14536         * configure.ac (with_pop): Set to no-by-default if defaulting to "no".
14537         Warn about the change if defaulting to "no".  Update URLs.
14539 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
14541         --with-pop is now the default only on MS-Windows
14543         Problem reported by N. Jackson (Bug#28597).
14544         This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
14545         * INSTALL, configure.ac, etc/NEWS:
14546         Make --with-pop the default only on native MS-Windows.
14548 2017-10-03  Michael Albinus  <michael.albinus@gmx.de>
14550         Add support for `file-system-info' in Tramp
14552         * lisp/net/tramp.el (tramp-file-name-for-operation):
14553         Add `file-system-info'.
14555         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
14556         (tramp-adb-file-name-handler-alist): Use it.
14558         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
14559         (tramp-gvfs-file-system-attributes-regexp): New defconst.
14560         (tramp-gvfs-handle-file-system-info): New defun.
14561         (tramp-gvfs-file-name-handler-alist): Use it.
14562         (tramp-gvfs-get-directory-attributes): Fix property name.
14563         (tramp-gvfs-get-root-attributes): Support also file system attributes.
14565         * lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
14566         (tramp-sh-file-name-handler-alist): Use it.
14567         (tramp-sh-handle-insert-directory): Insert size information.
14568         (tramp-get-remote-df): New defun.
14570         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
14571         (tramp-smb-file-name-handler-alist): Use it.
14572         (tramp-smb-handle-insert-directory): Insert size information.
14574         * test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
14575         New test.
14576         (tramp-test38-asynchronous-requests)
14577         (tramp-test39-recursive-load, tramp-test40-remote-load-path)
14578         (tramp-test41-unload): Rename.
14580 2017-10-03  João Távora  <joaotavora@gmail.com>
14582         Merge branch 'scratch/flymake-refactor-clean-for-emacs-26' into emacs-26
14584 2017-10-03  João Távora  <joaotavora@gmail.com>
14586         Start rewriting Flymake manual
14588         Missing the parts pertaining to the new customization API.
14590         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
14591         (Installing Flymake): Delete most of this.
14592         (Running the syntax check): Mention flymake-start.
14593         (Navigating to error lines): Rewrite.
14594         (Viewing error messages): Commente out.
14595         (Syntax check statuses, Troubleshooting): Rewrite a bit.
14596         (Customizable variables): New section under "Using
14597         Flymake".  Don't mention any proc variables here.
14598         (Configuring Flymake): Delete
14599         (Proc backend): New chapter
14600         (Proc customization variables): New chapter.
14602         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
14603         (Installing Flymake): Mostly scratch. Flymake comes with Emacs.
14604         (Running the syntax check): Simplify.
14605         (Viewing error messages): Dekete,
14606         (Syntax check statuses): Rewrite.
14607         (Troubleshooting): Simplify.
14608         (Customizable variables): Rewrite.
14609         (Extending Flymake): New chapter, empty for now.
14610         (The legacy Proc backend): New chapter.
14611         (Proc customizable variables)
14612         (Adding support for a new syntax check tool)
14613         (Implementation overview)
14614         (Making a temporary copy)
14615         (Locating a master file)
14616         (Getting the include directories)
14617         (Locating the buildfile)
14618         (Starting the syntax check process)
14619         (Parsing the output)
14620         (Interaction with other modes)
14621         (Example---Configuring a tool called via make)
14622         (Example---Configuring a tool called directly): Rewrite a bit.
14624 2017-10-03  João Távora  <joaotavora@gmail.com>
14626         Minimal tweak as an attempt to future-proof Flymake API
14628         Discussed with Stefan that this should allow Flymake to request more
14629         from backends in the future, while also allowing backends to report
14630         more accurately.
14632         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc)
14633         (elisp-flymake-byte-compile): Adjust to new API.
14635         * lisp/progmodes/flymake-proc.el ()
14636         (flymake-proc-legacy-flymake): Adjust to new API.
14638         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
14639         Review API again.
14640         (flymake--handle-report): Allow other keys.  Change ACTION to
14641         REPORT-ACTION.
14643 2017-10-03  João Távora  <joaotavora@gmail.com>
14645         Integrate Flymake elisp checkers into elisp-mode.el directly
14647         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Use
14648         elisp-flymake-checkdoc and elisp-flymake-byte-compile.
14649         (elisp-flymake--checkdoc-1, elisp-flymake-checkdoc)
14650         (elisp-flymake--byte-compile-done)
14651         (elisp-flymake--byte-compile-process)
14652         (elisp-flymake-byte-compile): Rename from flymake-elisp
14653         counterparts in deleted flymake-elisp.el
14654         (elisp-flymake--batch-compile-for-flymake): New helper.
14655         (checkdoc-create-error-function)
14656         (checkdoc-autofix-flag)
14657         (checkdoc-generate-compile-warnings-flag)
14658         (checkdoc-diagnostic-buffer): Forward declare.
14660         * lisp/progmodes/flymake-elisp.el: Delete.
14662 2017-10-03  João Távora  <joaotavora@gmail.com>
14664         Hook Flymake onto proper checkdoc and byte-compile interfaces
14666         The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate,
14667         with little knowledge of actual internals or thought given to the
14668         usefulness of said interfaces in contexts other than Flymake's.
14670         * lisp/emacs-lisp/bytecomp.el
14671         (byte-compile-log-warning-function): New variable.
14672         (byte-compile-log-warning): Use it.
14673         (byte-compile--log-warning-for-byte-compile): New function.
14675         * lisp/emacs-lisp/checkdoc.el
14676         (checkdoc-create-error-function): New variable.
14677         (checkdoc-create-error): Use it.
14678         (checkdoc--create-error-for-checkdoc): New function.xo
14680         * lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1):
14681         Use checkdoc-create-error-function.
14682         (flymake-elisp--batch-byte-compile): Use
14683         byte-compile-log-warning-function.
14685 2017-10-03  João Távora  <joaotavora@gmail.com>
14687         Tweak Flymake autoloads and dependencies
14689         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add to
14690         flymake-diagnostic-functions here.
14692         * lisp/progmodes/flymake-elisp.el[top]: Don't add to
14693         emacs-lisp-mode-hook.  Don't call flymake-elisp-setup-backends in
14694         every buffer.  (flymake-elisp-checkdoc) (flymake-elisp-byte-compile):
14695         Autoload.  (flymake-elisp-setup-backends): Remove.
14697         * lisp/progmodes/flymake.el: Add some top-level comments.
14698         (flymake-make-diagnostic)
14699         (flymake-mode, flymake-mode-on, flymake-mode-off): Add autoloads
14701         Where to fixup this shit?
14703 2017-10-03  João Távora  <joaotavora@gmail.com>
14705         Capitalize "Flymake" in docstrings and comments
14707         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
14708         (flymake-elisp-setup-backends): Capitalize "Flymake"
14710         * lisp/progmodes/flymake-proc.el:
14711         (flymake-proc-reformat-err-line-patterns-from-compile-el)
14712         (flymake-proc--panic, flymake-proc-legacy-flymake)
14713         (flymake-start-syntax-check, flymake-proc-compile)
14714         (define-obsolete-variable-alias): Capitalize "Flymake"
14716         * lisp/progmodes/flymake.el (flymake-fringe-indicator-position)
14717         (flymake-make-diagnostic, flymake-delete-own-overlays)
14718         (flymake-diagnostic-functions)
14719         (flymake-diagnostic-types-alist, flymake-is-running)
14720         (flymake-make-report-fn, flymake-mode-on, flymake-mode-off)
14721         (flymake-goto-next-error, flymake-goto-prev-error): Capitalize "Flymake"
14723 2017-10-03  João Távora  <joaotavora@gmail.com>
14725         Flymake backends can report multiple times per check
14727         Rewrote a significant part of the Flymake backend API.  Flymake now
14728         ignores the return value of backend functions: a function can either
14729         returns or errors.  If it doesn't error, a backend is no longer
14730         constrained to call REPORT-FN exactly once.  It may do so any number
14731         of times, cumulatively reporting diagnostics.  Flymake keeps track of
14732         outdated REPORT-FN instances and disconsiders obsolete reports.
14733         Backends should avoid reporting obsolete data by canceling any
14734         ongoing processing at every renewed call to the backend function.
14736         Consolidated flymake.el internal data structures to require less
14737         buffer-local variables.  Adjusted Flymake's mode-line indicator to the
14738         new semantics.
14740         Adapted and simplified the implementation of elisp and legacy
14741         backends, fixing potential race conditions when calling backends in
14742         rapid succession.
14744         Added a new test for a backend that calls REPORT-FN multiple
14745         times.  Simplify test infrastructure.
14747         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
14748         (flymake-elisp-byte-compile): Error instead of returning nil
14749         if not in emacs-lisp-mode.
14750         (flymake-elisp--byte-compile-process): New buffer-local variable.
14751         (flymake-elisp-byte-compile): Mark (and kill) previous process
14752         obsolete process before starting a new one.  Don't report if
14753         obsolete process.
14755         * lisp/progmodes/flymake-proc.el
14756         (flymake-proc--current-process): New buffer-local variable.
14757         (flymake-proc--processes): Remove.
14758         (flymake-proc--process-filter): Don't bind
14759         flymake-proc--report-fn.
14760         (flymake-proc--process-sentinel): Rewrite.  Don't report if
14761         obsolete process.
14762         (flymake-proc-legacy-flymake): Rewrite.  Mark (and kill)
14763         previous process obsolete process before starting a new
14764         one.  Integrate flymake-proc--start-syntax-check-process
14765         helper.
14766         (flymake-proc--start-syntax-check-process): Delete.
14767         (flymake-proc-stop-all-syntax-checks): Don't use
14768         flymake-proc--processes, iterate buffers.
14769         (flymake-proc-compile):
14771         * lisp/progmodes/flymake.el (subr-x): Require it
14772         explicitly.
14773         (flymake-diagnostic-functions): Reword docstring.
14774         (flymake--running-backends, flymake--disabled-backends)
14775         (flymake--diagnostics-table): Delete.
14776         (flymake--backend-state): New buffer-local variable and new defstruct.
14777         (flymake--with-backend-state, flymake--collect)
14778         (flymake-running-backends, flymake-disabled-backends)
14779         (flymake-reporting-backends): New helpers.
14780         (flymake-is-running): Use flymake-running-backends.
14781         (flymake--handle-report): Rewrite.
14782         (flymake-make-report-fn): Ensure REPORT-FN runs in the correct
14783         buffer or not at all.
14784         (flymake--disable-backend, flymake--run-backend): Rewrite.
14785         (flymake-start): Rewrite.
14786         (flymake-mode): Set flymake--backend-state.
14787         (flymake--mode-line-format): Rewrite.
14789         * test/lisp/progmodes/flymake-tests.el
14790         (flymake-tests--wait-for-backends): New helper.
14791         (flymake-tests--call-with-fixture): Use it.
14792         (included-c-header-files): Fix whitespace.
14793         (flymake-tests--diagnose-words): New helper.
14794         (dummy-backends): Rewrite for new semantics.  Use cl-letf.
14795         (flymake-tests--assert-set): Use quote.
14796         (recurrent-backend): New test.
14798 2017-10-03  João Távora  <joaotavora@gmail.com>
14800         Flymake uses proper idle timers
14802         Also, flymake-no-changes-timeout can be set to nil to disable
14803         automatic periodic checks.  But even in that situation the idle timer
14804         still runs at a reduced rate to detect changes in the variable and
14805         revert that decision.
14807         * lisp/progmodes/flymake.el (flymake-no-changes-timeout): Improve doc.
14808         (flymake-last-change-time): Delete.
14809         (flymake--schedule-timer-maybe): New helper.
14810         (flymake-after-change-function): Use it.
14811         (flymake-on-timer-event): Delete
14812         (flymake-mode): Don't scheduler timer.
14814 2017-10-03  João Távora  <joaotavora@gmail.com>
14816         Flymake variable flymake-diagnostic-functions now a special hook
14818         * lisp/progmodes/flymake-proc.el: Use add-hook to affect
14819         flymake-diagnostic-functions.
14821         * lisp/progmodes/flymake-elisp.el
14822         (flymake-elisp-setup-backends): Use add-hook.
14824         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
14825         Revise docstring.
14826         (flymake-start): Use run-hook-wrapped.
14828 2017-10-03  João Távora  <joaotavora@gmail.com>
14830         Batch of minor Flymake cleanup actions agreed to with Stefan
14832         Discussed with Stefan, in no particular order
14834         - Remove aliases for symbols thought to be internal to flymake-proc.el
14835         - Don’t need :group in defcustom and defface in flymake.el
14836         - Fix docstring of flymake-make-diagnostic
14837         - Fix docstring of flymake-diagnostic-functions to clarify keywords.
14838         - Mark overlays with just the property ’flymake, not ’flymake-overlay
14839         - Tune flymake-overlays for performance
14840         - Make flymake-mode-on and flymake-mode-off obsolete
14841         - Don’t use hash-table-keys unless necessary.
14842         - Copyright notice in flymake-elisp.
14844         Added some more
14846         - Clarify docstring of flymake-goto-next-error
14847         - Clarify a comment in flymake--run-backend complaining about ert-deftest.
14848         - Prevent compilation warnings in flymake-proc.el
14849         - Remove doctring from obsolete aliases
14851         Now the changelog:
14853         * lisp/progmodes/flymake-elisp.el: Proper copyright notice.
14855         * lisp/progmodes/flymake-proc.el (flymake-warning-re)
14856         (flymake-proc-diagnostic-type-pred)
14857         (flymake-proc-default-guess)
14858         (flymake-proc--get-file-name-mode-and-masks): Move up to
14859         beginning of file to shoosh compiler warnings
14860         (define-obsolete-variable-alias): Delete many obsolete aliases.
14862         * lisp/progmodes/flymake.el (flymake-error-bitmap)
14863         (flymake-warning-bitmap, flymake-note-bitmap)
14864         (flymake-fringe-indicator-position)
14865         (flymake-start-syntax-check-on-newline)
14866         (flymake-no-changes-timeout, flymake-gui-warnings-enabled)
14867         (flymake-start-syntax-check-on-find-file, flymake-log-level)
14868         (flymake-wrap-around, flymake-error, flymake-warning)
14869         (flymake-note): Don't need :group in these defcustom and defface.
14870         (flymake--run-backend): Clarify comment
14871         (flymake-mode-map): Remove.
14872         (flymake-make-diagnostic): Fix docstring.
14873         (flymake--highlight-line, flymake--overlays): Identify flymake
14874         overlays with just ’flymake.
14875         (flymake--overlays): Reverse order of invocation for
14876         cl-remove-if-not and cl-sort.
14877         (flymake-mode-on)
14878         (flymake-mode-off): Make obsolete.
14879         (flymake-goto-next-error, flymake-goto-prev-error): Fix docstring.
14880         (flymake-diagnostic-functions): Clarify keyword arguments in
14881         docstring.
14883         Maybe squash in that one where I remove many obsoletes
14885 2017-10-03  João Távora  <joaotavora@gmail.com>
14887         Explicitly add a(n empty) keymap for Flymake
14889         Too early to decide what will be in it, if anything.  Though "M-n" and
14890         "M-p" would be great.
14892         * lisp/progmodes/flymake-ui.el (flymake-mode-map): New variable
14894 2017-10-03  João Távora  <joaotavora@gmail.com>
14896         Flymake uses some new fringe bitmaps
14898         Also fix behavior whereby flymake wouldn't react to a change in the
14899         variable.
14901         * lisp/progmodes/flymake-ui.el (flymake-error-bitmap)
14902         (flymake-warning-bitmap): Update bitmaps.
14903         (flymake-note-bitmap): New defcustom.
14904         (flymake-double-exclamation-mark): New bitmap.
14905         (flymake-error, flymake-warning, flymake-note)
14906         (flymake--highlight-line): 'bitmap property must be a symbol.
14907         Also set default face to flymake-error.
14908         (flymake--fringe-overlay-spec): Bitmap property can be a
14909         variable symbol.
14911 2017-10-03  João Távora  <joaotavora@gmail.com>
14913         Remove old flymake-display-err-menu-for-current-line, it's useless
14915         See https://lists.gnu.org/r/emacs-devel/2017-09/msg00949.html
14917         * lisp/progmodes/flymake-ui.el
14918         (flymake-popup-current-error-menu): Remove.
14920 2017-10-03  João Távora  <joaotavora@gmail.com>
14922         Treat Flymake errors as just another type of diagnostic
14924         * lisp/progmodes/flymake.el (flymake--diag-errorp): Remove.
14925         (flymake--handle-report, flymake-popup-current-error-menu):
14926         Don't use it.
14928 2017-10-03  João Távora  <joaotavora@gmail.com>
14930         Fix three Flymake bugs when checking C header files
14932         The first of these problems is longstanding: if an error-less B.h is
14933         included from error-ridden A.h, flymake's legacy parser will panic
14934         (and disable itself) since it sees a non-zero exit for a clean file.
14935         To fix this, recommend returning 'true' in the documentation for the
14936         check-syntax target.
14938         Another problem was introduced by the parser rewrite.  For error
14939         patterns spanning more than one line, point may be left in the middle
14940         of a line and thus render other patterns useless.  Those patterns were
14941         written for the old line-by-line parser.  To make them useful again,
14942         move to the beginning of line in those situations.
14944         The third problem was also longstanding and happened on newer GCC's:
14945         The "In file included from" prefix confused
14946         flymake-proc-get-real-file-name.  Fix this.
14948         Also updated flymake--diag-region to fallback to highlighting a full
14949         line less often.
14951         Add automatic tests to check this.
14953         * lisp/progmodes/flymake-proc.el
14954         (flymake-proc--diagnostics-for-pattern): Fix bug when patterns
14955         accidentally spans more than one line.  Don't create
14956         diagnostics without error messages.
14957         (flymake-proc-real-file-name-considering-includes): New
14958         helper.
14959         (flymake-proc-allowed-file-name-masks): Use it.
14961         * lisp/progmodes/flymake.el (flymake-diag-region): Make COL
14962         argument explicitly optional.  Only fall back to full line in extreme
14963         cases.
14965         * test/lisp/progmodes/flymake-tests.el
14966         (included-c-header-files): New test.
14967         (different-diagnostic-types): Update.
14969         * test/lisp/progmodes/flymake-resources/Makefile
14970         (check-syntax): Always return success (0) error code.
14971         (CC_OPTS): Add -Wextra
14973         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c
14974         (main): Rewrite comments.
14976         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
14977         Include some dummy header files.
14979         * test/lisp/progmodes/flymake-resources/no-problems.h: New file.
14981         * test/lisp/progmodes/flymake-resources/some-problems.h: New file.
14983         * doc/misc/flymake.texi (Example---Configuring a tool called
14984         via make): Recommend adding "|| true" to the check-syntax target.
14986 2017-10-03  João Távora  <joaotavora@gmail.com>
14988         Add interactive flymake-start function
14990         * lisp/progmodes/flymake.el (flymake-on-timer-event)
14991         (flymake-after-change-function, flymake-mode): Call
14992         flymake-start.
14993         (flymake-start): Rename from flymake--start-syntax-check.
14995 2017-10-03  João Távora  <joaotavora@gmail.com>
14997         A couple of Flymake backends for emacs-lisp-mode
14999         Loading flymake-elisp.el doesn't setup flymake-mode to turn on
15000         automatically, but it affects emacs-lisp-mode-hook so that
15001         flymake-diagnostic-functions is setup with a suitable buffer-local
15002         value.  The variable flymake-diagnostic-funtions in every live
15003         emacs-lisp-mode buffer is also adjusted.
15005         * lisp/progmodes/flymake.el (top): Require flymake-elisp.
15007         * lisp/progmodes/flymake-elisp.el: New file.
15009 2017-10-03  João Távora  <joaotavora@gmail.com>
15011         Fancy Flymake mode-line construct displays status
15013         Imitates compilation-mode's mode-line a bit, and uses its faces.
15015         * lisp/progmodes/flymake.el
15016         (flymake-error, flymake-warning, flymake-note): Add
15017         mode-line-face to these flymake error types.
15018         (flymake-note): Notes don't need a noisy fringe bitmap.
15019         (flymake-lighter): Delete.
15020         (flymake--update-lighter): Delete.
15021         (flymake--mode-line-format): New function and variable.
15022         (flymake--diagnostics-table): New buffer-local variable.
15023         (flymake--handle-report): Don't update "lighters".  Affect
15024         flymake--diagnostics-table.
15025         (flymake--run-backend): Init flymake--diagnostics-table for backend.
15026         (flymake-mode): Use flymake--mode-line-format.
15027         (flymake-mode): Don't update lighter.
15028         (flymake--highlight-line): Be more careful when overriding a
15029         nil default overlay property.
15031 2017-10-03  João Távora  <joaotavora@gmail.com>
15033         Tweak Flymake commands flymake-goto-[next/prev]-error
15035         Add filters, useful for backends like the upcoming
15036         flymake-elisp-checkdoc backend, for example, which litters everything
15037         with low-priority notes.
15039         Also re-implement wraparound for flymake-goto-next-error. Manual
15040         mentions this, so it's probably a good idea to keep it.  Added a new
15041         customization variable flymake-wrap-around to control it.
15043         * lisp/progmodes/flymake.el (flymake-goto-prev-error)
15044         (flymake-goto-next-error): Accept FILTER argument.
15045         (flymake-wrap-around): New variable.
15046         (flymake-goto-next-error): Wrap around according to flymake-wrap-around.
15048         * test/lisp/progmodes/flymake-tests.el
15049         (different-diagnostic-types, dummy-backends): Pass FILTER to
15050         flymake-goto-prev-error.
15051         (different-diagnostic-types)
15052         (dummy-backends): Use flymake-wrap-around.
15054 2017-10-03  João Távora  <joaotavora@gmail.com>
15056         Flymake's flymake-proc.el backend slightly easier to debug
15058         Misc cleanup in flymake-proc.el
15060         Improve description of what this file contains.
15062         Better name for the backend function.  Fix the case where it is run
15063         interactively.
15065         Keep the output buffer alive iff the external process panics.
15067         * lisp/progmodes/flymake-proc.el
15068         (flymake-proc-legacy-flymake): Rename from
15069         flymake-proc-start-syntax-check.  Allow running interactively.
15070         (flymake-start-syntax-check): Obsolete alias for
15071         flymake-proc-legacy-flymake.
15072         (flymake-proc-start-syntax-check): Delete.
15073         (flymake-diagnostic-functions): Include flymake-proc-legacy-flymake
15074         (flymake-proc--process-sentinel): Keep output buffer alive.
15075         Clarify with comments.
15076         (flymake-proc--diagnostics-for-pattern)
15077         (flymake-proc--process-sentinel)
15078         (flymake-proc--safe-delete-directory)
15079         (flymake-proc--start-syntax-check-process): Use condition-case-unless-debug.
15081 2017-10-03  João Távora  <joaotavora@gmail.com>
15083         Simplify Flymake logging and erroring
15085         Use display-warning and a dedicated *Flymake log* buffer.
15087         To ease readability, flymake log messages are now prefixed with a
15088         common prefix and the buffer that originated them.
15090         Some situations of over-zealous logging are fixed.
15092         Use byte-compiler info, if available, to determine whence the
15093         flymake-related log message is coming.
15095         * lisp/progmodes/flymake-proc.el
15096         (flymake-proc--diagnostics-for-pattern): Improve log message.
15097         (flymake-proc--panic): Always flymake-log an error
15098         (flymake-proc--safe-delete-file)
15099         (flymake-proc--safe-delete-directory):
15100         Downgrade warning
15101         (flymake-proc-start-syntax-check): Simplify slightly.
15102         (flymake-proc--start-syntax-check-process): Simplify.
15103         (flymake-proc--init-find-buildfile-dir)
15104         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
15105         No need to warn twice.
15107         * lisp/progmodes/flymake.el (flymake-log): Convert to macro.
15108         (flymake--log-1): New helper.
15109         (flymake-log-level): Deprecate.
15110         (flymake-error): New helper.
15111         (flymake-ler-make-ler, flymake--handle-report, flymake-mode):
15112         Use flymake-error.
15113         (flymake-on-timer-event)
15114         (flymake--handle-report, flymake--disable-backend)
15115         (flymake--run-backend, flymake-start, flymake-mode-on)
15116         (flymake-mode-off, flymake-after-change-function)
15117         (flymake-after-save-hook, flymake-find-file-hook): Adjust
15118         flymake-log calls.
15120         * test/lisp/progmodes/flymake-tests.el
15121         (flymake-tests--call-with-fixture): Only log errors.
15123 2017-10-03  Philipp Stephani  <phst@google.com>
15125         Work around deprecation of gtk_style_context_get_background_color
15127         * src/gtkutil.c (xg_check_special_colors): Replace call to
15128         gtk_style_context_get_background_color with its definition.
15130 2017-10-03  João Távora  <joaotavora@gmail.com>
15132         New Flymake API variable flymake-diagnostic-functions
15134         Lay groundwork for multiple active backends in the same buffer.
15136         Backends are lisp functions called when flymake-mode sees fit.  They
15137         are responsible for examining the current buffer and telling
15138         flymake.el, via return value, if they can syntax check it.
15139         Backends should return quickly and inexpensively, but they are also
15140         passed a REPORT-FN argument which they may or may not call
15141         asynchronously after performing more expensive work.
15143         REPORT-FN's calling convention stipulates that a backend calls it with
15144         a list of diagnostics as argument, or, alternatively, with a symbol
15145         denoting an exceptional situation, usually some panic resulting from a
15146         misconfigured backend.  In keeping with legacy behavior,
15147         flymake.el's response to a panic is to disable the issuing backend.
15149         The flymake--diag object representing a diagnostic now also keeps
15150         information about its source backend.  Among other uses, this allows
15151         flymake to selectively cleanup overlays based on which backend is
15152         updating its diagnostics.
15154         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn):
15155         New dynamic variable.
15156         (flymake-proc--process): New variable.
15157         (flymake-can-syntax-check-buffer): Remove.
15158         (flymake-proc--process-sentinel): Simplify.  Use
15159         unwind-protect.  Affect flymake-proc--processes here.
15160         Bind flymake-proc--report-fn.
15161         (flymake-proc--process-filter): Bind flymake-proc--report-fn.
15162         (flymake-proc--post-syntax-check): Delete
15163         (flymake-proc-start-syntax-check): Take mandatory
15164         report-fn.  Rewrite.  Bind flymake-proc--report-fn.
15165         (flymake-proc--process-sentinel): Rewrite and simplify.
15166         (flymake-proc--panic): New helper.
15167         (flymake-proc--start-syntax-check-process): Record report-fn
15168         in process.  Use flymake-proc--panic.
15169         (flymake-proc-stop-all-syntax-checks): Use mapc.  Don't affect
15170         flymake-proc--processes here.  Record interruption reason.
15171         (flymake-proc--init-find-buildfile-dir)
15172         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
15173         Use flymake-proc--panic.
15174         (flymake-diagnostic-functions): Add
15175         flymake-proc-start-syntax-check.
15176         (flymake-proc-compile): Call
15177         flymake-proc-stop-all-syntax-checks with a reason.
15179         * lisp/progmodes/flymake.el (flymake-backends): Delete.
15180         (flymake-check-was-interrupted): Delete.
15181         (flymake--diag): Add backend slot.
15182         (flymake-delete-own-overlays): Take optional filter arg.
15183         (flymake-diagnostic-functions): New user-visible variable.
15184         (flymake--running-backends, flymake--disabled-backends): New
15185         buffer-local variables.
15186         (flymake-is-running): Now a function, not a variable.
15187         (flymake-mode-line, flymake-mode-line-e-w)
15188         (flymake-mode-line-status): Delete.
15189         (flymake-lighter):  flymake's minor-mode "lighter".
15190         (flymake-report): Delete.
15191         (flymake--backend): Delete.
15192         (flymake--can-syntax-check-buffer): Delete.
15193         (flymake--handle-report, flymake--disable-backend)
15194         (flymake--run-backend, flymake--run-backend):  New helpers.
15195         (flymake-make-report-fn): Make a lambda.
15196         (flymake--start-syntax-check): Iterate
15197         flymake-diagnostic-functions.
15198         (flymake-mode): Use flymake-lighter.  Simplify.  Initialize
15199         flymake--running-backends and flymake--disabled-backends.
15200         (flymake-find-file-hook): Simplify.
15202         * test/lisp/progmodes/flymake-tests.el
15203         (flymake-tests--call-with-fixture): Use flymake-is-running the
15204         function.  Check if flymake-mode already active before activating it.
15205         Add a thorough test for flymake multiple backends
15207         * lisp/progmodes/flymake.el (flymake--start-syntax-check):
15208         Don't use condition-case-unless-debug, use condition-case
15210         * test/lisp/progmodes/flymake-tests.el
15211         (flymake-tests--assert-set): New helper macro.
15212         (dummy-backends): New test.
15214 2017-10-03  João Távora  <joaotavora@gmail.com>
15216         More Flymake cleanup before advancing to backend redesign
15218         Diagnostics are reported for buffers, not necessarily files.  It’s the
15219         backend’s responsibility to compute the buffer where the diagnostic is
15220         applicable.  For now, this has to match the buffer where flymake-mode
15221         is active and which is at the origin of the backend call.
15223         flymake.el knows nothing about line/column diagnostics (except for
15224         backward-compatible flymake-ler-make-ler, which must yet be tested).
15225         It’s also the backend’s reponsibility to compute a BEG and END
15226         positions for the diagnostic in the relevant buffer.
15228         * lisp/progmodes/flymake-proc.el
15229         (flymake-proc--diagnostics-for-pattern): Convert LINE/COL to
15230         region here.  Check file buffer here.
15231         (flymake-proc--process-sentinel): Don’t kill output buffer if
15232         high enough log level.
15234         * lisp/progmodes/flymake.el (flymake-diag-region): Make this a utility
15235         function.  (flymake--highlight-line): Diagnostic has region now.
15236         (flymake-popup-current-error-menu): Don’t add file and line numbers to
15237         already this silly menu.  (flymake--fix-line-numbers): Remove.
15238         (flymake-report): No need to fix diagnostics here.
15240 2017-10-03  João Távora  <joaotavora@gmail.com>
15242         Protect Flymake's eager checks against commands like fill-paragraph
15244         If flymake-start-syntax-check-on-newline is t, check should start as
15245         soon as a newline is seen by after-change-functions.  But don't rush
15246         it: since the buffer state might not be final, we might end up with
15247         invalid diagnostic regions after some commands silently insert and
15248         delete newlines (looking at you, fill-paragraph).
15250         * lisp/progmodes/flymake.el (flymake-after-change-function): Pass
15251         `deferred' to flymake--start-syntax-check.
15252         (flymake--start-syntax-check): Take optional `deferred' arg.
15254 2017-10-03  João Távora  <joaotavora@gmail.com>
15256         Flymake highlights GCC info/notes as detected by flymake-proc.el
15258         * lisp/progmodes/flymake-proc.el
15259         (flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
15260         honour more sophisticated flymake-proc-diagnostic-type-pred.
15261         (flymake-warning-re): Is now an obsolete alias for
15262         flymake-proc-diagnostic-type-pred.
15263         (flymake-proc-diagnostic-type-pred): Rename and augment from
15264         flymake-proc-warning-predicate.  (flymake-proc-warning-predicate):
15265         Delete.
15267         * lisp/progmodes/flymake.el (flymake-note): New face.
15268         (flymake-diagnostic-types-alist): Simplify.
15269         (flymake-note): New overlay category.
15270         (flymake--lookup-type-property): Only lookup single keys, not lists.
15271         (flymake--diag-errorp): Rewrite.
15272         (flymake--highlight-line): Use flymake--lookup-type-property.
15274         * test/lisp/progmodes/flymake-tests.el
15275         (different-diagnostic-types): Rename from errors-and-warnings.
15276         Check notes.
15277         (flymake-tests--call-with-fixture): Use
15278         flymake-proc-diagnostic-type-pred.
15280 2017-10-03  João Távora  <joaotavora@gmail.com>
15282         Flymake checks file names before considering diagnostics
15284         The error patterns for gcc picked up errors for the Makefile itself,
15285         for example.  These shouldn't count as actual errors.
15287         * lisp/progmodes/flymake.el (flymake-report): Check
15288         matching file names.
15290 2017-10-03  João Távora  <joaotavora@gmail.com>
15292         Echo Flymake error messages when navigating errors interactively
15294         Perhaps binding M-n and M-p to flymake-goto-next-error and
15295         flymake-goto-prev-error also wouldn't be a bad idea.
15297         * lisp/progmodes/flymake.el (flymake-goto-next-error): Use
15298         target overlay's help-echo.
15300 2017-10-03  João Távora  <joaotavora@gmail.com>
15302         Add a new Flymake test for multiple errors and warnings
15304         * test/lisp/progmodes/flymake-tests.el
15305         (flymake-tests--call-with-fixture): Save excursion.
15306         (errors-and-warnings): New test.
15308         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
15309         New test fixture.
15311 2017-10-03  João Távora  <joaotavora@gmail.com>
15313         Flymake warning face easier to distinguish
15315         A orange wavy underline is very hard to tell from a red wavy
15316         underline.
15318         * lisp/progmodes/flymake.el (flymake-warning): Change color to
15319         "deep sky blue"
15321 2017-10-03  João Távora  <joaotavora@gmail.com>
15323         Flymake's flymake-proc.el parses column numbers from gcc/javac errors
15325         Column numbers are not a great way of marking diagnostic regions, but
15326         that's probably all that can be expected from the flymake-proc.el
15327         backend.  For now, try (end-of-thing 'sexp) to discover the
15328         diagnostic's end position.
15330         * lisp/progmodes/flymake-proc.el ()
15331         (flymake-proc-err-line-patterns): Also parse column numbers,
15332         if available, for gcc/javac warnings.
15334 2017-10-03  João Távora  <joaotavora@gmail.com>
15336         New Flymake variable flymake-diagnostic-types-alist and much cleanup
15338         A new user-visible variable is introduced where different diagnostic
15339         types can be categorized.  Flymake backends can also contribute to
15340         this variable.  Anything that doesn’t match an existing error type
15341         is considered.
15343         The variable’s alists are used to propertize the overlays pertaining
15344         to each error type.  The user can override the built-in properties by
15345         either by modifying the alist, or by modifying the properties of a
15346         special "category" symbol, named by the `flymake-category' entry in
15347         the alist.
15349         The `flymake-category' entry is especially useful for, say, the author
15350         of foo-flymake-backend, who issues diagnostics of type :foo-note, that
15351         should behave like notes, except with no fringe bitmap:
15353            (add-to-list 'flymake-diagnostic-types-alist
15354                         '(:foo-note
15355                           . ((flymake-category . flymake-note)
15356                              (bitmap . nil))))
15358         For essential properties like `severity', `priority', etc, a default
15359         value is produced.  Some properties like `evaporate' cannot be
15360         overriden.
15362         * lisp/progmodes/flymake.el (flymake--diag): Rename from
15363         flymake-ler.
15364         (flymake-ler-make): Obsolete alias for flymake-diagnostic-make
15365         (flymake-ler-errorp): Rewrite using flymake--severity.
15366         (flymake--place-overlay): Delete.
15367         (flymake--overlays): Now a cl-defun with &key args.  Document.
15368         Use `overlays-at' if BEG is non-nil and END is nil.
15369         (flymake--lookup-type-property): New helper.
15370         (flymake--highlight-line): Rewrite.
15371         (flymake-diagnostic-types-alist): New API variable.
15372         (flymake--diag-region)
15373         (flymake--severity, flymake--face)
15374         (flymake--fringe-overlay-spec): New helper.
15375         (flymake-popup-current-error-menu): Use new flymake-overlays.
15376         (flymake-popup-current-error-menu, flymake-report): Use
15377         flymake--diag-errorp.
15378         (flymake--fix-line-numbers): Use flymake--diag-line.
15379         (flymake-goto-next-error): Pass :key to flymake-overlays
15381         * lisp/progmodes/flymake-proc.el
15382         (flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.
15384 2017-10-03  João Távora  <joaotavora@gmail.com>
15386         Refactor Flymake tests in preparation for more tests
15388         Introduce a slightly more generic fixture macro.
15390         Also make flymake-tests.el friendlier to interactive runs, by not
15391         killing buffers visited by the user.
15393         * test/lisp/progmodes/flymake-tests.el
15394         (flymake-tests--call-with-fixture): New helper from
15395         flymake-tests--current-face.  Don't kill file buffers already
15396         being visited before the test starts.
15397         (flymake-tests--with-flymake): New macro.
15398         (flymake-tests--current-face): Delete.
15399         (warning-predicate-rx-gcc, warning-predicate-function-gcc)
15400         (warning-predicate-rx-perl, warning-predicate-function-perl):
15401         Use flymake-test--with-flymake.
15403 2017-10-03  João Távora  <joaotavora@gmail.com>
15405         Allow running Flymake tests from interactive sessions
15407         * test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
15408         Expand to reasonable value if no
15409         EMACS_TEST_DIRECTORY. (flymake-tests--current-face): Work around
15410         "weirdness" of bug 17647 with read-event.
15412 2017-10-03  João Távora  <joaotavora@gmail.com>
15414         Flymake diagnostics now apply to arbitrary buffer regions
15416         Make Flymake UI some 150 lines lighter
15418         Strip away much of the original implementation's complexity in
15419         manipulating objects representing diagnostics as well as creating and
15420         navigating overlays.
15422         Lay some groundwork for a more flexible approach that allows for
15423         different classes of diagnostics, not necessarily line-based.
15424         Importantly, one overlay per diagnostic is created, whereas the
15425         original implementation had one per line, and on it it concatenated
15426         the results of errors and warnings.
15428         This means that currently, an error and warning on the same line are
15429         problematic and the warning might be overlooked but this will soon be
15430         fixed by setting appropriate priorities.
15432         Since diagnostics can highlight arbitrary regions, not just lines, the
15433         faces were renamed.
15435         Tests pass and backward compatibility with interactive functions is
15436         maintained, but probably any third-party extension or customization
15437         relying on more than a trivial set of flymake.el internals has stopped
15438         working.
15440         * lisp/progmodes/flymake-proc.el
15441         (flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
15442         constructor syntax.
15444         * lisp/progmodes/flymake.el (flymake-ins-after)
15445         (flymake-set-at, flymake-er-make-er, flymake-er-get-line)
15446         (flymake-er-get-line-err-info-list, flymake-ler-set-file)
15447         (flymake-ler-set-full-file, flymake-ler-set-line)
15448         (flymake-get-line-err-count, flymake-get-err-count)
15449         (flymake-highlight-err-lines, flymake-overlay-p)
15450         (flymake-make-overlay, flymake-region-has-flymake-overlays)
15451         (flymake-find-err-info)
15452         (flymake-line-err-info-is-less-or-equal)
15453         (flymake-add-line-err-info, flymake-add-err-info)
15454         (flymake-get-first-err-line-no)
15455         (flymake-get-last-err-line-no, flymake-get-next-err-line-no)
15456         (flymake-get-prev-err-line-no, flymake-skip-whitespace)
15457         (flymake-goto-line, flymake-goto-next-error)
15458         (flymake-goto-prev-error, flymake-patch-err-text): Delete
15459         functions no longer used.
15460         (flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
15461         (flymake-report): Rewrite.
15462         (flymake-popup-current-error-menu): Rewrite.
15463         (flymake--highlight-line): Rename from
15464         flymake-highlight-line.  Call `flymake--place-overlay.
15465         (flymake--place-overlay): New function.
15466         (flymake-ler-errorp): New predicate.
15467         (flymake-ler): Simplify.
15468         (flymake-error): Rename from
15469         flymake-errline.
15470         (flymake-warning): Rename from flymake-warnline.
15471         (flymake-warnline, flymake-errline): Obsoletion aliases.
15473         * test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
15474         (warning-predicate-function-gcc, warning-predicate-rx-perl)
15475         (warning-predicate-function-perl): Use face `flymake-warning'.
15477 2017-10-03  João Távora  <joaotavora@gmail.com>
15479         Move symbols in flymake-proc.el to separate namespace
15481         Every symbol in this flymake now starts with the prefix flymake-proc-.
15483         Make obsolete aliases for (almost?) every symbol.
15485         Furthermore, many flymake-proc.el symbols are prefixed with
15486         "flymake-proc--", that is they were considered internal.
15488         Some customization variables, interactive functions, and other symbols
15489         considered useful to user customizations or third-party libraries are
15490         considered "public" or "external" and so use a "flymake-proc-" prefix.
15492         * lisp/progmodes/flymake-proc.el: Every symbol renamed.
15494         * test/lisp/progmodes/flymake-tests.el
15495         (flymake-tests--current-face): Use
15496         flymake-proc-warning-predicate, not flymake-warning-predicate.
15498         * lisp/progmodes/flymake-proc.el
15499         (flymake-proc--get-project-include-dirs-function)
15500         (flymake-proc--get-project-include-dirs-imp)
15501         (flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
15502         (flymake-proc--find-make-buildfile)
15503         (flymake-proc--get-syntax-check-program-args)
15504         (flymake-proc--init-create-temp-source-and-master-buffer-copy)
15505         (flymake-proc--init-find-buildfile-dir)
15506         (flymake-proc--get-full-nonpatched-file-name)
15507         (flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
15508         flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
15509         (flymake-proc--temp-source-file-name)
15510         (flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
15511         (flymake-proc--start-syntax-check-process)
15512         (flymake-proc--compilation-is-running)
15513         (flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
15514         (flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
15515         (flymake-proc--clear-project-include-dirs-cache)
15516         (flymake-proc--project-include-dirs-cache)
15517         (flymake-proc--get-system-include-dirs)
15518         (flymake-proc--get-project-include-dirs)
15519         (flymake-proc--add-project-include-dirs-to-cache)
15520         (flymake-proc--get-project-include-dirs-from-cache)
15521         (flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
15522         (flymake-proc--process-filter) (flymake-proc--create-master-file)
15523         (flymake-proc--find-buffer-for-file)
15524         (flymake-proc--copy-buffer-to-temp-buffer)
15525         (flymake-proc--read-file-to-temp-buffer)
15526         (flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
15527         flymake-proc--check-include)
15528         (flymake-proc--check-patch-master-file-buffer)
15529         (flymake-proc--master-file-compare)
15530         (flymake-proc--find-possible-master-files)
15531         (flymake-proc--included-file-name, flymake-proc--same-files)
15532         (flymake-proc--fix-file-name, flymake-proc--find-buildfile)
15533         (flymake-proc--clear-buildfile-cache)
15534         (flymake-proc--add-buildfile-to-cache)
15535         (flymake-proc--get-buildfile-from-cache)
15536         (flymake-proc--find-buildfile-cache)
15537         (flymake-proc--get-real-file-name-function)
15538         (flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
15539         (flymake-proc--get-file-name-mode-and-masks)
15540         (flymake-proc--processes): Rename to internal symbol from
15541         flymake-proc- version.
15543 2017-10-03  João Távora  <joaotavora@gmail.com>
15545         Completely rewrite Flymake's subprocess output processing
15547         Instead of parsing and matching regexps line-by-line, insert
15548         subprocess output in a separate buffer and parse using
15549         `search-forward-regexp'.  This eventually enables multi-line error
15550         patterns and simplifies code all around.  Store per-check information
15551         in the subprocess using `process-get' and `process-put'.  Treat error
15552         messages, warnings, etc. more generically as "diagnostics".  Create
15553         these objects as soon as possible, reusing existing `flymake-ler'
15554         structure.  Fix some whitespace.
15556         * lisp/progmodes/flymake.el (cl-lib): Require also when
15557         loading.
15558         (flymake--fix-line-numbers): Rename from
15559         flymake-fix-line-numbers.  Simplify.
15560         (flymake-report): Call flymake--fix-line-numbers.  Rearrange
15561         plain diagnostics list into alist format expected by
15562         flymake-highlight-err-lines.
15564         * lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
15565         process output and parse in dedicated output buffer.
15566         (flymake-proc--diagnostics-for-pattern): New helper function.
15567         (flymake-process-sentinel): Call flymake-post-syntax-check with
15568         collected diagnostics.  Kill output buffer.
15569         (flymake-post-syntax-check): Receive diagnostics as third argument.
15570         (flymake-parse-output-and-residual, flymake-new-err-info)
15571         (flymake-parse-residual, flymake-parse-err-lines)
15572         (flymake-split-output, flymake-proc-parse-line)
15573         (flymake-output-residual): Delete.
15574         (flymake-start-syntax-check-process): Use make-process.  Setup
15575         dedicated an output buffer
15577 2017-10-03  João Távora  <joaotavora@gmail.com>
15579         Flymake provides flymake-report re-entry point for backends
15581         * lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
15582         Simplify.  Call flymake-report.
15584         * lisp/progmodes/flymake.el (flymake-report): New function.
15586 2017-10-03  João Távora  <joaotavora@gmail.com>
15588         Split Flymake into flymake.el into flymake-proc.el (again!)
15590         After deciding that this work would continue on master only, which
15591         caused two commits named
15593            Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
15595         and
15597            Revert "Add flymake-backends defcustom"
15599         to be added to the emacs-26 branch, further discussion reversed that
15600         decision.
15602            See:
15604              https://lists.gnu.org/r/emacs-devel/2017-09/msg01020.html
15605              https://lists.gnu.org/r/emacs-devel/2017-09/msg01030.html
15607         This means that those two commits MUST be merged to master AFTER ALL.
15609         flymke-proc.el contains the main syntax-checking backend, while
15610         flymake.el keeps mostly the UI part.
15612         * lisp/progmodes/flymake-proc.el: New file.  Require flymake.
15614         * lisp/progmodes/flymake.el: Require flymake-proc.el at the end.
15616 2017-10-03  Nicolas Petton  <nicolas@petton.fr>
15618         Update authors.el
15620         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
15621         (authors-renamed-files-alist): Additions.
15623 2017-10-03  Noam Postavsky  <npostavs@gmail.com>
15625         Give more helpful messages for python completion setup failures
15627         * lisp/progmodes/python.el (python-shell-completion-native-setup): In
15628         case the completion setup failed with some exception, print out the
15629         exception type and message.  If libedit is detected, raise an
15630         exception, since this is known to fail.
15632 2017-10-02  Eli Zaretskii  <eliz@gnu.org>
15634         Fix the --without-x build
15636         * src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
15637         frame_parent only in GUI builds to avoid compilation errors in
15638         --without-x builds.  (Bug#28611)
15640 2017-10-02  Paul Eggert  <eggert@day>
15642         Fix customization of zoneinfo-style-world-list
15644         A customizable variable's initial value cannot depend on that of
15645         another customizable variable, since the variables are initialized
15646         in other than textual order.  Problem reported by N. Jackson
15647         (Bug#24291).
15648         * lisp/time.el (display-time-world-list): Default to t,
15649         a special value that expands to zoneinfo-style-word-list
15650         if that works, and to legacy-style-word-list otherwise.
15651         (time--display-world-list): New function.
15652         (display-time-world, display-time-world-timer): Use it.
15654 2017-10-02  Alan Mackenzie  <acm@muc.de>
15656         Fix a CC Mode brace stack cache bug.
15658         * lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
15659         c-beginning-of-current-token after a failing search operation, to ensure we
15660         don't cache a point inside a token.
15662 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
15664         * etc/PROBLEMS: Document Bug#26638.
15666 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
15668         Prefer HTTPS to HTTP for gnu.org
15670         This fixes some URLs I omitted from my previous pass,
15671         notably those in lists.gnu.org.  Although lists.gnu.org
15672         does not yet support TLS 1.1, TLS 1.0 is better than nothing.
15673         * lisp/erc/erc.el (erc-official-location):
15674         * lisp/mail/emacsbug.el (report-emacs-bug):
15675         Use https:, not http:.
15677 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
15679         Merge from Gnulib
15681         This is mostly to change http: to https: in licenses.
15682         * COPYING, build-aux/config.guess, build-aux/config.sub:
15683         * doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
15684         * doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
15685         * doc/lispref/gpl.texi, doc/misc/doclicense.texi:
15686         * doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
15687         * lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
15688         * msdos/COPYING, nt/COPYING, src/COPYING:
15689         Copy from Gnulib.
15691 2017-10-01  Simen Heggestøyl  <simenheg@gmail.com>
15693         Keep eww buffer current when looking up CSS on MDN
15695         * lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
15696         current when looking up CSS documentation on MDN.  This fixes a bug
15697         where the eww buffer's content sometimes get mangled when switching
15698         buffers mid-render.
15700 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
15702         Workaround for faulty localtime() under macOS 10.6
15704         * lisp/org/org-clock.el (org-clock--oldest-date): Only execute
15705         'decode-time' on times later than year -2**31 under macOS 10.6.
15706         See Bug#27706.
15708 2017-10-01  Alan Mackenzie  <acm@muc.de>
15710         Doc amendment for syntax-ppss.
15712         * doc/lispref/syntax.texi (Position Parse): Note, twice, that syntax-ppss is
15713         equivalent to parse-partial-sexp from the beginning of THE VISIBLE PART OF the
15714         buffer.  Final part of the fix for bug #22983.
15716 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
15718         Remove incorrect NEWS entry about 'find-library'
15720         * etc/NEWS (Changes in Emacs 26.1): Remove an entry about
15721         'find-library' taking a prefix argument to pop to a different
15722         window.  This behavior was added in "Allow a prefix argument to
15723         find-library to pop to a different window" (commit e1f2d14a), and
15724         then removed in "New commands: find-library-other-window,
15725         find-library-other-frame" (commit 021430f4).
15727 2017-10-01  Alan Mackenzie  <acm@muc.de>
15729         Remove inadvertent changes to syntax.texi in last commit.
15731         * doc/lispref/syntax.texi (Position Parse): revert changes.
15733 2017-10-01  Alan Mackenzie  <acm@muc.de>
15735         Amend documentation for text-quoting-style becoming a user option.
15737         * doc/lispref/control.texi (Signaling Errors):
15738         * doc/lispref/display.texi (Displaying Messages):
15739         * doc/lispref/strings.texi (Formatting Strings):
15740         Edit for brevity, farming out the details to the new
15741         Text Quoting Style node.
15742         * doc/lispref/help.texi (Text Quoting Style): New section.
15743         Move detailed discussion of text-quoting-style here.
15744         Add discussion about how to output grave accent and apostrophe in
15745         documentation and messages.  Adjust xrefs to point to this section
15746         when appropriate.
15747         * etc/NEWS: text-quoting-style semantics have not changed.
15749 2017-10-01  Alan Mackenzie  <acm@muc.de>
15751         Make the value nil in text-quoting-style mean what it does in Emacs 25.
15753         This is a partial reversion of yesterday's commit by the same author, which
15754         changed the meaning of nil and introduced the new value t.
15756         * src/doc.c (text_quoting_style, text-quoting-style)
15757         (internal--text-quoting-flag): Revert yesterday's changes.
15759         * lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.
15761         * etc/NEWS: Amend the entry for text-quoting-style.
15763         * doc/lispref/control.texi (Signalling Errors)
15764         * doc/lispref/display.texi (Displaying Messages)
15765         * doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
15766         grave rather than nil to inhibit translation of quotes.
15768         * doc/lispref/help.texi (Keys in Documentation): Revert the description of the
15769         proposed new default, t.
15771 2017-10-01  Alan Mackenzie  <acm@muc.de>
15773         Make text-quoting-style customizable.  Introduce t and new meaning for nil.
15775         A value of nil for text-quoting-style now means "no translation".  t means
15776         "Use curved quotes if displayable".
15778         * src/doc.c (text-quoting-style (function)): modify for new semantics.
15779         (text-quoting-style (variable)): Amend the doc string, set the default value
15780         to t.
15782         * lisp/cus-start.el: (top level): Create a customize entry for
15783         text-quoting-style in group display.
15785         * etc/NEWS: Amend the entry for text-quoting-style.
15787         * doc/emacs/display.texi (Text Display): Describe the translation of ASCII
15788         quotes to curved quotes, and how to influence or inhibit it.
15790         * doc/lispref/control.texi (Signalling Errors)
15791         * doc/lispref/display.texi (Displaying Messages)
15792         * doc/lispref/strings.texi (Formatting Strings): Describe binding
15793         text-quoting-style to nil to inhibit unwanted quote translation.
15795         * doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
15796         from a variable to a user option.  Describe its changed set of values.  State
15797         that it can be customized freely.
15799 2017-10-01  Michael Albinus  <michael.albinus@gmx.de>
15801         eshell.texi improvements
15803         * doc/misc/eshell.texi (Built-ins): eshell/sudo is a compiled
15804         Lisp function in `em-tramp.el'.  Mention also $*, $1, $2, ...
15805         (Aliases): Add $*, $1, $2, ... to the variable index.
15807 2017-08-15  Alan Third  <alan@breton-build.holly.idiocy.org>
15809         Fix ns-win.el on GNUstep
15811         * lisp/term/ns-win.el: Appkit version check only works on macOS, so
15812         don't try it when not using Cocoa.
15814 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
15816         Fix reference style in org.texi
15818         * doc/misc/org.texi (A Texinfo example): Fix reference style.
15820 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
15822         Improve handling of iconification of child frames (Bug#28611)
15824         * src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
15825         (syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
15826         (iconify_child_frame): New option.
15827         * lisp/cus-start.el (iconify-child-frame): Add customization
15828         properties.
15829         * doc/lispref/frames.texi (Child Frames): Describe new option
15830         `iconify-child-frame'.  Don't index "top-level frame" twice.
15832 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
15834         Revert "Don't lose arguments to eshell aliases (Bug#27954)"
15836         It broke the established argument handling methods provided by eshell
15837         aliases (Bug#28568).
15838         * doc/misc/eshell.texi (Aliases): Fix example, call out use of
15839         arguments in aliases.
15840         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
15841         ARGS.
15843 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
15845         Make "unsafe directory" error message more informative (Bug#865)
15847         * lisp/server.el (server-ensure-safe-dir): Produce a description for
15848         each "unsafe" condition.
15850 2017-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
15852         Fix slot typecheck in eieio-persistent
15854         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
15855           An `or' form can specify multiple potential classes (or null) as
15856           valid types for a slot, but previously only the final element of the
15857           `or' was actually checked. Now returns all valid classes in the `or'
15858           form.
15859           (eieio-persistent-validate/fix-slot-value): Check if proposed value
15860           matches any of the valid classes.
15861         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
15862           (eieio-test-multiple-class-slot): Test this behavior.
15864 2017-09-30  Dmitry Gutov  <dgutov@yandex.ru>
15866         Fix semantic-ia-fast-jump
15868         * lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
15869         Use `pop-to-buffer-same-window' (bug#28645).
15871 2017-09-30  Kaushal Modi  <kaushal.modi@gmail.com>
15873         Bind vc-region-history
15875         * lisp/vc/vc-hooks.el (vc-prefix-map):
15876         Bind `vc-region-history' to 'C-x v h', which was earlier bound to
15877         `vc-insert-headers' (Bug#27644).
15878         * doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
15879         * doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
15880         'C-x v h' with `vc-insert-headers'.
15881         (https://lists.gnu.org/r/emacs-devel/2017-09/msg00957.html)
15883 2017-09-30  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
15885         Exit macro definition on undefined keys
15887         * lisp/subr.el (undefined): Error out of kmacro definition, if any.
15888         (Bug#28008)
15890 2017-09-30  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)
15892         Reset bidi-paragraph-direction on article rendering
15894         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
15895         bidi-paragraph-direction on article rendering.  (Bug#28454)
15897 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
15899         Fix url-http use of url-current-object
15901         * lisp/url/url-http.el (url-http): Bind url-current-object before
15902         calling url-http-find-free-connection.  (Bug#28515)
15904 2017-09-30  Andy Moreton  <andrewjmoreton@gmail.com>
15906         Avoid assertions in vc-hg.el on MS-Windows
15908         * lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
15909         (vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
15910         (vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
15911         instead of relying on Unix file-name syntax.  This avoids
15912         assertion violations on MS-Windows.
15914 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
15916         Improve documentation of 'copy-sequence'
15918         * src/fns.c (Fcopy_sequence):
15919         * doc/lispref/sequences.texi (Sequence Functions): Mention the
15920         exception when copying an empty sequence.  (Bug#28627)
15922 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
15924         Minor update of ack.texi
15926         * doc/emacs/ack.texi (Acknowledgments): Update Eli Zaretskii's
15927         contributions.
15929 2017-09-30  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)
15931         * doc/emacs/emacs.texi (Acknowledgments): Add more contributors.
15933 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
15935         Improve indexing of multi-file/buffer Isearch commands
15937         * doc/emacs/maintaining.texi (Identifier Search): Change wording
15938         of index entries to make them different from those for multi-file
15939         isearch commands.  (Bug#28584)
15940         * doc/emacs/search.texi (Other Repeating Search): Index the
15941         multi-* commands.  (Bug#28584)  Rearrange the indexing to keep
15942         each index entry close to its subject.
15944 2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>
15946         Add CAM02 JCh and CAM02-UCS J'a'b' conversions
15948         * src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
15949         (jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
15950         (lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
15951         functions.
15952         (lcms-cam02-ucs): Refactor.
15953         (syms_of_lcms2): Declare new functions.
15954         * test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
15955         (lcms-jmh->cam02-ucs-silver): New tests.
15956         * etc/NEWS: Mention new functions.
15958 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
15960         Fix uses of @kindex in the Emacs manual
15962         * doc/emacs/programs.texi (Expressions, Semantic, Hungry Delete):
15963         * doc/emacs/mark.texi (Global Mark Ring)
15964         (Disabled Transient Mark):
15965         * doc/emacs/buffers.texi (Select Buffer):
15966         * doc/emacs/mule.texi (File Name Coding): Fix @kindex entries
15967         which used @key.  Reported by Marcin Borkowski <mbork@mbork.pl>.
15969 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15971         Merge from gnulib
15973         This incorporates:
15974         2017-09-28 string: code style
15975         2017-09-25 sys_types: update URL
15976         2017-09-23 install-sh: do not assume / = //
15977         2017-09-21 mktime: port to OpenVMS
15978         * build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
15979         * m4/sys_types_h.m4: Copy from Gnulib.
15980         * lib/gnulib.mk.in: Regenerate.
15982 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
15984         Prefer HTTPS to HTTP for gnu.org
15986         This catches some URLs I missed in my previous scan,
15987         or perhaps were added after the scan.
15989 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
15991         Wait for frame visibility with timeout in w32term too
15993         * src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
15994         variable.
15995         (x_make_frame_visible): Wait for frame to become visible according to
15996         its value.
15997         (input_signal_count): Remove.
15999 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
16001         Bring back the busy wait after x_make_frame_visible (Bug#25521)
16003         But wait specfically for a MapNotify event, and only for a
16004         configurable amount of time.
16005         * src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
16006         variable.
16007         (x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
16008         (x_make_frame_visible): Call x_wait_for_event at the end.
16009         * etc/NEWS: Announce x_wait_for_event.
16011 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
16013         Fix last doc string change in simple.el
16015         * lisp/simple.el (shell-command-saved-pos)
16016         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
16018 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
16020         Revert "bug#28609: simple.el"
16022         This reverts commit a75ab3b3fb8ab69ef38a94403d061f88f3b5b63e.
16024 2017-09-29  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
16026         bug#28609: simple.el
16028         Correct grammar; also, call a pair a pair.
16030         (cherry picked from commit 25ef543a97a80718cc4eb33734d393420a43f41e)
16032 2017-09-29  Rasmus  <rasmus@gmx.us>
16034         Merge branch 'emacs-26' into scratch/org-mode-merge
16036 2017-09-29  Noam Postavsky  <npostavs@gmail.com>
16038         Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)
16040         * lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
16041         above the `debugger' frame, rather than assuming there will be a
16042         `signal' frame.
16044 2017-09-28  Alan Third  <alan@idiocy.org>
16046         Revert "Fix build on macOS (bug#28571)"
16048         This reverts commit fec63089d53d2196b0348086aeed70277fbc02c0.
16050         Prematurely pushed.
16052 2017-09-28  Alan Third  <alan@idiocy.org>
16054         Fix build on macOS (bug#28571)
16056         * src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
16057         [DARWIN_OS]: Undefine.
16059 2017-09-28  Simen Heggestøyl  <simenheg@gmail.com>
16061         Add tests for `css-current-defun-name'
16063         * test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name)
16064         (css-test-current-defun-name-nested)
16065         (css-test-current-defun-name-complex): New tests for
16066         `css-current-defun-name'.
16068 2017-09-28  Martin Rudalics  <rudalics@gmx.at>
16070         In w32fullscreen_hook don't add decorations to undecorated frames
16072         * src/w32term.c (w32fullscreen_hook): Do not add (or try to
16073         remove) decorations for undecorated frames.
16075 2017-09-28  João Távora  <joaotavora@gmail.com>
16077         Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
16079         In other words, re-coalesce the two files,
16080         lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
16081         into a single one, lisp/progmodes/flymake.el.
16083         The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
16084         "allow nil init in flymake-allowed-file-name-masks to disable flymake"
16085         are kept in place in the new lisp/progmodes/flymake.el.
16087         This reverts Git commit eb34f7f5a29e7bf62326ecb6e693f28878be28cd.
16089         Don't merge this back to master as development happening there builds
16090         upon this work. See also
16091         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html.
16093 2017-09-28  João Távora  <joaotavora@gmail.com>
16095         Revert "Add flymake-backends defcustom"
16097         This reverts Git commit 13993c46a21495167517f76d2e36b6c09ac5e89e.
16099         Don't merge this back to master as development happening there builds
16100         upon this work. See also
16101         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html
16103 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
16105         * src/editfns.c (styled_format): Fix typo in previous change.
16107 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
16109         Avoid some unnecessary copying in Fformat etc.
16111         This patch is just for performance; it should not affect behavior.
16112         On my platform, it made the microbenchmark (format "%S" load-path)
16113         run about 45% faster.  It should also speed up calls like (message
16114         "%s" STRING).
16115         * src/callint.c (Fcall_interactively):
16116         * src/dbusbind.c (XD_OBJECT_TO_STRING):
16117         * src/editfns.c (Fmessage, Fmessage_box):
16118         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
16119         Use styled_format instead of Fformat or Fformat_message,
16120         to avoid unnecessary copying.
16121         * src/editfns.c (styled_format): New arg NEW_RESULT.
16122         All uses changed.  Reuse an input string if it has the
16123         right value and if !NEW_RESULT.
16124         * src/lisp.h (style_format): New decl.
16126 2017-09-26  John Wiegley  <johnw@newartisans.com>
16128         lisp/simple.el: Indicate when a list of pairs is meant in a docstring
16130 2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
16132         bug#28609: simple.el
16134         Correct grammar; also, call a pair a pair.
16136 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
16138         Use a separate syntax-ppss cache for narrowed buffers
16140         * lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
16141         New variable, to contain the data from `syntax-ppss-last' and
16142         `syntax-ppss-cache'.
16143         (syntax-ppss-cache, syntax-ppss-last): Remove.
16144         (syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
16145         (syntax-ppss-flush-cache): Flush both caches.
16146         (syntax-ppss--data): Return the appropriate last result and
16147         buffer cache for the current restriction.
16148         (syntax-ppss, syntax-ppss-debug): Use it (bug#22983).
16150 2017-09-26  Joerg Behrmann  <behrmann@physik.fu-berlin.de>  (tiny change)
16152         Improve python3-compatibility of fallback completion (Bug#28499)
16154         * lisp/progmodes/python.el (python-eldoc-setup-code): Use
16155         inspect.getfullargspec instead of inspect.getargspec to avoid a
16156         deprecation warning on every usage of eldoc in python-mode.
16158 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
16160         Fix subr-x-tests when running from elc
16162         * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-and-let*-test-group-1):
16163         Use `eval' around the `should-error' cases.
16165 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
16167         * lisp/eshell/esh-util.el (eshell-condition-case): Add debug declaration.
16169 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
16171         Make sh-indentation into an alias for sh-basic-offset (Bug#21751)
16173         * lisp/progmodes/sh-script.el (sh-indentation): Redefine as obsolete
16174         variable alias for `sh-basic-offset'.
16175         (sh-mode, sh-smie--indent-continuation)
16176         (sh-smie-rc-rules, sh-basic-indent-line): Replace `sh-indentation'
16177         with `sh-basic-offset'.
16179 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
16181         Fix loading of smie-config rules (Bug#24848)
16183         * lisp/emacs-lisp/smie.el (smie-config--setter): Use `set-default'
16184         instead of `setq-default'.
16185         (smie-config): Use `custom-initialize-set' instead of
16186         `custom-initialize-default' as the :initialize argument.
16188         * lisp/progmodes/sh-script.el (sh-learn-buffer-indent): Mention that
16189         we call `smie-config-guess' so that the user will have a chance to
16190         find the correct docstring to consult.  Remove hedging comments
16191         regarding use of abnormal hooks.
16193 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
16195         Reset default-directory inside *xref-grep* buffer
16197         * lisp/progmodes/xref.el (xref-collect-matches):
16198         Reset default-directory, too. (Bug#28575)
16200 2017-09-25  Michael Albinus  <michael.albinus@gmx.de>
16202         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Special
16203         code for smb.
16205 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
16207         Loosen strict parsing requirement for desktop files
16209         There are other desktop-looking files, for instance those having to do
16210         with MIME typess, that would benefit from being able to be read by this
16211         function.  It helps to have some flexibility.
16212         * lisp/xdg.el (xdg-desktop-read-file): Remove an error condition.
16213         * test/lisp/xdg-tests.el: Remove a test.
16215 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
16217         * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
16219 2017-09-25  Martin Rudalics  <rudalics@gmx.at>
16221         Fix documentation of `make-frame' and related variables and hooks
16223         * lisp/frame.el (before-make-frame-hook)
16224         (after-make-frame-functions, frame-inherited-parameters)
16225         (make-frame): Fix doc-strings.
16226         * doc/lispref/frames.texi (Creating Frames): Fix description
16227         of `make-frame' and related variables and hooks.
16229 2017-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
16231         Accept new `always' value for option `buffer-offer-save'
16233         Also revert ee512e9a82
16235         * lisp/files.el (buffer-offer-save): In addition to nil and t, now
16236           allows a third symbol value, `always'. A buffer where this option is
16237           set to `always' will always be offered for save by
16238           `save-some-buffers'.
16239           (save-some-buffers): Check the exact value of this buffer-local
16240           variable. No longer check the buffer name, or the value of
16241           `write-contents-functions'.
16242         * doc/lispref/buffers.texi (Killing Buffers): Note change in manual.
16243         * doc/lispref/files.texi (Saving Buffers): Remove note about buffer
16244           names.
16245         * etc/NEWS: Mention in NEWS.
16247 2017-09-24  Alan Third  <alan@idiocy.org>
16249         Improve new NS scrolling variable names
16251         * src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
16252         'ns-use-mwheel-acceleration'.
16253         (ns-touchpad-scroll-line-height): Replace with
16254         'ns-mwheel-line-height'.
16255         (ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
16256         * etc/NEWS: Change variable names.
16258 2017-09-24  Philipp Stephani  <phst@google.com>
16260         Document 'replace-buffer-contents' in the manual.
16262         * doc/lispref/text.texi (Replacing): New node.
16264 2017-09-23  Alan Third  <alan@idiocy.org>
16266         Fix undecorated frame resizing issues on NS (bug#28512)
16268         * src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
16269         toolbar on undecorated frames.
16270         (EmacsView::initFrameFromEmacs): Group window flags correctly.
16272 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
16274         Fix doc string of 'dired-listing-switches'
16276         * lisp/dired.el (dired-listing-switches): Fix the quoting
16277         example.  (Bug#28569)
16279 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
16281         Documentation improvements for 'display-line-numbers'
16283         * doc/emacs/display.texi (Display Custom): Document a few more
16284         options for display-line-numbers.  (Bug#28533)  Fix a typo.
16286 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
16288         Fix last change in bat-mode.el
16290         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix last
16291         change.  (Bug#28311)
16293 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
16295         Fix restoring in GUI sessions desktop saved in TTY sessions
16297         * lisp/frameset.el (frameset-filter-font-param): New function.
16298         (frameset-persistent-filter-alist): Use it for processing the
16299         'font' frame parameter.  (Bug#17352)
16301 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
16303         Improve syntax highlighting in bat-mode
16305         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Improve
16306         font-locking of environment variables.  Suggested by Achim Gratz
16307         <Stromeko@nexgo.de>.  (Bug#28311)  (Bug#18405)
16309 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
16311         Document the 'list-FOO' convention
16313         * doc/lispref/tips.texi (Coding Conventions): Document the
16314         list-FOO convention.
16316 2017-09-22  Mark Oteiza  <mvoteiza@udel.edu>
16318         Expose viewing conditions in CAM02-UCS metric
16320         Also add tests from the colorspacious library.  Finally, catch an
16321         errant calculation, where degrees were not being converted to radians.
16322         * src/lcms.c (deg2rad, default_viewing_conditions):
16323         (parse_viewing_conditions): New functions.
16324         (lcms-cam02-ucs): Add comments pointing to references used.  Expand
16325         the docstring and explain viewing conditions.  JCh hue is given in
16326         degrees and needs to be converted to radians.
16327         (lcms-d65-xyz): Remove.  No need to duplicate this in Lisp or make the
16328         API needlessly impure.
16329         * test/src/lcms-tests.el: Reword commentary.
16330         (lcms-rgb255->xyz): New function.
16331         (lcms-cri-cam02-ucs): Fix let-binding.
16332         (lcms-dE-cam02-ucs-silver): New test, assimilated from colorspacious.
16334 2017-09-21  Alan Third  <alan@idiocy.org>
16336         Revert "Set frame size to actual requested size (bug#18215)"
16338         This reverts commit d31cd79b40dbd5459b16505a4ee4340210499277.
16340         See bug#28536. I misunderstood bug#18215. It wasn't a bug.
16342 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
16344         Add tests for Edebug
16346         * test/lisp/emacs-lisp/edebug-tests.el: New file.
16347         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: New file.
16349 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
16351         Catch more messages in ert-with-message-capture
16353         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Capture
16354         messages from prin1, princ and print.
16355         (ert--make-message-advice): New function.
16356         (ert--make-print-advice): New function.
16358 2017-09-21  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
16360         Support setting region from secondary selection and vice versa
16362         * lisp/mouse.el (secondary-selection-exist-p): New function to
16363         allow callers to tell existence of the secondary selection
16364         in current buffer.
16365         (secondary-selection-to-region): New function to set
16366         beginning and end of the region from those of the secondary
16367         selection.
16368         (secondary-selection-from-region): New function to set
16369         beginning and end of the secondary selection from those of
16370         the region.  (Bug#27530)
16372         * etc/NEWS: Mention the new functions.
16374 2017-09-20  Paul Eggert  <eggert@cs.ucla.edu>
16376         Fix new copy-directory bug with empty dirs
16378         Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
16379         (Bug#28483#34).  This is another bug that I introduced in my
16380         recent copy-directory changes.
16381         * lisp/files.el (copy-directory): Work with empty subdirectories, too.
16382         * test/lisp/files-tests.el (files-tests--copy-directory):
16383         Test for this bug.
16385 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
16387         * doc/lispref/strings.texi (Formatting Strings): Improve indexing.
16389 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
16391         Fix 2 testsuite tests for MS-Windows
16393         * test/lisp/ibuffer-tests.el (test-buffer-list): Don't try to
16394         create files with "*" in their names.
16395         * test/src/editfns-tests.el (format-time-string-with-zone): Adapt
16396         results to MS-Windows build.  Reported by Fabrice Popineau
16397         <fabrice.popineau@gmail.com>.
16399 2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>
16401         Rename timer-list to list-timers
16403         * doc/emacs/anti.texi (Antinews):
16404         * doc/lispref/os.texi (Timers):
16405         * etc/NEWS:
16406         * lisp/emacs-lisp/timer-list.el:
16407         (timer-list-mode): Rename timer-list to list-timers.
16409 2017-09-19  Alan Third  <alan@idiocy.org>
16411         Provide native touchpad scrolling on macOS
16413         * etc/NEWS: Describe changes.
16414         * lisp/term/ns-win.el (mouse-wheel-scroll-amount,
16415         mouse-wheel-progressive-speed): Set to smarter values for macOS
16416         touchpads.
16417         * src/nsterm.m (emacsView::mouseDown): Use precise scrolling deltas to
16418         calculate scrolling for touchpads and mouse wheels.
16419         (syms_of_nsterm): Add variables 'ns-use-system-mwheel-acceleration',
16420         'ns-touchpad-scroll-line-height' and 'ns-touchpad-use-momentum'.
16421         * src/keyboard.c (make_lispy_event): Pass on .arg when relevant.
16422         * src/termhooks.h (event_kind): Update comments re. WHEEL_EVENT.
16423         * lisp/mwheel.el (mwheel-scroll): Use line count.
16424         * lisp/subr.el (event-line-count): New function.
16426 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
16428         Fix MinGW64 build broken by recent MinGW64 import libraries
16430         * configure.ac (W32_LIBS): Put -lusp10 before -lgdi32, as latest
16431         MinGW64 import libraries require that.  (Bug#28493)
16433         * src/Makefile.in: Adjust commentary to the new order of w32
16434         libraries.
16436 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
16438         Fix crashes in 'move-point-visually' in minibuffer windows
16440         * src/xdisp.c (Fmove_point_visually): Fix off-by-one error in
16441         comparing against the last valid glyph_row of a window glyph
16442         matrix.  (Bug#28505)
16444 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
16446         * src/emacs.c (usage_message): Don't mention 'find-file'.
16448 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
16450         Fix a minor inaccuracy in the Emacs manual
16452         * doc/emacs/cmdargs.texi (Action Arguments): Don't mention
16453         'find-file', as the implementation has changed.  Reported by
16454         Everton J. Carpes <everton.carpes@gmail.com> in
16455         https://lists.gnu.org/r/help-gnu-emacs/2017-09/msg00146.html.
16457 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
16459         Fix errors in flyspell-post-command-hook
16461         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
16462         case of a nil Nth element of the language dictionary slot.  This
16463         avoids errors in 'flyspell-post-command-hook' when switching
16464         dictionaries with some spell-checkers.  (Bug#28501)
16466 2017-09-19  Michael Albinus  <michael.albinus@gmx.de>
16468         Work on Tramp's file-truename
16470         * lisp/net/tramp-sh.el (tramp-perl-file-truename):
16471         Check also for symlinks.
16472         (tramp-sh-handle-file-truename): Move check for a symlink
16473         cycle to the end.  Do not blame symlinks which look like a
16474         remote file name.
16476         * lisp/net/tramp.el (tramp-handle-file-truename): Expand result.
16478 2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>
16480         Fix bug with make-directory on MS-Windows root
16482         * lisp/files.el (files--ensure-directory): Treat any error, not
16483         just file-already-exists, as an opportunity to check whether DIR
16484         is already a directory (Bug#28508).
16486 2017-09-19  Tom Tromey  <tom@tromey.com>
16488         Fix log-view-diff-common when point is after last entry
16490         Bug#28466
16491         * lisp/vc/log-view.el (log-view-diff-common): If point is after last
16492         entry, look at the previous revision.
16494 2017-09-18  Ken Brown  <kbrown@cornell.edu>
16496         Adapt fileio-tests--symlink-failure to Cygwin
16498         * test/src/fileio-tests.el (fileio-tests--symlink-failure)
16499         [CYGWIN]: Skip the case of a symlink target starting with '\';
16500         this is treated specially on Cygwin.
16502 2017-09-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
16504         Ignore buffers whose name begins with a space in save-some-buffers
16506         * lisp/files.el (save-some-buffers): Consider these buffers
16507           "internal", and don't prompt the user to save them.
16508         * doc/lispref/files.texi: Document.
16510 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
16512         Improve tramp-interrupt-process robustness
16514         * lisp/net/tramp.el (tramp-interrupt-process): Wait, until the
16515         process has disappeared.
16517 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
16519         Minor Tramp doc update
16521         * doc/misc/tramp.texi (Frequently Asked Questions):
16522         Mention `vc-handled-backends'.
16524 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
16526         Fix gensym
16528         * lisp/subr.el (gensym): Actually implement the default prefix.
16529         * test/lisp/subr-tests.el (subr-tests--gensym): New test.
16531 2017-09-18  Rasmus  <rasmus@gmx.us>
16533         Update Org to v9.1.1
16535         Please see etc/ORG-NEWS for major changes.
16537 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
16539         Cleanup in files-tests.el
16541         * test/lisp/files-tests.el (files-tests--make-directory)
16542         (files-tests--copy-directory): Cleanup temporary directories.
16544 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
16546         Remove old cl-assert calls in 'newline'
16548         * lisp/simple.el (newline): Remove cl-assert calls
16549         that didn't seem to be helping us debug Bug#18913,
16550         and that caused problems as reported in Bug#28280.
16551         Suggested by Glenn Morris (Bug#28280#8).
16553 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
16555         Avoid crash with C-g C-g in GC
16557         Problem reported by Richard Stallman (Bug#17406).
16558         Based on fix suggested by Eli Zaretskii (Bug#28279#16).
16559         * src/term.c (tty_send_additional_strings):
16560         Use only safe accessors, to avoid crash when C-g C-g in GC.
16562 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
16564         Fix format-time-string %Z bug with negative tz
16566         * src/editfns.c (tzlookup): Fix sign error in %Z when a purely
16567         numeric zone is negative (Bug#28746).
16568         * test/src/editfns-tests.el (format-time-string-with-zone):
16569         Add test for this bug.
16571 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
16573         message-citation-line-format %Z is now tz name
16575         * etc/NEWS:
16576         * lisp/gnus/message.el (message-citation-line-format):
16577         Fix doc to match new behavior (Bug#28476).
16579 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
16581         Use doc-view or pdf-tools on any window-system
16583         * lisp/net/mailcap.el (mailcap-mime-data): Simply check for
16584         window-system.
16586 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
16588         Fix bug with min and max and NaNs
16590         * src/data.c (minmax_driver): Fix bug with (min 0 NaN), which
16591         mistakenly yielded 0.  Also, pacify GCC in a better way.
16592         * test/src/data-tests.el (data-tests-min): Test for the bug.
16594 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
16596         Fix recently-introduced copy-directory bug
16598         Problem reported by Andrew Christianson (Bug#28451):
16599         * lisp/files.el (copy-directory): If COPY-CONTENTS, make the
16600         destination directory if it does not exist, even if it is a
16601         directory name.  Simplify, and omit unnecessary test for an
16602         already-existing non-directory target, since make-directory
16603         diagnoses that for us now.
16604         * test/lisp/files-tests.el (files-tests--copy-directory):
16605         Test for this bug.
16607 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
16609         Merge from Gnulib
16611         This incorporates:
16612         2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
16613         2017-09-13 all: Replace many more http URLs by https URLs
16614         * build-aux/config.guess, build-aux/config.sub:
16615         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
16616         * lib/allocator.h, lib/count-leading-zeros.h:
16617         * lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
16618         * lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
16619         * lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
16620         * lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
16621         * m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
16622         * m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
16623         Copy from Gnulib.
16624         * lib/gnulib.mk.in: Regenerate.
16626 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
16628         Fix compatibility problem in Tramp
16630         * lisp/net/tramp.el (tramp-interrupt-process): Better error handling.
16632         * lisp/net/tramp-compat.el (default-toplevel-value): Move up.
16633         (top): Do not call `tramp-change-syntax' anymore.
16634         (tramp-compat-directory-name-p): New defalias.
16636         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
16637         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
16638         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
16639         (tramp-smb-handle-copy-file): Use it.
16641         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
16642         Modify test.
16644 2017-09-17  Eli Zaretskii  <eliz@gnu.org>
16646         Avoid GCC 7 compilation warning in eval.c
16648         * src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
16649         GCC compilation warning.  Suggested by Paul Eggert <eggert@cs.ucla.edu>
16650         in https://lists.gnu.org/r/emacs-devel/2017-09/msg00492.html.
16652 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
16654         Adapt Tramp version.  Do not merge
16656         * doc/misc/trampver.texi:
16657         * lisp/net/trampver.el: Change version to "2.3.3.26.1".
16658         (customize-package-emacs-version-alist): Add Tramp version
16659         integrated in Emacs 26.1.
16661 2017-09-17  Tom Tromey  <tom@tromey.com>
16663         Search for Syntax section when viewing MDN
16665         * lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
16666         "Syntax" section.
16668 2017-09-17  Tom Tromey  <tom@tromey.com>
16670         Allow smerge-keep-current to work for empty hunks
16672         Bug#25555
16673         * lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
16674         match-end.
16675         * test/lisp/vc/smerge-mode-tests.el: New file.
16677 2017-09-17  Tom Tromey  <tom@tromey.com>
16679         Call vc-setup-buffer in vc-git-log-{in,out}going
16681         Bug#28427:
16682         * lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
16683         vc-setup-buffer.
16685 2017-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
16687         Fix last change to textmodes/page-ext.el
16689         * lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
16690         while we build it (bug#28431).
16692 2017-09-16  Glenn Morris  <rgm@gnu.org>
16694         * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcms2 not present.
16696 2017-09-16  Glenn Morris  <rgm@gnu.org>
16698         * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
16700         (cherry picked from commit 8081df26911c63aadfce4ee8f6a7223d814baeaf)
16702 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
16704         Fix compilation warning in etags.c
16706         * lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL
16707         pointer.  Reported by Richard Copley <rcopley@gmail.com>.
16709 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
16711         Add lisp variable lcms-d65-xyz
16713         This serves as the default optional argument for functions in this
16714         library.
16715         * src/lcms.c (lcms-d65-xyz): New variable.
16716         (lcms-cam02-ucs): Use it.  Use better word in docstring.  Fix bug
16717         color1 -> color2.
16718         * test/src/lcms-tests.el: Add some tests for lcms-cri-cam02-ucs.
16719         (lcms-colorspacious-d65): New variable.
16721 2017-09-16  Gemini Lasswell  <gazally@runbox.com>
16723         * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765)
16725 2017-09-16  Andy Moreton  <andrewjmoreton@gmail.com>
16727         Avoid MinGW64 compiler warnings in unexw32.c
16729         * src/unexw32.c (pDWP) [MINGW_W64]: Define to "16llx" only for the
16730         64-bit build.
16732 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
16734         Start emacs-26 release branch
16736         * configure.ac:
16737         * nt/README.W32:
16738         * README:
16739         * msdos/sed2v2.inp: Increment Emacs version to 26.0.60.
16741         * lisp/cus-edit.el (customize-changed-options-previous-release):
16742         Update value to "25.3".
16744 2017-09-16  Alan Mackenzie  <acm@muc.de>
16746         Cope better with C++ and Objective-C protection keywords in class declarations
16748         This fix fixes the fontification of a method inside a class at the time it is
16749         typed, when there is a protection keyword clause preceding it.
16751         * lisp/progmodes/cc-engine.el (c-forward-keyword-clause): Handle protection
16752         keywords.
16753         (c-looking-at-decl-block): Avoid scanning forward over protection keyword
16754         clauses too eagerly.
16756         * lisp/progmodes/cc-langs.el (c-protection-key c-post-protection-token): New
16757         lang defconsts and defvars.
16759         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When we encounter a protection
16760         keyword following a semicolon or brace, move forward over it before attempting
16761         to parse a type.
16763 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
16765         Fix order of sorted overlays returned by 'overlays-at'
16767         * src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
16768         list of results, to have their order as per the documentation.
16769         (Bug#28390)
16771         * etc/NEWS: Mention the change in the behavior of overlays-at.
16773 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
16775         Disable execution of unsafe Lisp by Enriched Text mode
16777         * src/xdisp.c (handle_display_spec): If the display property is
16778         wrapped in 'disable-eval' form, disable Lisp evaluation while
16779         processing this property.
16780         (handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
16781         If that argument is false, don't evaluate Lisp while processing
16782         display properties.
16784         * lisp/textmodes/enriched.el
16785         (enriched-allow-eval-in-display-props): New defcustom.
16786         (enriched-decode-display-prop): If
16787         enriched-allow-eval-in-display-props is nil, wrap the display
16788         property with 'disable-eval' to disable Lisp evaluation when the
16789         display property is processed for display.  (Bug#28350)
16790         * lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
16791         enriched text.
16793         * doc/lispref/display.texi (Display Property): Document the
16794         'disable-eval' wrapping of 'display' properties.
16795         * doc/emacs/text.texi (Enriched Properties): Document
16796         'enriched-allow-eval-in-display-props'.
16798         * etc/NEWS: Describe the security issues with Enriched Text mode
16799         and their solution.
16801 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
16803         Avoid MinGW64 compilation warning in w32.c
16805         * src/w32.c (sys_strerror): Provide a prototype for MinGW64.
16807 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
16809         Fix MS-Windows build broken by recent changes in lcms.c
16811         * src/lcms.c [WINDOWSNT]: Define types for cmsWhitePointFromTemp
16812         and cmsxyY2XYZ function pointers.
16813         (init_lcms_functions) [WINDOWSNT]: Load cmsWhitePointFromTemp and
16814         cmsxyY2XYZ from liblcms2.
16815         (cmsWhitePointFromTemp, cmsxyY2XYZ) [WINDOWSNT]: Redirect to the
16816         corresponding function pointers.
16817         (Flcms_temp_to_white_point): Minor stylistic changes.  Doc fix.
16818         (syms_of_lcms2): Defsubr Slcms_temp_to_white_point.
16820 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
16822         Avoid GCC 7 compilation warning in data.c
16824         * src/data.c (minmax_driver): Use UNINIT to avoid compilation
16825         warnings.  Reported by Fabrice Popineau
16826         <fabrice.popineau@centralesupelec.fr>.
16828 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
16830         Add lcms-temp->white-point and initial tests
16832         * src/lcms.c (lcms-temp->white-point): New function.
16833         * test/src/lcms-tests.el: New file.
16835 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
16837         Use cl-print in timer list
16839         * lisp/emacs-lisp/timer-list.el (timer-list): Use cl-print
16840         for handling functions.
16841         (timer-list-mode): Capitalize major mode name.  Set bidi direction
16842         as in tabulated-list-mode.
16844 2017-09-15  Vincent Belaïche  <vincentb1@users.sourceforge.net>
16846         Make landscape layout with geometry package rather than a PostScript special.
16848         * lisp/calendar/cal-tex.el (cal-tex-preamble): Make 12pt the
16849         default class option.
16850         (cal-tex-year, cal-tex-cursor-month-landscape): Pass landscape
16851         request to `cal-tex-insert-preamble' function call within the
16852         class option string.
16853         (cal-tex-cursor-month): Don't pass any longer "12pt" argument
16854         to `cal-tex-insert-preamble' function, as it is default.
16855         (cal-tex-insert-preamble): Suppress landscape and size
16856         argument, and replace them by a class-options string
16857         argument. Do not insert any longer "\special{landscape}" in
16858         case of landscape layout, as the job is made by the geometry
16859         package.
16861 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
16863         * lisp/json.el (json-read-keyword): Revert previous change to catch EOL.
16865 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
16867         One more attempt to avoid GCC 7 warnings in dispnew.c
16869         * src/dispnew.c (adjust_glyph_matrix): Use eassume instead of
16870         eassert, to avoid compilation warnings about NULL pointer
16871         dereferences.
16873 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
16875         Fix color-distance docstring
16877         Also feed the translated color to the metric argument.
16878         * src/xfaces.c (color-distance): Reword docstring to be more helpful.
16879         Avoid duplicating effort in lcms2 by passing the translated 16 bit RGB
16880         instead of the function's color arguments.
16882 2017-09-15  Michael Albinus  <michael.albinus@gmx.de>
16884         Improve Tramp behavior according to bug#27986
16886         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
16887         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
16888         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
16889         (tramp-smb-handle-copy-file): Check, that NEWNAME is a
16890         directory name when existing.  Use `file-name-as-directory'
16891         where appropriate.
16893 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
16895         More JSON optimization
16897         Last I checked, inlining json-skip-whitespace didn't make much
16898         difference.  However, changing defsubsts to define-inline results
16899         in roughly 15% reduction in read time on a 200K file.
16900         * lisp/json.el (json-advance, json-peek, json-pop):
16901         (json-skip-whitespace): Inline with define-inline.
16902         (json-read-keyword): Don't use whitespace syntax.
16903         (json-add-to-object): Simpler condition.
16905 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
16907         Avoid crashes due to invalid error forms from sentinels/filters
16909         * src/process.c (exec_sentinel_error_handler): Make sure the error
16910         form passed to cmd_error_internal is a cons cell.  (Bug#28430)
16912 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
16914         Avoid compilation warnings with GCC 7 on MS-Windows
16916         * src/w32term.c (w32_setup_relief_color, construct_mouse_click)
16917         (w32_read_socket): Initialize variables to shut up bogus
16918         compilation warnings from GCC 7.
16919         * src/unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Cast to DWORD_PTR
16920         to avoid compiler warnings about printing signed values using %x
16921         format spec.
16922         * src/dispnew.c (adjust_glyph_matrix): Add eassert to avoid
16923         compiler warning about possible NULL pointer dereference.
16924         * src/lisp.h (pI): Tweak the definition some more for MinGW64.
16926 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
16928         Define gnutls_rnd for WINDOWSNT and HAVE_GNUTLS3 case only
16930         * src/fns.c (gnutls_rnd): Define for WINDOWSNT and HAVE_GNUTLS3
16931         case only to avoid unused macros warning otherwise.
16933 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
16935         In w32heap.c bump up DUMPED_HEAP_SIZE
16937         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump up DUMPED_HEAP_SIZE
16938         to 13*1024*1024 for 32-bit non-wide-integer builds.
16940 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
16942         Bind n,p in timer-list
16944         * lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Bind n and p
16945         to next- and previous-line, respectively.
16947 2017-09-14  Glenn Morris  <rgm@gnu.org>
16949         * lisp/net/tls.el (tls-program): Fix :version.
16951 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
16953         * configure.ac (--with-lcms2, --without-lcms2): New options.
16955 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
16957         Avoid 64-bit compilation warnings in unexw32.c
16959         * src/unexw32.c (pDWP): New macro.
16960         (COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR.  Use
16961         pDWP for printing values that can be either 32-bit or 64-bit wide.
16963 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
16965         Fix warnings about formats in printf-like functions on MS-Windows
16967         * src/lisp.h (pI) [__MINGW32__]: Provide definition that will
16968         hopefully DTRT with both MinGW64 and mingw.org's MinGW.  See
16969         https://lists.gnu.org/r/emacs-devel/2017-09/msg00171.html
16970         for the details.
16971         * src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
16972         definition specific to MinGW64.
16973         (PRINTF_ARCHETYPE) [__MINGW32__]: For mingw.org's MinGW, use
16974         __mingw_printf__ in ANSI-compatible mode.
16976 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
16978         Support lcms2 in MS-Windows builds
16980         * lisp/term/w32-win.el (dynamic-library-alist): Include
16981         association for the lcms2 library.
16983         * src/lcms.c [WINDOWSNT]: Include windows.h and w32.h.  Use
16984         DEF_DLL_FN to define pointers to dynamically loaded lcms2
16985         functions.
16986         (cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
16987         (cmsCIECAM02Done): New macros.
16988         (init_lcms_functions, Flcms2_available_p): New functions.
16989         (Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
16990         init_lcms_functions.
16991         (syms_of_lcms2): Defsubr lcms2-available-p.
16992         * src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.
16994         * configure.ac: Include lcms2 in the final report and in
16995         emacs_config_features.
16997         * nt/INSTALL:
16998         * nt/INSTALL.W64: Update with the information about lcms2 library.
17000 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
17002         Port renameat_noreplace to openSUSE 12.3
17004         Problem reported by M. Nomiya in:
17005         https://lists.gnu.org/r/emacs-devel/2017-09/msg00363.html
17006         * src/sysdep.c (renameat_noreplace):
17007         Call renameat2 only if CYGWIN.
17009 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
17011         Prefer HTTPS to FTP and HTTP in documentation
17013         Most of this change is to boilerplate commentary such as license URLs.
17014         This change was prompted by ftp://ftp.gnu.org's going-away party,
17015         planned for November.  Change these FTP URLs to https://ftp.gnu.org
17016         instead.  Make similar changes for URLs to other organizations moving
17017         away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
17018         fsf.org when this works, as this will further help defend against
17019         man-in-the-middle attacks (for this part I omitted the MS-DOS and
17020         MS-Windows sources and the test tarballs to keep the workload down).
17021         HTTPS is not fully working to lists.gnu.org so I left those URLs alone
17022         for now.
17024 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
17026         Prefer HTTPS to HTTP for gnu.org
17028         This patch just changes code files; a followup companion patch
17029         (much larger) will affect the commentary.  This part is
17030         separated out to make it easier to review.
17031         * .dir-locals.el (change-log-mode):
17032         * lisp/org/org-info.el (org-info-other-documents)
17033         (org-info-map-html-url):
17034         * lisp/org/ox-html.el (org-html-creator-string):
17035         * lisp/startup.el (fancy-startup-text, fancy-about-text)
17036         (fancy-splash-head):
17037         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
17038         * test/lisp/thingatpt-tests.el (thing-at-point-test-data):
17039         Use HTTPS instead of HTTP.
17041 2017-09-13  Simen Heggestøyl  <simenheg@gmail.com>
17043         Add tests for color.el
17045         * lisp/color.el (color-name-to-rgb, color-complement): Clarify in
17046         docstrings that RGB triplets should use four digits per component.
17047         (color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
17048         warning.
17050         * test/lisp/color-tests.el: New file.
17052 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
17054         Make gnutls-verify-error work again with url-retrieve-synchronously
17056         * lisp/url/url-gw.el (url-open-stream): Only use :nowait if
17057         we're doing async connections (bug#26835).
17059         * lisp/url/url-parse.el (url): Add an asynchronous slot.
17061         * lisp/url/url.el (url-asynchronous): New variable.
17062         (url-retrieve-internal): Store the value.
17063         (url-retrieve-synchronously): Bind the variable.
17065 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
17067         Improve backward compatibility of tramp-tests
17069         * test/lisp/net/tramp-tests.el (seq): Don't require.
17070         (tramp--test-emacs26-p): New defun.
17071         (tramp-test10-write-region, tramp-test11-copy-file)
17072         (tramp-test12-rename-file, tramp-test15-copy-directory)
17073         (tramp-test21-file-links): Use it.
17074         (tramp-test16-file-expand-wildcards): Use `copy-sequence'.
17076 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
17078         * lisp/net/trampver.el (customize-package-emacs-version-alist):
17080         Add Tramp version integrated in Emacs 25.3.
17082 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
17084         Add clarification to if-let* docstring
17086         Also make its behavior consistent with and-let* in that empty bindings
17087         results in success, not failure.
17088         * lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.
17090 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
17092         Make fully qualified domain names more fully qualified
17094         * lisp/gnus/message.el (message-make-fqdn): Don't try to use a
17095         system-name without any periods as a fully qualified domain name.
17097 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17099         Remove unused file lib/getopt_.h
17101         * lib/getopt_.h: Remove.  It was renamed to lib/getopt.in.h etc.
17102         on 2011-01-08, but I forgot to remove the old file.
17104 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
17106         Remove "baroque" use of prefix argument from gensym
17108         'cl-gensym' was simply moved here, but let us take an opportunity to
17109         shed some historical baggage.
17110         * lisp/subr.el (gensym): Remove special treatment of PREFIX as a
17111         number.  Use "g" as prefix to differentiate from cl-gensym defaults.
17112         * doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
17113         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.
17115 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
17117         Provide an lcms2 feature
17119         * src/lcms.c (syms_of_lcms2): Provide "lcms2".
17121 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
17123         Add lcms2 interface
17125         configure.ac: Add boilerplate for configuring and detecting liblcms2.
17126         etc/NEWS: Mention new configure option and color-distance change.
17127         src/Makefile.in: Add references to lcms.c and liblcms.
17128         src/emacs.c: Define lcms2 symbols.
17129         src/lcms.c: New file.
17130         src/lisp.h: Add declaration for lcms2.
17131         src/xfaces.c: Add optional METRIC argument.
17133 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
17135         Add other D series white points and some simple conversions
17137         * lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
17138         constants.
17139         (color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
17140         (color-lch-to-lab): New functions.
17142 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
17144         Permit non-integral color gradients
17146         * lisp/color.el (color-gradient): Float the step-number.
17148 2017-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
17150         Protect against malformed MIME messages that cause inf-loop (bugfix)
17152         * lisp/gnus/gnus-art.el (gnus-article-mime-handles):
17153         Protect against malformed MIME messages that cause inf-loop.
17155 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
17157         Merge from Gnulib
17159         This incorporates:
17160         2017-09-13 all: prefer https: URLs
17161         This just changes http: to https: in comments,
17162         in files copied from Gnulib.
17164 2017-09-13  Dmitry Gutov  <dgutov@yandex.ru>
17166         Call vc-resynch-buffer in vc-git-resolve-when-done
17168         * lisp/vc/vc-git.el (vc-git-resolve-when-done):
17169         Call vc-resynch-buffer on the current file (bug#28121).
17170         Move its autoload to before this function.
17172 2017-09-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
17174         Allow write-contents-functions to short-circuit buffer save
17176         Bug#28412
17178         * lisp/files.el (basic-save-buffer): Re-arrange function so that
17179           write-contents-functions are run earlier. If they return non-nil,
17180           consider the buffer saved without requiring the buffer to be
17181           visiting a file.
17182           (save-some-buffers): This function should consider any buffer with a
17183           buffer-local value for write-contents-functions eligible for
17184           saving.
17185         * test/lisp/files-tests.el (files-test-no-file-write-contents): New
17186           test.
17187         * doc/lispref/files.texi (Saving Buffers): Mention in docs.
17188         * etc/NEWS: And in NEWS.
17190 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
17192         * etc/NEWS.25: Copy from emacs-25 etc/NEWS.
17194 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
17196         Less chatter for ’make info/dir’
17198         * Makefile.in (${srcdir}/info/dir): Tweak shell command so
17199         that an ordinary make says just "GEN info/dir" rather than
17200         also having a seemingly-unrelated mv line.
17202 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
17204         Tweak Gnus doc re gnus-copy-file
17206         * doc/misc/gnus.texi (Saving Articles):
17207         Document behavior with directory name targets (Bug#27986).
17208         Problem reported by Katsumi Yamaoka in:
17209         https://lists.gnu.org/r/emacs-devel/2017-09/msg00216.html
17211 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
17213         Update uses of if-let and when-let
17215         * lisp/dom.el (dom-previous-sibling):
17216         * lisp/emacs-lisp/package.el (package--with-work-buffer):
17217         (package--sort-deps-in-alist, package--sort-by-dependence):
17218         (package-install-from-archive, package-install):
17219         (package-menu-execute, package-menu--populate-new-package-list):
17220         * lisp/filenotify.el (file-notify--rm-descriptor):
17221         (file-notify--event-watched-file, file-notify--event-file-name):
17222         (file-notify--event-file1-name, file-notify-rm-watch):
17223         (file-notify-valid-p):
17224         * lisp/gnus/message.el (message-toggle-image-thumbnails):
17225         * lisp/gnus/nnimap.el (nnimap-request-move-article):
17226         * lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
17227         * lisp/mpc.el (mpc-format):
17228         * lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
17229         (eww-save-history):
17230         * lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
17231         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
17232         * lisp/svg.el (svg-remove):
17233         * lisp/textmodes/css-mode.el (css--named-color):
17234         (css--colon-inside-funcall):
17235         * lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
17236         (html-current-buffer-ids): Use if-let* and when-let* instead.
17238 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
17240         Implement and-let*
17242         This also includes changes to if-let and when-let.  The single tuple
17243         special case is ambiguous, and binding a symbol to nil is not as
17244         useful as binding it to its value outside the lexical scope of the
17245         binding.  (Bug#28254)
17246         * etc/NEWS: Mention.
17247         * lisp/emacs-lisp/subr-x.el (internal--listify):
17248         (internal--build-binding-value-form): Extend to account for
17249         solitary symbols and (EXPR) items in binding varlist.
17250         (if-let*, when-let*): Nix single tuple case and incumbent
17251         bind-symbol-to-nil behavior.
17252         (and-let*): New macro.
17253         (if-let, when-let): Mark obsolete.  Redefine in terms of if-let*, so
17254         they implicitly gain the new features without breaking existing code.
17255         * test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
17256         single-tuple special case, lack of binding solitary symbols to nil,
17257         and the introduction of uninterned symbols for (EXPR) bindings.  Add
17258         SRFI-2 test suite adapted to Elisp.
17260 2017-09-12  Eli Zaretskii  <eliz@gnu.org>
17262         Fix minor typos in the Emacs manual
17264         * doc/emacs/text.texi (Org Organizer):
17265         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.
17267 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
17269         Merge Emacs 25.3 fixes
17271         The security patches released for Emacs 25.3 were less drastic
17272         than what we had immediately put into master.  Adjust master to
17273         match 25.3 (Bug#28350).
17274         * lisp/textmodes/enriched.el (enriched-translations):
17275         Re-enable FUNCTION and display translations that are safe.
17276         (enriched-handle-display-prop): Bring back.
17277         (enriched-decode-display-prop): Bring back, but disable
17278         the unsafe part.
17280 2017-09-12  Alan Mackenzie  <acm@muc.de>
17282         Don't match C++ template delims starting within a token.  FIxes bug #28418.
17284         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
17285         attempted match from the start of a token (in particular, "<<"), move to the
17286         next token rather than the nex character before searching for the next "<".
17288 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
17290         Move gensym to core Elisp
17292         * doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
17293         after make-symbol.
17294         * etc/NEWS: Mention.
17295         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
17296         gensym-counter.
17297         (cl-gensym): Alias to gensym.
17298         * lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
17299         * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
17300         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
17301         (ert--expand-should-1, ert--expand-should):
17302         (ert--should-error-handle-error):
17303         * lisp/emacs-lisp/generator.el (cps--gensym):
17304         * lisp/emacs-lisp/gv.el (setf):
17305         * lisp/emacs-lisp/inline.el (inline--do-letlisteval):
17306         * lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
17307         (pcase--funcall, pcase--u1): Use gensym.
17308         * lisp/subr.el (gensym-counter): New variable.
17309         (gensym): New function, assimilated from cl-lib.
17311 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
17313         Fix cl-gentemp
17315         * lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
17316         (cl-gentemp): Use it.  Change prefix to "T".
17318 2017-09-12  Sam Steingold  <sds@gnu.org>
17320         gnus-score-file-name: Do not append empty suffix.
17322 2017-09-12  Michael Albinus  <michael.albinus@gmx.de>
17324         Extend tramp-tests according to bug#27986
17326         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
17327         (tramp-test12-rename-file, tramp-test15-copy-directory)
17328         (tramp-test21-file-links): Extend tests.
17329         (tramp-test13-make-directory, tramp-test14-delete-directory):
17330         Specifiy error symbol in `should-error'.
17332 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
17334         Add cl-print method for hash tables
17336         * lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
17338 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
17340         Add docstrings to cl-print entry points
17342         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
17343         (cl-prin1, cl-prin1-to-string): Add docstrings.
17345 2017-09-12  Glenn Morris  <rgm@gnu.org>
17347         Improve reproducibility of generated leim-list.el
17349         * lisp/international/quail.el (quail-update-leim-list-file):
17350         Sort the quail directory listing, for more stable output.
17352 2017-09-11  Mark Oteiza  <mvoteiza@udel.edu>
17354         Include sxhash of object with printed bytecode
17356         This printing, while succint, is rather opaque.  At least give an
17357         immediate clue of whether different byte code printouts are for the
17358         same or different byte code objects.
17359         * lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
17360         printed token "#<bytecode>".
17362 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
17364         Update documentation of 'max-lisp-eval-depth'
17366         * doc/lispref/eval.texi (Eval): Update the documented default
17367         value of 'max-lisp-eval-depth'.
17369 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
17371         Another place to produce debugging output in etags
17373         * lib-src/etags.c (Ruby_functions): One more place to print
17374         debugging output under --debug.
17376 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
17378         Improve documentation of etags-related features
17380         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
17381         'xref-prompt-for-identifier'.  (Bug#28403)
17382         (Etags Regexps): Document \D back references in etags regexps.
17384 2017-09-11  Alan Third  <alan@idiocy.org>
17386         Fix macOS compatibility versions for vibrant dark theme (bug#28415)
17388         * src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs):
17389         Change macOS compatibility from 10.9 to 10.10.
17391 2017-09-11  Michael Albinus  <michael.albinus@gmx.de>
17393         Further optimization in Tramp's file name decomposition
17395         * lisp/net/tramp.el (tramp-syntax): Recompute all file name
17396         components.  Call `custom-set-variables' after loading.
17397         (tramp-build-prefix-format, tramp-build-prefix-regexp)
17398         (tramp-build-method-regexp)
17399         (tramp-build-postfix-method-format)
17400         (tramp-build-postfix-method-regexp)
17401         (tramp-build-prefix-ipv6-format)
17402         (tramp-build-prefix-ipv6-regexp)
17403         (tramp-build-postfix-ipv6-format)
17404         (tramp-build-postfix-ipv6-regexp)
17405         (tramp-build-postfix-host-format)
17406         (tramp-build-postfix-host-regexp)
17407         (tramp-build-file-name-regexp)
17408         (tramp-build-completion-file-name-regexp): New defuns.
17409         (tramp-prefix-format, tramp-prefix-regexp)
17410         (tramp-method-regexp, tramp-postfix-method-format)
17411         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
17412         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
17413         (tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
17414         (tramp-postfix-host-regexp)
17415         (tramp-remote-file-name-spec-regexp)
17416         (tramp-file-name-structure, tramp-file-name-regexp)
17417         (tramp-completion-file-name-regexp): Convert defuns into defvars.
17418         (tramp-prefix-regexp-alist)
17419         (tramp-postfix-method-regexp-alist)
17420         (tramp-prefix-ipv6-regexp-alist)
17421         (tramp-postfix-ipv6-regexp-alist)
17422         (tramp-postfix-host-regexp-alist)
17423         (tramp-remote-file-name-spec-regexp-alist): Remove.
17424         (tramp-build-remote-file-name-spec-regexp)
17425         (tramp-build-file-name-structure): Simplify.
17426         (tramp-completion-file-name-regexp-alist): New defconst.
17427         (tramp-tramp-file-p, tramp-dissect-file-name)
17428         (tramp-make-tramp-file-name)
17429         (tramp-completion-make-tramp-file-name)
17430         (tramp-rfn-eshadow-update-overlay-regexp)
17431         (tramp-register-file-name-handlers)
17432         (tramp-completion-handle-file-name-all-completions)
17433         (tramp-completion-dissect-file-name, tramp-clear-passwd):
17434         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
17435         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
17436         (tramp-compute-multi-hops): Use variables but functions for
17437         file name components.
17439         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
17440         Use variables but functions for file name components.
17442 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17444         Port tramp-tests to new copy-directory behavior
17446         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
17447         Use directory name as arg for copy-directory when we want
17448         the special behavior.
17450 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17452         Adjust thumbs to new rename-file behavior
17454         * etc/NEWS: Mention this.
17455         * lisp/thumbs.el (thumbs-rename-images): Treat the destination
17456         as special only if it is a directory name.  When there is
17457         a marked list, turn the destination into a directory name
17458         if it is not already.
17460 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17462         Adjust ob-tangle to new copy-file behavior
17464         * lisp/org/ob-tangle.el (org-babel-tangle-publish):
17465         Port to new copy-file behavior.
17467 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17469         Make gnus-copy-file act like copy-file etc.
17471         * etc/NEWS: Mention this.
17472         * lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
17473         as special only if it is a directory name.
17475 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17477         Make write-file act like copy-file etc.
17479         Change write-file to be consistent with the new behavior
17480         of copy-file, etc.
17481         * etc/NEWS: Mention this.
17482         * lisp/files.el (write-file): Treat the destination as special
17483         only if it is a directory name.
17485 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17487         Make copy-directory act like copy-file etc.
17489         Do the special dance with the destination only if it is a
17490         directory name, for consistency with copy-file etc. (Bug#27986).
17491         * doc/emacs/files.texi (Copying and Naming):
17492         * doc/lispref/files.texi (Create/Delete Dirs):
17493         * etc/NEWS: Document this.
17494         * lisp/files.el (copy-directory): Treat NEWNAME as special
17495         only if it is a directory name.
17497 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17499         Fix some make-directory bugs
17501         * lisp/files.el (files--ensure-directory): New function.
17502         (make-directory): Use it to avoid bugs when (make-directory FOO t)
17503         is invoked on a non-directory, or on a directory hierarchy that
17504         is being built by some other process while Emacs is running.
17505         * test/lisp/files-tests.el (files-tests--make-directory): New test.
17507 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
17509         Fix race with rename-file etc. with dir NEWNAME
17511         This changes the behavior of rename-file etc. slightly.
17512         The old behavior mostly disagreed with the documentation, and had
17513         a race condition bug that could allow attackers to modify victims'
17514         write-protected directories (Bug#27986).
17515         * doc/lispref/files.texi (Changing Files): Document that in
17516         rename-file etc., NEWFILE is special if it is a directory name.
17517         * etc/NEWS: Document the change in behavior.
17518         * src/fileio.c (directory_like): Remove.  All uses removed.
17519         (expand_cp_target): Test only whether NEWNAME is a directory name,
17520         not whether it is currently a directory.  This avoids a race.
17521         (Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
17522         Document behavior if NEWNAME is a directory name.
17523         (Frename_file): Simplify now that the destdir behavior occurs
17524         only when NEWNAME is a directory name.
17525         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
17526         (tramp-test12-rename-file, tramp--test-check-files):
17527         Adjust tests to match new behavior.
17529 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
17531         Extend --debug printouts in etags
17533         * lib-src/etags.c (regex_tag_multiline, readline): Under
17534         "--debug", print tags found via regexps.
17536 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
17538         Add --debug option to etags
17540         * lib-src/etags.c (make_tag): Print found tags under --debug.
17541         (longopts): Add --debug.
17543 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
17545         Spelling fixes
17547         * lisp/progmodes/cc-langs.el:
17548         (c-ambiguous-overloadable-or-identifier-prefixes): Rename from
17549         c-ambiguous-overloadable-or-identifier-prefices.  Caller changed.
17551 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
17553         Merge from gnulib
17555         This incorporates:
17556         2017-09-08 stddef: Avoid conflict with system-defined max_align_t
17557         2017-08-24 warnings: fix compilation with old autoconf
17558         2017-08-23 glob: merge from glibc with Zanella glob changes
17559         2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
17560         * doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
17561         * lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
17562         * m4/warnings.m4:
17563         Copy from Gnulib.
17564         * lib/gnulib.mk.in: Regenerate.
17566 2017-09-10  Ken Brown  <kbrown@cornell.edu>
17568         Implement renameat_noreplace on recent Cygwin
17570         * src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
17571         (renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
17572         (Bug#27986)
17574 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
17576         Avoid warnings about file names in autoloads on MS-Windows
17578         * configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
17579         avoid warnings from find-file-noselect when making autoloads.  For
17580         the details, see
17581         https://lists.gnu.org/r/emacs-devel/2017-09/msg00049.html.
17583 2017-09-10  Mark Oteiza  <mvoteiza@udel.edu>
17585         Avoid looking at localized strings
17587         * lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
17588         localized strings.
17589         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
17590         parsing l10n strings doesn't error but is essentially a no-op.
17592 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
17594         * etc/NEWS.25: Document 25.3 changes.
17596 2017-09-10  Lars Ingebrigtsen  <larsi@gnus.org>
17598         Remove unsafe enriched mode translations
17600         * lisp/gnus/mm-view.el (mm-inline-text):
17601         Do not worry about enriched or richtext type.
17602         * lisp/textmodes/enriched.el (enriched-translations):
17603         Remove translations for FUNCTION, display (Bug#28350).
17604         (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
17606 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
17608         Be more consistent about "directory name" in manual
17610         This clarifies the documentation, partly in response to the
17611         discussion in Bug#27986.
17613 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
17615         Remove more compilation warnings in MinGW64 build
17617         * src/w32.c (faccessat, map_w32_filename):
17618         * src/w32fns.c (w32_wnd_proc):
17619         * src/w32term.c (w32_horizontal_scroll_bar_handle_click)
17620         (w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler
17621         warnings with GCC 7 and later.
17623 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
17625         Improve --enable-gcc-warnings for MinGW64
17627         This partially reverts my 2016-05-30 patch.  Apparently MinGW64
17628         still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
17629         does not.  Also, pacify tparam.c, which isn’t used on Fedora.
17630         * lib-src/etags.c (process_file_name, TeX_commands):
17631         * src/buffer.c (fix_overlays_before):
17632         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
17633         (cons_to_signed):
17634         * src/editfns.c (Ftranslate_region_internal):
17635         Prefer UNINIT to some stray value, as this simplifies
17636         code-reading later.
17637         * src/eval.c (CACHEABLE): New macro.
17638         (internal_lisp_condition_case): Use it.
17639         * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
17641 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
17643         Fix font-lock in Compilation mode
17645         * lisp/progmodes/compile.el (compilation-face): Restore function
17646         lost during recent changes.  (Bug#28349)
17648 2017-09-09  Mark Oteiza  <mvoteiza@udel.edu>
17650         Add function to read all entries in a group
17652         Use that to extend xdg-desktop-read-file.  Also fix a bug where all
17653         entries in all groups were read and returned by xdg-desktop-read-file.
17654         * lisp/xdg.el (xdg-desktop-read-group): New function.
17655         (xdg-desktop-read-file): Use it.
17656         * test/data/xdg/malformed.desktop: New file.
17657         * test/data/xdg/test.desktop: Add another section.
17658         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
17659         in another group.  Test reading a prescribed group.  Test detecting a
17660         malformed key=value.
17662 2017-09-09  Gemini Lasswell  <gazally@runbox.com>
17664         Reduce Tramp's memory usage
17666         Construct Tramp syntax strings and regular expressions once instead
17667         of every time they are used, and store them in alists keyed by Tramp
17668         syntax.
17669         * lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp)
17670         (tramp-build-file-name-structure): New functions.
17671         (tramp-prefix-format-alist, tramp-prefix-regexp-alist)
17672         (tramp-method-regexp-alist)
17673         (tramp-postfix-method-format-alist)
17674         (tramp-postfix-method-regexp-alist)
17675         (tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist)
17676         (tramp-postfix-ipv6-format-alist)
17677         (tramp-postfix-ipv6-regexp-alist)
17678         (tramp-postfix-host-format-alist)
17679         (tramp-postfix-host-regexp-alist)
17680         (tramp-remote-file-name-spec-regexp-alist)
17681         (tramp-file-name-structure-alist): New constants.
17682         (tramp-lookup-syntax): New function.
17683         (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
17684         (tramp-postfix-method-format, tramp-postfix-method-regexp)
17685         (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
17686         (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
17687         (tramp-postfix-host-format, tramp-postfix-host-regexp)
17688         (tramp-remote-file-name-spec-regexp, tramp-file-name-structure):
17689         Use it.
17691 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
17693         Fix compilation warnings in MinGW64 build using GCC 7
17695         Reported by Richard Copley <rcopley@gmail.com>.
17696         * src/w32heap.c (init_heap): Declare enable_lfh only for
17697         mingw.org's MinGW build.
17699         * src/w32console.c (w32con_write_glyphs):
17700         * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
17701         mismatches of data type vs format spec.
17703         * src/w32fns.c (compute_tip_xy):
17704         * src/w32proc.c (stop_timer_thread):
17705         * src/w32notify.c (remove_watch):
17706         * src/eval.c (internal_lisp_condition_case):
17707         * src/editfns.c (Ftranslate_region_internal):
17708         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
17709         (cons_to_signed):
17710         * src/buffer.c (fix_overlays_before): Initialize variables to
17711         avoid compiler warnings.
17713         * lib-src/etags.c (TeX_commands, process_file_name): Initialize
17714         variables to avoid compilation warnings.
17716 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
17718         Avoid infloop when scrolling under scroll-preserve-screen-position
17720         * src/window.c (window_scroll_pixel_based): If screen position is
17721         to be preserved, make sure its recorded Y coordinate is outside
17722         the scroll margin.  (Bug#28342)
17724 2017-09-09  Michael Albinus  <michael.albinus@gmx.de>
17726         Clarification in tramp-texi
17728         * doc/misc/tramp.texi (Connection caching): Two connections are
17729         regarded as different now when they differ in the port number only.
17731 2017-09-09  Miles Bader  <miles@gnu.org>
17733         * admin/quick-install-emacs: Tweak configure.ac parsing
17735 2017-09-09  Miles Bader  <miles@gnu.org>
17737         Use text-property buttons in rcirc-markup-urls
17739         * lisp/net/rcirc.el (rcirc-markup-urls): Use `make-text-button'
17740         instead of `make-button'; the former is much more efficient in large
17741         buffers, and for the purposes of rcirc, changes no functionality.
17743 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
17745         Fix line-pixel-height for lines of variable height
17747         * src/xdisp.c (Fline_pixel_height): Start moving from the
17748         beginning of the screen line, to capture the full metrics of the
17749         line.  (Bug#28391)
17751 2017-09-08  Alex Branham  <branham@utexas.edu>  (tiny change)
17753         New variable 'dired-confirm-killing-deleted-buffers'
17755         * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
17756         New variable.
17757         * lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
17758         visiting deleted files without confirming if
17759         dired-clean-confirm-killing-deleted-buffers is nil.  (Bug#28373)
17760         * etc/NEWS: Document the change.
17762 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
17764         Support SVN files with svn:externals property
17766         * lisp/vc/vc-svn.el (vc-svn-parse-status): Don't ignore files
17767         marked with the svn:externals property.
17769 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
17771         List locally removed files in vc-dir with SVN back-end
17773         * lisp/vc/vc-svn.el (vc-svn-after-dir-status): List files marked
17774         with ?! as needs-update.
17776 2017-09-08  Ken Olum  <kdo@cosmos.phy.tufts.edu>
17778         Fix Rmail editing with reapplying encoding to message body
17780         * lisp/mail/rmailedit.el (rmail-cease-edit):  If no
17781         content-type in edited headers, look for one in original
17782         headers and add it to edited headers.  (Bug #26918)
17783         Use a marker to track start of new body, so that
17784         content-transfer-encoding gets applied only to body.  (Bug #27353).
17785         Ensure blank line at end of message after encoding, not
17786         before.
17788 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
17790         Document last change in dired.el
17792         * etc/NEWS (Dired): Document the last change in dired.el.
17793         (Bug#27435)
17795 2017-09-08  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
17797         Make mouse clicks in Dired more customizable
17799         * lisp/dired.el (dired-mouse-find-file): Allow callers to
17800         specify functions to visit file/directory.
17801         (dired-mouse-find-file-other-window)
17802         (dired-mouse-find-file-other-frame): New functions to visit
17803         files in another window/frame.  (Bug#27435)
17805 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
17807         Avoid compiler warnings on MS-Windows with GCC 6 and 7
17809         * src/w32font.c (SUBRANGE): Use unsigned arithmetic for
17810         bit-shifting, to avoid compiler warnings.
17811         (w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
17812         a warning.  For details of the warning, see
17813         https://lists.gnu.org/r/emacs-devel/2017-09/msg00093.html.
17814         * src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
17815         in that build.
17816         * src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
17817         function is not used in that build.
17819         * configure.ac: Disable -Wsuggest-attribute=format on MS-Windows.
17821 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
17823         Fix 'directory-file-name' on DOS_NT systems as well
17825         * src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
17826         to be consistent with last change.
17828         * test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
17829         Disable on MS-Windows.
17830         (fileio-tests--directory-file-name-dos-nt)
17831         (fileio-tests--file-name-as-directory-dos-nt): New tests.
17833 2017-09-08  Wilson Snyder  <wsnyder@wsnyder.org>
17835         Fix various verilog-mode.el issues.
17837         * lisp/progmodes/verilog-mode.el (verilog-expand-dirnames): Fix expanding
17838         "*/*", msg2284. Reported by Jonathan Ferguson.
17839         (ignore-errors): Fix ignore-errors error on Emacs 22.3, bug1177. Reported
17840         by Victor Lau.
17841         (verilog-getopt, verilog-getopt-file) (verilog-library-flags,
17842         verilog-substitute-file-name-path): Support -F in verilog getopt files,
17843         bug1171. Reported by George Cuan.
17844         (verilog-do-indent): Fix misindenting symbols starting with t,
17845         bug1169. Reported by Hoai Tran.
17846         (verilog-read-auto-template-middle): Fix slow template matching on
17847         AUTOINST. Reported by Jeffrey Huynh.
17848         (verilog-pretty-expr): The extra whitespace addition before "=" operators
17849         is now done only if the whole assignment block contains the 2-character
17850         "<=" operator.  Remove the unused argument _myre.  Use `unless',
17851         `save-excursion' and `when' functions where possible.  Internal variables
17852         refactored for clarity.  Follow elisp convention for closing parentheses.
17853         By Kaushal Modi.
17854         (verilog-get-lineup-indent-2): Update docstring.  Internal variables
17855         refactored for clarity.  Earlier EDPOS argument was expected to be a
17856         marker; it is now renamed to END and is now expected to be a position.
17857         Use `when' instead of `if'.  By Kaushal Modi.
17858         (electric-verilog-terminate-line): Remove the unused second argument from
17859         `verilog-pretty-expr' call.  By Kaushal Modi.
17860         (verilog-calc-1): Fix indentation of a virtual class definition after a
17861         typedef class, bug1080.  By Kaushal Modi.
17863 2017-09-08  Katsumi Yamaoka  <yamaoka@jpl.org>
17865         Don't use summary window to visit group buffer (bugfix)
17867         * lisp/gnus/gnus-sum.el (gnus-summary-jump-to-group): Make sure that
17868         the window to open the group buffer doesn't visit the summary buffer.
17869         This fixes a bug: `gnus-summary-next-article' sometimes causes an error
17870         by trying to select nonexistent summary window.
17872 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
17874         Fix bug: (directory-file-name "///") returned "//"
17876         * src/fileio.c (directory_file_name): For "///" and longer,
17877         return "/", not "//", as per POSIX.
17878         * test/src/fileio-tests.el (fileio-tests--directory-file-name)
17879         (fileio-tests--file-name-as-directory): New tests.
17881 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
17883         Remove obsolete vc-mistrust-permissions doc
17885         * doc/emacs/vc1-xtra.texi (RCS and SCCS): Remove documentation
17886         for vc-mistrust-permissions, which no longer exists.
17888 2017-09-07  Alan Third  <alan@idiocy.org>
17890         Set frame size to actual requested size (bug#18215)
17892         * src/nsterm.m (x_set_window_size): Don't use
17893         FRAME_TEXT_TO_PIXEL_WIDTH or FRAME_TEXT_TO_PIXEL_HEIGHT.
17895 2017-09-07  Paul Eggert  <eggert@cs.ucla.edu>
17897         autogen.sh: omit bogus chatter if no .git
17899         Problem reported by Angelo Graziosi in:
17900         https://lists.gnu.org/r/emacs-devel/2017-09/msg00045.html
17901         * autogen.sh (git_config): Do not execut 'git' if $do_git fails.
17903 2017-09-07  Glenn Morris  <rgm@gnu.org>
17905         Skip emacsclient tests if --enable-profiling was used
17907         * test/lib-src/emacsclient-tests.el
17908         (emacsclient-test-call-emacsclient): Make it a macro.
17909         Handle "Profiling timer expired" return from emacsclient.  (Bug#28319)
17910         (emacsclient-test-alternate-editor-allows-arguments)
17911         (emacsclient-test-alternate-editor-allows-quotes): Update for above.
17913 2017-09-06  Eli Zaretskii  <eliz@gnu.org>
17915         Fix a minor markup problem in ELisp manual
17917         * doc/lispref/functions.texi (Mapping Functions): Fix the order of
17918         @example and @group.  For the details, see
17919         https://lists.gnu.org/r/bug-texinfo/2017-09/msg00007.html.
17921 2017-09-06  Mark Oteiza  <mvoteiza@udel.edu>
17923         Add XDG desktop file parsing and tests
17925         * lisp/xdg.el: Add support for Desktop Entry Specification.
17926         (xdg--user-dirs-parse-line): Check if file is readable.
17927         (xdg-desktop-group-regexp, xdg-desktop-entry-regexp): New variables.
17928         (xdg--desktop-parse-line, xdg-desktop-read-file, xdg-desktop-strings):
17929         New functions.
17930         * test/lisp/xdg-tests.el:
17931         * test/data/xdg/test.desktop:
17932         * test/data/xdg/wrong.desktop: New files.
17934 2017-09-06  Glenn Morris  <rgm@gnu.org>
17936         Allow for adjusting line length of test backtraces
17938         * test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
17939         (%.log): Respect backtrace line length.
17941 2017-09-06  Glenn Morris  <rgm@gnu.org>
17943         Allow customizing line length of ert backtraces in batch mode
17945         * lisp/emacs-lisp/ert.el (ert-batch-backtrace-right-margin):
17946         Make it a user option.
17947         (ert-run-tests-batch): Handle ert-batch-backtrace-right-margin nil.
17949 2017-09-06  Glenn Morris  <rgm@gnu.org>
17951         Minor emacsclient-tests simplification
17953         * test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
17954         Simplify.  Also work when running installed.
17956 2017-09-06  Alan Third  <alan@idiocy.org>
17958         Revert "Force screen update after drawing cursor glyph (bug#23774)"
17960         This reverts commit 1b492fa5456e2b6face8d0856f11d17e432693b0.
17962         See bug#28358
17964 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
17966         Refactor some loops in mailcap.el
17968         * lisp/net/mailcap.el (mailcap-mime-types):
17969         (mailcap-file-default-commands): Convert nested maps to loops.
17971 2017-09-05  Glenn Morris  <rgm@gnu.org>
17973         emacsclient-tests: remove some debug statements
17975         * test/lib-src/emacsclient-tests.el
17976         (emacsclient-test-call-emacsclient): Remove debug statements.
17978 2017-09-05  Simen Heggestøyl  <simenheg@gmail.com>
17980         Handle non-zero exit status from psql more gracefully
17982         * lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
17983         exit statuses from `psql -ltX' more gracefully by returning nil.
17985         * test/lisp/progmodes/sql-tests.el
17986         (sql-tests-postgres-list-databases-error): New test.
17988 2017-09-05  Eli Zaretskii  <eliz@gnu.org>
17990         Avoid losing Ctrl-C keystrokes in compilation mode on MS-Windows
17992         * src/w32proc.c (sys_kill): Preserve the up/down state of the
17993         Ctrl key across the simulated Ctrl-C keystroke.  (Bug#28348)
17995 2017-09-05  Andreas Schwab  <schwab@linux-m68k.org>
17997         * src/image.c (Fimagemagick_types): Doc fix.
17999 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
18001         Move soundex.el test to a proper test
18003         * test/lisp/soundex-tests.el: New file.
18004         * lisp/soundex.el: Use lexical-binding.  Remove commented test.
18006 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
18008         Add tests for mailcap.el
18010         * test/data/mailcap/mime.types: New file.
18011         * test/lisp/net/mailcap-tests.el: New file.
18013 2017-09-05  Michael Albinus  <michael.albinus@gmx.de>
18015         Doc precisment about remote link targets
18017         * doc/lispref/files.texi (Truenames): Explain handling of
18018         targets of `file-truename' and `make-symbolic-link', which
18019         look like a remote file name.
18021         * etc/NEWS: Precise examples for symlinks which look like
18022         remote file names.  MUSTBENEW of `write-region' is not
18023         propagated to file name handlers.
18025 2017-09-05  John Wiegley  <johnw@newartisans.com>
18027         Remove an opinionated section on "What Eshell is not"
18029         I don't find this information to accurately reflect possible use cases
18030         for Eshell; plus, it doesn't offer much in the way of information,
18031         just opinion.
18033 2017-09-05  Ken Brown  <kbrown@cornell.edu>
18035         Fix configure test for Xpm
18037         Problem reported by Ashish Shukla in
18038         https://lists.gnu.org/r/emacs-devel/2017-09/msg00020.html.
18039         * configure.ac (HAVE_XPM) [HAVE_X11]: Include X11/xpm.h instead of
18040         noX/xpm.h in configure test.
18042 2017-09-04  Paul Eggert  <eggert@cs.ucla.edu>
18044         Revert recent float→double Motif change
18046         Problem reported by Martin Rudalics in:
18047         https://lists.gnu.org/r/emacs-devel/2017-09/msg00014.html
18048         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
18049         (x_set_toolkit_scroll_bar_thumb)
18050         (x_set_toolkit_horizontal_scroll_bar_thumb):
18051         Go back to using ‘float’ temporaries rather than ‘double’.
18052         Although quite possibly this masks an underlying bug,
18053         we lack time to look into that now.
18055 2017-09-04  Glenn Morris  <rgm@gnu.org>
18057         emacsclient-tests: add some debug statements
18059         * test/lib-src/emacsclient-tests.el
18060         (emacsclient-test-call-emacsclient): Add debug statements.
18062 2017-09-04  Michael Albinus  <michael.albinus@gmx.de>
18064         Work on Tramp's (symbolic) links
18066         * doc/misc/tramp.texi (Traces and Profiles): Mention the
18067         backtrace when tramp-verbose is greater than or equal to 10.
18069         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
18070         Use `tramp-handle-add-name-to-file'.
18072         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
18073         `tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.
18075         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.
18077         * lisp/net/tramp-smb.el (tramp-smb-errors):
18078         Add "NT_STATUS_CONNECTION_DISCONNECTED" and
18079         "NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
18080         (tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
18081         (tramp-smb-do-file-attributes-with-stat): Return non-nil only
18082         if one of the attributes is non-nil.
18083         (tramp-smb-handle-file-local-copy): Use `file-truename'.
18084         (tramp-smb-handle-file-truename): Move to tramp.el.
18085         (tramp-smb-handle-insert-directory): Show symlinks.
18086         (tramp-smb-handle-make-symbolic-link): Improve.
18087         (tramp-smb-read-file-entry): Handle extended file modes in Samba.
18089         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
18090         (tramp-handle-file-truename): New defuns.
18092         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
18093         (tramp--test-check-files): Make check for "smb".
18095 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
18097         Embed JSON readtable into json-read
18099         Also unroll dispatch into a cond.
18100         * lisp/json.el (json-readtable): Remove.
18101         (json-readtable-dispatch): New macro.  Assimilate json-readtable.
18102         (json-read): Use the macro.
18104 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
18106         Hexify strings in EWW search queries
18108         Previously, inputting "cats & dogs" would lose dogs because the
18109         ampersand signifies a query parameter.  Instead, hexify each word while
18110         preserving quotes with split-string.
18111         * lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
18112         with + separators, instead of replacing whitespace with +.
18114 2017-09-03  Glenn Morris  <rgm@gnu.org>
18116         emacsclient-tests: call-process may return non-integer
18118         * test/lib-src/emacsclient-tests.el
18119         (emacsclient-test-alternate-editor-allows-arguments)
18120         (emacsclient-test-alternate-editor-allows-quotes):
18121         Handle non-integer return from call-process.
18123 2017-09-03  Eli Zaretskii  <eliz@gnu.org>
18125         * lisp/simple.el (visual-line-mode): Doc fix.  (Bug#28337)
18127 2017-09-03  Alan Third  <alan@idiocy.org>
18129         Force screen update after drawing cursor glyph (bug#23774)
18131         * src/nsterm.m (ns_draw_window_cursor): Force a screen update after
18132         drawing the glyph over the cursor.
18134 2017-09-03  Alan Mackenzie  <acm@muc.de>
18136         Correct the fontification of quote marks after buffer changes in CC Mode.
18138         * lisp/progmodes/cc-defs.el
18139         (c-search-forward-char-property-with-value-on-char): New macro.
18141         * lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
18142         (c-parse-quotes-after-change): Rewrite the functions, simplifying
18143         considerably, and removing unnecessary optimizations.
18144         Invalidate two caches after manipulating text properties.
18146 2017-09-03  Alan Mackenzie  <acm@muc.de>
18148         Fix fontification of "operator~" in C++ Mode.
18150         * lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
18151         (c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.
18153         * lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
18154         two other symbols) as a cast without good evidence.  Prefer an overloaded
18155         operator in ambiguous cases.
18157 2017-09-03  Martin Rudalics  <rudalics@gmx.at>
18159         In delete_frame do not delete terminal for any toolkit build
18161         * src/frame.c (delete_frame): Neither delete terminal for
18162         non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
18163         Bug#27816).
18165 2017-09-02  Philipp Stephani  <phst@google.com>
18167         Improve error messages for improper plists (Bug#27726)
18169         * src/fns.c (Fplist_put, Flax_plist_get, Flax_plist_put)
18170         (Fplist_member, syms_of_fns): Use ‘plistp’ as pseudo-predicate for
18171         improper plists instead of ‘listp.’
18173         * test/src/fns-tests.el (plist-get/odd-number-of-elements)
18174         (lax-plist-get/odd-number-of-elements)
18175         (plist-put/odd-number-of-elements)
18176         (lax-plist-put/odd-number-of-elements)
18177         (plist-member/improper-list): Add unit tests.
18179 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
18181         Fix decrypting in plstore.el on MS-Windows
18183         * lisp/plstore.el (plstore-open): Bind coding-system-for-read to
18184         raw-text, instead of using insert-file-contents-literally.
18185         (Bug#28114)
18187 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
18189         * src/fileio.c (Fexpand_file_name): Doc fix.  (Bug#27982)
18191 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
18193         Rewrite Antinews for Emacs 26
18195         * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
18196         * doc/lispref/elisp.texi (Top): Update the top-level menu's
18197         Antinews entry.
18198         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
18199         * doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
18200         entry.
18202         * etc/NEWS: Rearrange some entries in a more reasonable order.
18204 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
18206         Fix a mis-binding in a test
18208         * test/lisp/progmodes/python-tests.el
18209         (python-shell-calculate-process-environment-3): Fix binding of
18210         process-environment.  A level of parens was missing.
18212         This was found after Glenn Morris noticed a similar problem with the
18213         patch for Bug#28319.
18215 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
18217         Fix a mis-binding and a bad defun name in a test (Bug#28319)
18219         test/lib-src/emacs-client-tests.el (call-emacsclient): Rename
18220         emacsclient-test-call-emacsclient.
18221         (emacsclient-test-alternate-editor-allows-arguments)
18222         (emacsclient-test-alternate-editor-allows-quotes): Fix let-binding of
18223         process-environment.
18225         Thanks to Glenn Morris for noticing these errors.
18227 2017-09-02  Glenn Morris  <rgm@gnu.org>
18229         * test/Makefile.in (check-no-automated-subdir): Silence by default.
18231         * test/Makefile.in (ELFILES): Sort, for a reproducible order.
18233 2017-09-01  Mark Oteiza  <mvoteiza@udel.edu>
18235         Turn off checkdoc complaint about default argument order
18237         * etc/NEWS: Mention change.
18238         * lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
18239         Disable by default, note version.
18241 2017-09-01  Reuben Thomas  <rrt@sc3d.org>
18243         Stop emacsclient tests hanging (Bug#28319)
18245         * test/lib-src/emacsclient-tests.el
18246         (emacsclient-test-alternate-editor-allows-arguments): Use a
18247         non-existent file to communicate with server, so that any existing
18248         default server will not be hijacked (in fact, the test does
18249         not need a server).
18250         (emacsclient-test-alternate-editor-allows-quotes): Likewise.
18252 2017-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
18254         * lisp/obsolete/html2text.el: Don't require CL
18256         (html2text-clean-anchor): Mark unused arg.
18258 2017-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
18260         Don't remove undisplayers from inlined MIME parts (bugfix)
18262         * lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
18263         Don't remove undisplayers from inlined MIME parts (bugfix);
18264         Simplify criterion that finds attachments.
18266 2017-08-31  Mark Oteiza  <mvoteiza@udel.edu>
18268         Make ucs-names a hash table (Bug#28302)
18270         * etc/NEWS: Mention the type change.
18271         * lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
18272         Hardcode BEL's name into the function instead of needlessly mapping
18273         over the hash table in the spirit of rassoc.
18274         * lisp/international/mule-cmds.el (ucs-names): Fix variable and
18275         function docstrings.  Initialize a hash table for ucs-names--the
18276         number of entries is 42845 here.  Switch to hash-table
18277         getters/setters.
18278         (mule--ucs-names-annotation): Use hash-table getter.
18279         (char-from-name): Upcase the string if ignore-case is truthy.
18280         * lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
18282 2017-08-31  Alan Third  <alan@idiocy.org>
18284         Remove unneeded version checks (bug#28222)
18286         * src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
18287         check.
18288         * src/macfont.m (macfont_draw): Remove version check, and test for
18289         existence of CGContextSetFontSmoothingStyle.
18291 2017-08-31  Alan Mackenzie  <acm@muc.de>
18293         Fix a glitch in CC Mode's syntactic whitespace cache.
18295         * lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
18296         comment close at the end of a macro.
18298 2017-08-31  Alan Mackenzie  <acm@muc.de>
18300         Correct the fontification of C++ Mode enclosed declarations.
18302         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
18303         spurious check that the character before the start of an enclosed declaration
18304         must be ; or }.  It might also be {.
18306 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
18308         In xterm.c fix some recently introduced compiler warnings
18310         * src/xterm.c (xaw_jump_callback)
18311         (x_set_toolkit_scroll_bar_thumb): Fix some recently introduced
18312         -Wdouble-promotion warnings.
18314 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
18316         Restrict fix of Bug#24963 and Bug#25887 to GTK builds
18318         * src/xterm.c (handle_one_xevent): Restrict earlier fix of
18319         Bug#24963 and Bug#25887 to avoid that a non-GTK Emacs won't
18320         react to state changes received via ConfigureNotify.
18322 2017-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
18324         Respect directory a user enters (bug#28299)
18326         * lisp/gnus/mm-decode.el (mm-save-part):
18327         Respect directory a user enters (bug#28299).
18329 2017-08-31  Samuel Freilich  <sfreilich@google.com>
18331         Do not split line before width of fill-prefix
18333         When auto-filling a paragraph, don't split a line before the width of the
18334         fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
18335         * lisp/simple.el (do-auto-fill): Only consider break-points that are later in
18336         the line than the width of the fill-prefix.  This is a more general solution
18337         than the previous logic, which only skipped over the exact fill-prefix.  The
18338         fill-prefix doesn't necessarily match the prefix of the first line of a
18339         paragraph in adaptive-fill-mode.
18341 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
18343         Support lazy loading for autogenerated usage docstrings too (Bug#27748)
18345         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
18346         Consider any documentation that ended up in code as a docstring (e.g.,
18347         autogenerated (fn ARG1 ARG2) type things), not just what the user
18348         passed.
18350 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
18352         Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
18354         * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
18355         to drop the docstring.  Add a simple docstring to the compiler-macro.
18357 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
18359         Quote file-truename symlink to "../foo:bar:"
18361         Problem reported by Michael Albinus (Bug#28264#19).
18362         * lisp/files.el (files--splice-dirname-file): Fix bug where
18363         a relative symlink to "../foo:bar:" did not quote the result.
18365 2017-08-30  Reuben Thomas  <rrt@sc3d.org>
18367         Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)
18369         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
18370         corresponding command-line argument, into quote- or space-separated
18371         tokens.  If a token starts with a quote, then it naturally is expected
18372         to end with a quote; escaping is not supported. This is enough to cope
18373         with the typical case of requiring the initial path to be quoted,
18374         common on Windows where it may contain spaces.
18375         * etc/NEWS: Document.
18376         * doc/emacs/misc.texi: Likewise.
18377         * doc/man/emacsclient.1: Tweak to remove the implication that only an
18378         editor can be specified (the manual already mentions a “command”).
18379         Fix a small error where “EDITOR” is referred to rather than
18380         “ALTERNATE_EDITOR”.
18381         * test/lib-src/emacsclient-tests.el: Add tests.
18383 2017-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
18385         * lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte.
18387 2017-08-30  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>  (tiny change)
18389         Correct "hide others" shortcut on macOS (bug#28215)
18391         * lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.
18393 2017-08-30  Eli Zaretskii  <eliz@gnu.org>
18395         Sync NEWS with the documentation
18397         * etc/NEWS: Mark entries according to documentation.
18399         * doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.
18401 2017-08-30  Michael Albinus  <michael.albinus@gmx.de>
18403         Improve symlinks for Tramp
18405         * lisp/files.el (files--splice-dirname-file): Quote whole file.
18407         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
18408         Do not expand TARGET, it could be remote.
18409         (tramp-sh-handle-file-truename): Check for cyclic symlink also
18410         in case of readlink.  Quote result if it looks remote.
18411         (tramp-sh-handle-file-local-copy): Use `file-truename'.
18413         * test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
18414         (tramp-test09-insert-file-contents): Test also file missing.
18415         (tramp-test21-file-links): Extend test.
18417 2017-08-30  Martin Rudalics  <rudalics@gmx.at>
18419         Preserve display's foreground color when clearing internal borders (Bug#28278)
18421         * src/xterm.c (x_after_update_window_line): Preserve display's
18422         foreground color when clearing internal borders (Bug#28278).
18424 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
18426         Use cl-print for all values printed by `describe-variable'
18428         * lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
18429         global values too.
18431 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
18433         Minor simplification for byte-compile-constant-push
18435         * lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
18436         of the code from here...
18437         (byte-compile-constant-push): ... to here.  No need to bind
18438         byte-compile--for-effect anymore.
18440 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
18442         Prefer file-name-quote to concat "/:"
18444         Suggested by Michael Albinus (Bug#28264#13).
18445         * lisp/files.el (files--splice-dirname-file): Use file-name-quote
18446         rather than attempting to do it by hand.
18448 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
18450         * configure.ac: fix typo in previous change
18452 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
18454         Be more conservative in link time optimization doc
18456         While testing --enable-link-time-optimization with GCC 7.1.1
18457         I ran into a serious GCC code-generation bug which makes me
18458         think that --enable-link-time-optimization should be
18459         discouraged for typical installs (Bug#28213).  See:
18460         https://bugzilla.redhat.com/show_bug.cgi?id=1486455
18462 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
18464         Make garbage collection more conservative
18466         Check for a pointer anywhere within the object, as opposed to just
18467         the start of the object.  This is needed for gcc -Os -flto on
18468         x86-64 (Bug#28213).  This change means that the garbage collector
18469         is more conservative, and will incorrectly keep objects that it
18470         does not need to, but that is better than incorrectly discarding
18471         objects that should be kept.
18472         * src/alloc.c (ADVANCE, VINDEX): Now functions, not macros;
18473         this is easier to debug.
18474         (setup_on_free_list): Rename from SETUP_ON_FREE_LIST.
18475         Now a function with two args, not a macro with three.
18476         All callers changed.
18477         (live_string_holding, live_cons_holding, live_symbol_holding)
18478         (live_misc_holding, live_vector_holding, live_buffer_holding):
18479         New functions, which check for any object containing the addressed
18480         byte, not just for an object at the given address.
18481         (live_string_p, live_cons_p, live_symbol_p, live_misc_p)
18482         (live_vector_p, live_buffer_p):
18483         Redefine in terms of the new functions.
18484         (live_float_p): Refactor slightly to match the new functions.
18485         (mark_maybe_object, mark_maybe_pointer): Use the new functions.
18486         Don’t bother checking mark bits, as mark_object already does that,
18487         and omitting the checks here simplifies the code.  Although
18488         mark_maybe_object can continue to insist that tagged pointers
18489         still address the start of the object, mark_maybe_pointer now is
18490         more conservative and checks for pointers anywhere into an object.
18492 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
18494         Improve stack-top heuristic
18496         This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
18497         of the stack when scanning for heap roots, causing Emacs to crash
18498         later (Bug#28213).  The problem is that Emacs's hack for getting an
18499         address near the stack top does not work when link-time optimization
18500         moves stack variables around.
18501         * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
18502         * lib-src/make-docfile.c (DEFUN_noinline): New constant.
18503         (write_globals, scan_c_stream): Support noinline.
18504         * src/alloc.c (NEAR_STACK_TOP): New macro.
18505         (SET_STACK_TOP_ADDRESS): Use it.
18506         (flush_stack_call_func, Fgarbage_collect): Now noinline.
18508 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
18510         Align stack bottom properly.
18512         This is needed for gcc -Os -flto on x86-64 (Bug#28213).
18513         * src/emacs.c (main): Align stack-bottom variable as a pointer,
18514         since mark_memory requires this.
18516 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
18518         Avoid spinning waiting for git-gui.exe on Windows
18520         * src/w32proc.c (waitpid): If GetExitCodeProcess returns
18521         STILL_ACTIVE, and we were called with WNOHANG, pretend that the
18522         process exited.  (Bug#28268)
18524 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
18526         Document '--module-assertions'
18528         * doc/emacs/cmdargs.texi (Initial Options): Document the
18529         '--module-assertions' command-line option.
18530         * doc/lispref/loading.texi (Dynamic Modules): Add a
18531         cross-reference to the description of '--module-assertions'.
18533         * etc/NEWS: Update the NEWS entry for --module-assertions.
18535 2017-08-29  Alan Third  <alan@idiocy.org>
18537         Add news entry about new macOS features
18539         * etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
18540         ns-use-thin-smoothing.
18542 2017-08-29  Alan Third  <alan@idiocy.org>
18544         Fix cross macOS version building (bug#28222)
18546         * src/macfont.h (CGContextSetFontSmoothingStyle): Function
18547         declaration.
18548         * src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
18550 2017-08-29  Ben Bonfil  <bonfil@gmail.com>  (tiny change)
18552         Enable thin font smoothing in macOS (bug#28222)
18554         * src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
18555         * src/macfont.m (macfont_draw): Use font smoothing.
18557 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
18559         Minor improvement in documentation of display-line-numbers
18561         * doc/emacs/display.texi (Display Custom): Document the
18562         display-line-numbers-mode and related options.
18564 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
18566         Avoid aborting in 'waitpid' on MS-Windows
18568         * src/w32proc.c (waitpid): Don't allow quitting if called with
18569         WNOHANG in OPTIONS.  (Bug#28268)
18571 2017-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
18573         * lisp/progmodes/sh-script.el: Test "in-string" of the right char!
18575         (sh-syntax-propertize-function): Fix off-by-one error.
18576         Fixes bug#23526.
18578 2017-08-29  Rasmus  <rasmus@gmx.us>
18580         Update Org to v9.0.10
18582         Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
18583         release.
18585 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
18587         Silence false alarms for symlinks to sources
18589         Problem reported by Glenn Morris (Bug#28264).
18590         * lisp/files.el (files--splice-dirname-file): New function.
18591         (file-truename, file-chase-links): Use it.
18593 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
18595         Simplify remove_slash_colon
18597         * src/process.c (remove_slash_colon): Simplify
18598         and avoid a special case for "/:" by itself.
18600 2017-08-28  Tassilo Horn  <tsdh@gnu.org>
18602         Remove font family from minibuffer-prompt face
18604         * etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from
18605         minibuffer-prompt face.
18607 2017-08-28  Michael Albinus  <michael.albinus@gmx.de>
18609         Further fixes in tramp-smb.el
18611         * lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
18612         (tramp-smb-file-name-handler-alist): Use it.
18613         (tramp-smb-handle-make-symbolic-link): Unquote target.
18615         * test/lisp/net/tramp-tests.el
18616         (tramp--test-ignore-make-symbolic-link-error): New defmacro.
18617         (tramp-test18-file-attributes, tramp-test21-file-links)
18618         (tramp--test-check-files): Use it.
18620 2017-08-28  Paul Eggert  <eggert@cs.ucla.edu>
18622         Don’t assume -g3 in .gdbinit
18624         * src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG):
18625         Use reasonable defaults if not in the symbol table.
18627 2017-08-28  Robert Pluim  <rpluim@gmail.com>  (tiny change)
18629         Use string-match to check for dotfiles in ido
18631         * lisp/ido.el (ido-make-file-list): Use string-match to check
18632         for dotfiles instead of substring, as when using tramp
18633         simplified syntax ido-temp-list may contain empty strings.
18635 2017-08-28  Mark Oteiza  <mvoteiza@udel.edu>
18637         Font-lock FDO desktop files correctly
18639         Single and double quotes do not have a special meaning in
18640         desktop files.
18641         https://standards.freedesktop.org/desktop-entry-spec/latest/
18642         * etc/NEWS: Mention new mode.
18643         * lisp/files.el (auto-mode-alist): Split out an entry for handling
18644         the .desktop extension with conf-desktop-mode.
18645         * lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
18646         variable with rules for booleans and format specifiers.
18647         (conf-unix-mode): Remove desktop file entry example from docstring.
18648         (conf-desktop-mode): New derived major mode.
18650 2017-08-27  Tom Tromey  <tom@tromey.com>
18652         Fix auto-fill bug in js-mode
18654         * lisp/progmodes/js.el (js-do-auto-fill): New function.
18655         (js-mode): Set normal-auto-fill-function.
18656         * test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
18657         test.
18659 2017-08-27  Noam Postavsky  <npostavs@gmail.com>
18661         Disable completion while entering python multiline statements
18663         The "legacy" completion mechanism sends newlines to the running python
18664         process to get the list of completions, which confuses things if the
18665         user is in the middle of entering a multiline statement (Bug#28051).
18666         It's better to disable completion in this case.
18667         * lisp/progmodes/python.el (python-shell--block-prompt): New variable.
18668         (python-shell-prompt-set-calculated-regexps): Set it.
18669         (python-shell-completion-at-point): Return 'ignore' as the completion
18670         function when the current prompt is a block prompt.
18672 2017-08-27  Michael Albinus  <michael.albinus@gmx.de>
18674         Tramp cleanup
18676         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
18677         (tramp-sh-handle-make-symbolic-link): More robust check for
18678         TARGET remoteness.
18680         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
18681         Disable copying by tar temporarily, it doesn't work reliably.
18682         (tramp-smb-do-file-attributes-with-stat): Resolve symlink.
18683         (tramp-smb-handle-make-symbolic-link): Fix implementation.
18685         * lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.
18687         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
18688         Extend test.
18690 2017-08-27  Glenn Morris  <rgm@gnu.org>
18692         Fix previous xterm.h change for non-gtk builds
18694         * src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.
18696 2017-08-27  Philipp Stephani  <phst@google.com>
18698         Fix GdkSettings-related deprecation warnings
18700         * src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored
18701         gtk-menu-bar-accel setting in new versions of GTK+.  Use g_object_set
18702         instead of deprecated gtk_settngs_set_string_property otherwise.
18704 2017-08-27  Philipp Stephani  <phst@google.com>
18706         Always use gtk_window_move in new versions
18708         * src/gtkutil.c (my_log_handler): Don’t define in new versions of
18709         GTK+.
18710         (xg_set_geometry): Always use gtk_window_move in new versions of GTK+.
18712         * src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
18713         is ignored.
18715         * lisp/subr.el (x-gtk-use-window-move): Make obsolete.
18717 2017-08-27  Charles A. Roelli  <charles@aurox.ch>
18719         Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)
18721         * lisp/vc/diff-mode.el (diff-find-file-name): Save the current
18722         narrowing, and widen the buffer before searching for the name of the
18723         file corresponding to the diff.
18725         With thanks to Noam Postavsky.
18727 2017-08-27  Philipp Stephani  <phst@google.com>
18729         Remove use of a deprecated GTK+ function in new versions
18731         * src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click
18732         if available
18734 2017-08-27  Philipp Stephani  <phst@google.com>
18736         Stop using deprecated GdkScreen monitor functions in newer GDK
18738         * src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor
18739         objects instead of the deprecated GdkScreen functions in GDK 3.22+
18741 2017-08-27  Philipp Stephani  <phst@google.com>
18743         Use GdkSeat in new GDK versions
18745         * src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of
18746         GdkDeviceManager in GDK 3.20+
18748 2017-08-27  Philipp Stephani  <phst@google.com>
18750         * src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+
18752 2017-08-27  Philipp Stephani  <phst@google.com>
18754         Remove call of deprecated GDK function
18756         * src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in
18757         GDK 3.22 or later.
18759 2017-08-27  Alan Mackenzie  <acm@muc.de>
18761         Amend the CC Mode macro cache to cope with changes at the macro start
18763         Fixes bug #28233.
18765         * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
18766         error.
18768 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
18770         Fix over-protection of byte-compiled files
18772         Problem reported by Sven Joachim (Bug#28244).
18773         Also, fix similar problem for autoload files.
18774         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
18775         Set temp file modes to the buffer-file-name file modes (or 666
18776         if not available) as adjusted by umask.
18777         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
18778         Set temp file modes to 666 as adjusted by umask.
18780 2017-08-27  Tom Tromey  <tom@tromey.com>
18782         Refine conf-toml-mode font-lock
18784         Bug#28218
18785         * lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
18786         conf-toml-recognize-section.  Use \s- in variable regexp.
18787         (conf-toml-recognize-section): New function.
18789 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
18791         Do not munge contents of local symbolic links
18793         This lets Emacs deal with arbitrary local symlinks without
18794         mishandling their contents (Bug#28156).  For example,
18795         (progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
18796         now consistently creates a symbolic link from '/tmp/x' to '~'.
18797         Formerly, it did that only if the working directory was on the
18798         same filesystem as /tmp; otherwise, it expanded the '~' to
18799         the user's home directory.
18800         * lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
18801         instead of rolling our own code.
18802         * lisp/files.el (files--name-absolute-system-p): New function.
18803         (file-truename, file-chase-links): Use it to avoid mishandling
18804         symlink contents that begin with ~.
18805         (copy-directory, move-file-to-trash):
18806         Use concat rather than expand-file-name, to avoid mishandling
18807         symlink contents that begin with ~.
18808         * src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
18809         target unless interactive.  Strip leading "/:" if interactive.
18810         (emacs_readlinkat): Do not prepend "/:" to the link target if
18811         it starts with "/" and contains ":" before NUL.
18812         * test/src/fileio-tests.el (try-link): Rename from try-char,
18813         and accept a string instead of a char.  All uses changed.
18814         (fileio-tests--symlink-failure): Also test leading ~, and "/:",
18815         to test the new behavior.
18817 2017-08-27  Reuben Thomas  <rrt@sc3d.org>
18819         Remove invalid regexp for shell builtins for wksh
18821         * lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
18822         be literal strings, so remove a regexp for wksh. In any case, it’s a
18823         defunct proprietary shell.
18825 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
18827         Improve doc for file-name-absolute-p.
18829 2017-08-26  Michael Albinus  <michael.albinus@gmx.de>
18831         Fix Tramp part of Bug#28156
18833         * lisp/files.el (file-name-non-special): Use `file-name-quote'
18834         instead prefixing "/:", the file could already be quoted.
18836         * lisp/net/tramp.el (tramp-error): Handle null arguments.
18837         (tramp-handle-make-symbolic-link):
18838         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
18839         (tramp-sh-handle-add-name-to-file):
18840         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
18841         (tramp-smb-handle-make-symbolic-link): Adapt implementation to
18842         stronger semantics in Emacs.  (Bug#28156)
18844         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
18845         Extend test.
18847 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
18849         Fix bugs merged with bug#25428
18851         * lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
18852         (Bug#13926)  (Bug#25434)  (Bug#25435)
18854 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
18856         Improve documentation of Info virtual files and nodes
18858         * lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
18859         (Bug#28237)
18861 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
18863         * lisp/delsel.el (delete-selection-mode): Doc fix.  (Bug#25428)
18865 2017-08-26  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
18867         Support multi-lingual detection of SEE ALSO man sections
18869         * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
18870         section detection in several langages: French, German, Spanish,
18871         Portuguese, Italian, Polish, Turkish, Japanese, Chinese.  (Bug#28142)
18873 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
18875         Improve expand-file-name doc
18877         * doc/lispref/files.texi (Relative File Names, Directory Names)
18878         (File Name Expansion):
18879         * doc/lispref/minibuf.texi (Reading File Names):
18880         Document expand-file-name behavior with ~ more clearly
18881         and accurately.
18882         * doc/misc/org.texi (Batch execution): Simplify example
18883         script so that it does not need expand-file-name and thus
18884         will not mishandle file names with leading ~.
18886 2017-08-26  Jefferson Carpenter  <jeffersoncarpenter2@gmail.com>  (tiny change)
18888         Support all perl variable declarators and prefixes (Bug#27613)
18890         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
18891         (perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has',
18892         'local', 'state', 'supersede', 'let', and 'temp'.
18894 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
18896         Fix file-attributes race on GNU hosts
18898         * doc/lispref/files.texi (File Attributes):
18899         Document file-attributes atomicity.
18900         * etc/NEWS: Document the fix.
18901         * src/dired.c (file_attributes): New args DIRNAME and FILENAME,
18902         for diagnostics.  All callers changed.  On platforms like
18903         GNU/Linux that support O_PATH, fix a race condition in
18904         file-attributes and similar functions, so that these functions do
18905         not return nonsense if a directory entry is replaced while getting
18906         its attributes.  On non-GNU platforms, do a better (though not
18907         perfect) job of detecting the race, and return nil if detected.
18909 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
18911         Simplify expand_and_dir_to_file
18913         * src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
18914         argument, since in practice it always has the default value.  All
18915         callers changed.  Prefer C99 style decls in nearby code.
18917 2017-08-25  Eli Zaretskii  <eliz@gnu.org>
18919         Fix file-name completion on network shares
18921         * src/w32.c (faccessat): Don't assume that F_OK is non-zero.
18922         (Bug#28207)
18924 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
18926         Fix a FIXME with an exegetical comment
18928         * lisp/progmodes/sh-script.el (sh-builtins): Explain why we have a
18929         regexp for wksh builtins.
18931 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
18933         Minor docstring language fix
18935         * lisp/progmodes/sh-script.el (sh-show-indent): Remove spurious “the”.
18937 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
18939         Remove old commented code from sh-script.el
18941         * lisp/progmodes/sh-script.el (sh-abbrevs): Remove commented function
18942         and variable, commented since 2001.
18944 2017-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
18946         * lisp/emacs-lisp/package.el: Don't let failure stop us
18948         (package-activate-1): Don't throw an error for missing deps.
18949         (package-unpack): Don't bother compiling if activation failed.
18950         (package-initialize): Report failures but keep activating other packages.
18952 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
18954         Prefer ‘double’ for FP temps in xterm.c
18956         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
18957         (x_set_toolkit_scroll_bar_thumb)
18958         (x_set_toolkit_horizontal_scroll_bar_thumb): Prefer ‘double’ to
18959         ‘float’ for individual local floating-point temporaries.
18961 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
18963         Avoid using string-to-multibyte in ispell.el
18965         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
18966         decode-coding-string instead. Note that decode-coding-string returns a
18967         string that satisfies multibyte-string-p even if its input is pure
18968         ASCII and the third argument is t, so the result of
18969         ispell-get-decoded-string is always a multibyte string.
18971 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
18973         Store the regexp just when there are matches
18975         * lisp/hi-lock.el (hi-lock-set-pattern): When font-lock-mode is
18976         disabled and there are no matches do not store REGEXP
18977         in hi-lock-interactive-patterns.
18979 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
18981         Keep face available if there are no matches
18983         If font-lock-mode is disabled in the current buffer, and
18984         there are no matches for REGEXP, then keep FACE available
18985         for a next search.
18986         * lisp/hi-lock.el (hi-lock-set-pattern): Add FACE into
18987         hi-lock--unused-faces if font-lock-mode is disabled and
18988         there are no matches.
18989         * test/lisp/hi-lock-tests.el (hi-lock-test-set-pattern): Add test.
18991 2017-08-24  Michael Albinus  <michael.albinus@gmx.de>
18993         Minor improvements for tramp-interrupt-process, documentation
18995         * doc/lispref/processes.texi (Signals to Processes):
18996         * etc/NEWS: Document interrupt-process-functions.
18998         * lisp/net/tramp.el (tramp-interrupt-process): Test also for
18999         `process-live-p'.
19001         * src/process.c (Vinterrupt_process_functions): Fix docstring.
19003         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
19004         Extend test.
19006 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
19008         Fix a comment whitespace typo.
19010         src/fileio.c: A double space was added after "..", used in a code
19011         example. Make it a single space.
19013 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
19015         Remove old commented code and obsolete comments
19017         * lisp/files.el (locate-dominating-files): Remove old commented
19018         implementation from 9 years ago.  Since the current version
19019         appears (at least to me) not just more efficient but clearer than the
19020         version removed, also delete a comment in the new version referring to
19021         the old version. Remove old commented heuristic code,
19022         and explanatory comments.
19024 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
19026         Remove old duplicate commented code
19028         * lisp/files.el (file-relative-name): Remove old commented version,
19029         replaced 14 years ago in commit 753ad9889.
19031 2017-08-24  Tom Tromey  <tom@tromey.com>
19033         Add conf-toml-mode
19035         * etc/NEWS: Mention conf-toml-mode.
19036         * lisp/files.el (auto-mode-alist): Add entry for .toml.
19037         * lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
19038         (conf-toml-font-lock-keywords): New defvars.
19039         (conf-toml-mode): New mode.
19041 2017-08-23  Alan Third  <alan@idiocy.org>
19043         Use lisp type in log message (bug#28176)
19045         * src/nsimage.m (ns_load_image): Use make_number on index.
19047 2017-08-23  Alan Third  <alan@idiocy.org>
19049         Fix PNGs on macOS (bug#28176)
19051         * src/nsimage.m (ns_load_image): Remove index check.
19052         (EmacsImage::getAnimatedBitmapImageRep): New function.
19053         (EmacsImage::getMetadata): Use getAnimatedBitmapImageRep.
19054         (EmacsImage::setFrame): Use getAnimatedBitmapImageRep and check index
19055         is valid.
19057 2017-08-23  Alan Third  <alan@idiocy.org>
19059         Add ability to change macOS WM theme (bug#27973)
19061         * src/frame.c (make_frame, frame_parms, syms_of_frame)
19062         [NS_IMPL_COCOA]: Add ns-appearance and ns-transparent-titlebar
19063         options.
19064         * src/frame.h (ns_appearance_type) [NS_IMPL_COCOA]: Add enum to
19065         represent NSAppearance options.
19066         (struct frame) [NS_IMPL_COCOA]: Add ns_appearance and
19067         ns_transparent_titlebar frame parameters.
19068         * src/nsfns.m (ns_frame_parm_handlers) [NS_IMPL_COCOA]: Add
19069         ns_set_appearance and ns_set_transparent_titlebar handlers.
19070         (Sx_create_frame): Handle ns-appearance and ns-transparent-titlebar
19071         frame parameters.
19072         (Qdark): Add new symbol for use with ns-appearance.
19073         * src/nsterm.h (ns_set_appearance, ns_set_transparent_titlebar)
19074         [NS_IMPL_COCOA]: Add prototypes.
19075         * src/nsterm.m (ns_set_appearance, ns_set_transparent_titlebar)
19076         [NS_IMPL_COCOA]: New functions.
19077         (initFrameFromEmacs) [NS_IMPL_COCOA]: Handle ns-appearance and
19078         ns-transparent-titlebar frame parameters.
19079         * doc/lispref/frames.texi (Window Management Parameters): Document
19080         ns-apperance and ns-transparent-titlebar.
19082 2017-08-22  Alan Mackenzie  <acm@muc.de>
19084         When looking for the end of a declarator, prevent macros fouling up the search
19086         The practical implication of this bug was a random jit-lock chunk remaining
19087         entirely unfontified.
19089         * lisp/progmodes/cc-mode.el (c-fl-decl-end): If point starts inside a macro,
19090         restrict two forward searches to the end of that macro.
19092 2017-08-22  Michael Albinus  <michael.albinus@gmx.de>
19094         Test `file-expand-wildcards' for Tramp
19096         * lisp/net/tramp-compat.el (tramp-advice-file-expand-wildcards):
19097         Remove, not needed anymore.
19099         * test/lisp/net/tramp-tests.el (top): Require seq.el.
19100         (tramp-test16-directory-files): Simplify.
19101         (tramp-test16-file-expand-wildcards): New test.
19102         (tramp-test28-interrupt-process): Skip for older Emacsen.
19104 2017-08-22  Alexander Gramiak  <agrambot@gmail.com>
19106         Add tests for cl-macs.el (Bug#27559)
19108         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-loop): Remove
19109         duplicate.
19110         (cl-loop-destructuring-with): Move to cl-macs-tests.el.
19111         * test/lisp/emacs-lisp/cl-macs-tests.el: New file.
19113 2017-08-22  Noam Postavsky  <npostavs@gmail.com>
19115         Optimize skkdic conversion (Bug#28043)
19117         The primary speedup comes from the optimizing lookup-nested-alist and
19118         set-nested-alist for the case where the key is a string.  This brings
19119         the time down to less than half the original.
19121         * lisp/international/mule-util.el (lookup-nested-alist)
19122         (set-nested-alist): Use `assq' instead of `assoc' when KEYSEQ is a
19123         string.
19125         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
19126         (skkdic-convert-okuri-nasi): Use progress-reporter functions instead
19127         of calculating ratio of work done inline.
19129         (skkdic-reduced-candidates): Call `char-category-set' on the first
19130         character of the string directly, instead of using a regexp for the
19131         character category.
19132         (skkdic--japanese-category-set): New constant.
19133         (skkdic-collect-okuri-nasi): Just set
19134         `skkdic-okuri-nasi-entries-count' at once at the end rather than
19135         updating it throughout the loop.
19137         (skkdic-convert-postfix skkdic-convert-prefix)
19138         skkdic-get-candidate-list, skkdic-collect-okuri-nasi)
19139         (skkdic-extract-conversion-data): Use `match-string-no-properties'
19140         instead of `match-string'.
19142 2017-08-22  Reuben Thomas  <rrt@sc3d.org>
19144         Treat tests in lib-src like tests in src
19146         * test/Makefile.in (test_template): Depend on a .c source file for a
19147         test under lib-src, as for src.  (Thanks, Glenn Morris for pointing me
19148         in the right direction.)
19150 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
19152         Port /bin/sh scripts to Solaris 10
19154         Its /bin/sh builtin ‘test’ command does not support -e.
19155         * autogen.sh, build-aux/git-hooks/pre-commit:
19156         * build-aux/gitlog-to-emacslog, make-dist:
19157         Use test -r, not test -e.
19159 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
19161         Avoid losing the buffer restriction in flyspell-mode
19163         * src/intervals.c (get_local_map): Don't allow C-g to quit as long
19164         as we have the buffer widened, to make sure the restriction is
19165         preserved.  (Bug#28161)
19167 2017-08-21  Sven Joachim  <svenjoac@gmx.de>
19169         Fix the 'versionclean' target in src/Makefile
19171         * src/Makefile.in (versionclean): Don't accidentally remove
19172         emacs-module.h.  (Bug#28169)
19174 2017-08-21  Michael Albinus  <michael.albinus@gmx.de>
19176         Implement `interrupt-process-functions'
19178         * lisp/net/tramp.el (tramp-interrupt-process): Rename from
19179         `tramp-advice-interrupt-process'.  Adapt according to changed API.
19180         (top): Add it to `interrupt-process-functions'.
19182         * src/process.c (Finternal_default_interrupt_process): New defun.
19183         (Finterrupt_process): Change implementation, based on
19184         Vinterrupt_process_functions.
19185         (Vinterrupt_process_functions): New defvar.
19187         * test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
19188         test removal of advice.
19190 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
19192         Avoid floating-point exceptions while drawing underwave
19194         * src/w32term.c (x_get_scale_factor):
19195         * src/xterm.c (x_get_scale_factor): Don't let the scale factors
19196         become less than 1.  Reported by Yuri D'Elia <wavexx@thregr.org> in
19197         https://lists.gnu.org/r/emacs-devel/2017-08/msg00459.html.
19199 2017-08-21  Sam Steingold  <sds@gnu.org>
19201         mark flymake-mode as safe local variable when the value is nil
19203 2017-08-21  Sam Steingold  <sds@gnu.org>
19205         allow nil init in flymake-allowed-file-name-masks to disable flymake
19207         (flymake-allowed-file-name-masks): Update doc and :type.
19208         (flymake-get-file-name-mode-and-masks): Handle nil init.
19210 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
19212         Remove the workaround for bug#20719
19214         * lisp/cedet/semantic/symref/grep.el
19215         (semantic-symref-grep-use-template): Remove the workaround for
19216         bug#20719, it's been fixed for a while now.
19218 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
19220         Fix byte-compilation warnings in semantic/symref/grep
19222         * lisp/cedet/semantic/symref/grep.el (greppattern): Remove.
19223         (grepflags): Rename to semantic-symref-grep-flags.
19224         (semantic-symref-grep-expand-keywords): Update accordingly.
19225         (semantic-symref-grep-use-template): Remove the last two
19226         arguments to make sure they don't shadow the (not renamed)
19227         global variables.
19228         (semantic-symref-perform-search)
19229         (semantic-symref-parse-tool-output-one-line): Use slot names
19230         instead of keywords, like the byte-compiler wants us to.
19232 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
19234         Simplify eldoc-message
19236         * lisp/emacs-lisp/eldoc.el (eldoc-message): Simplify.
19237         Don't use ARGS because no callers pass them.  Discussed in bug#27230.
19239 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
19241         Work around w32-python-2.x bug to fix prompt detection (Bug#21376)
19243         * lisp/progmodes/python.el (python-shell-prompt-detect): Don't put
19244         carriage returns into the temporary file when running in unbuffered
19245         mode, the w32 build of python 2.7 chokes on them.
19247 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
19249         Add missing require
19251         * lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)
19253 2017-08-20  Michael Albinus  <michael.albinus@gmx.de>
19255         Implement `interrupt-process' for remote processes (Bug#28066)
19257         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process):
19258         Support sending signals remotely.
19259         (tramp-open-connection-setup-interactive-shell):
19260         Trace "remote-tty" connection property.
19262         * lisp/net/tramp.el (tramp-advice-interrupt-process): New defun.
19263         (top): Add advice to `interrupt-process'.  (Bug#28066)
19265         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
19266         New test.
19267         (tramp-test29-shell-command)
19268         (tramp-test30-environment-variables)
19269         (tramp-test30-environment-variables-and-port-numbers)
19270         (tramp-test31-explicit-shell-file-name)
19271         (tramp-test32-vc-registered)
19272         (tramp-test33-make-auto-save-file-name)
19273         (tramp-test34-make-nearby-temp-file)
19274         (tramp-test35-special-characters)
19275         (tramp-test35-special-characters-with-stat)
19276         (tramp-test35-special-characters-with-perl)
19277         (tramp-test35-special-characters-with-ls, tramp-test36-utf8)
19278         (tramp-test36-utf8-with-stat, tramp-test36-utf8-with-perl)
19279         (tramp-test36-utf8-with-ls)
19280         (tramp-test37-asynchronous-requests)
19281         (tramp-test38-recursive-load, tramp-test39-remote-load-path)
19282         (tramp-test40-unload): Rename.
19283         (tramp-test40-unload): Test also removal of advice.
19285 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
19287         Document Enchant support
19289         * doc/emacs/fixit.texi: Mention Enchant.
19290         * doc/misc/efaq.texi: Likewise.
19291         * etc/NEWS: Add an item on Enchant support.
19293 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
19295         Remove old comments and a redundant FIXME
19297         * lisp/textmodes/ispell.el (ispell-process-line): Remove some old
19298         commented code, a redundant FIXME, and outdated usage instructions.
19300 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
19302         Add Enchant support to ispell.el (Bug#17742)
19304         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
19305         (ispell-really-enchant): Add variable.
19306         (ispell-check-version): If using Enchant, check it’s new enough (at
19307         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
19308         without.)
19309         (ispell-enchant-dictionary-alist): Add variable.
19310         (ispell-find-enchant-dictionaries): Add function, based on
19311         ispell-find-aspell-dictionaries.
19312         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
19313         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
19314         old ispell name to locale mapping code for Enchant too.
19315         (ispell-send-replacement): Make it work with Enchant.
19317 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
19319         * lisp/term.el (term-mode): Use `window-text-height' (Bug#5615).
19321 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
19323         Stop printing '4' in .elc files after 'define-symbol-prop' calls
19325         * lisp/emacs-lisp/bytecomp.el (byte-compile-define-symbol-prop):
19326         Return nil in case we have compiled the form, to prevent a redundant
19327         constant from getting added to the compiled output.
19329 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
19331         Change recent symlink tests to just test ASCII
19333         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
19334         Be less ambitious about testing non-ASCII chars and encoding
19335         errors, as there are too many portability issues.
19337 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
19339         Don’t adjust CRLF in file names
19341         * doc/misc/gnus.texi (Non-ASCII Group Names):
19342         * etc/NEWS:
19343         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
19344         Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
19345         that CRLF in file names is left alone.
19346         * lisp/international/mule-cmds.el (set-default-coding-systems):
19347         Do not alter CRLF in file name coding systems.
19348         (prefer-coding-system): Ignore differences in CRLF processing when
19349         checking whether we used the user-specified file name coding system.
19350         * test/src/fileio-tests.el: New file.
19352 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
19354         Make list-processes support display-line-numbers
19356         * lisp/simple.el (process-menu-mode): Move the call to
19357         tabulated-list-init-header from here...
19358         (list-processes--refresh): ...to here.  (Bug#27895)
19360 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
19362         Improve support of display-line-numbers in package.el
19364         * lisp/emacs-lisp/package.el (package-menu--refresh): Redisplay
19365         the header.  (Bug#27895)
19366         * lisp/emacs-lisp/tabulated-list.el
19367         (tabulated-list-line-number-width): Fix the case when
19368         display-line-numbers is nil.
19370 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
19372         Improve support of display-line-numbers in tabulated-list-mode
19374         * lisp/emacs-lisp/tabulated-list.el
19375         (tabulated-list-line-number-width): New function.
19376         (tabulated-list-init-header, tabulated-list-print-entry): Use it.
19377         (Bug#27895)
19379 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
19381         Fix one more issue reported by Alex (Bug#27999)
19383         * doc/lispref/windows.texi (Preserving Window Sizes)
19384         (Window Parameters): Use the term `window-preserved-size'
19385         instead of `preserved-size' (Bug#27999).
19387 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
19389         Rename `no-delete-other-window' to `no-delete-other-windows'
19391 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
19393         Fix two side window problems noted by Alex (Bug#27999)
19395         * lisp/window.el (display-buffer-in-side-window): Fix doc-string
19396         typo.
19397         (delete-other-windows): Rename the `no-delete-other-window'
19398         parameter to `no-delete-other-windows' (see the discussion in
19399         Bug#27999 for the rationale of this change).
19400         * doc/lispref/windows.texi (Deleting Windows)
19401         (Frame Layouts with Side Windows, Window Parameters): Rename
19402         `no-delete-other-window' to `no-delete-other-windows'.
19404 2017-08-19  Alex Schroeder  <alex@gnu.org>
19406         Use define-minor-mode for rcirc-omit-mode
19408 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19410         Clarify behavior of symlinks and directories
19412         * doc/lispref/files.texi (Saving Buffers): Document how functions
19413         like rename-file work with symlinks and directories.  This patch
19414         attempts to document the current behavior better, in preparation
19415         for possibly changing it.  See Bug#27986.
19417 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19419         Fix recently-introduced file descriptor leak
19421         * src/fileio.c (Fmake_temp_file_internal):
19422         Don’t leak a file descriptor if write_region signals an error.
19424 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
19426         Improve make-temp-file performance on local files
19428         * lisp/files.el (make-temp-file): Let make-temp-file-internal do
19429         the work of inserting the text.
19430         * src/fileio.c (Fmake_temp_file_internal): New arg TEXT.
19431         All callers changed.
19433 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
19435         Don't lose arguments to eshell aliases (Bug#27954)
19437         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use ARGS.
19439 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
19441         * lisp/files.el (make-temp-file): Fix directory use case.
19443 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
19445         Fix and document make-temp-file optional text parameter
19447         * lisp/files.el (make-temp-file): Fix initial TEXT parameter.
19448         (files--make-magic-temp-file): Support optional TEXT parameter.
19449         * etc/NEWS: Document it.
19450         * doc/lispref/files.texi: Document it.
19451         * test/lisp/auth-source-tests.el: Minor reformat.
19453 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
19455         * test/lisp/auth-source-tests.el: Avoid `string-join' to be simple.
19457         * test/lisp/auth-source-tests.el: Minor cleanups to use CL.
19459 2017-08-19  João Távora  <joaotavora@gmail.com>
19461         Fix default value of electric-pair-pairs and electric-pair-text-pairs
19463         (Bug#24901)
19465         A previous change, titled "Add support for curly quotation marks to
19466         electric-pair-mode", attempted to add these characters to the default
19467         value of these variables.  But it did so in a quoted list, preventing
19468         evaluation of the relevant expressions and resulting in an invalid
19469         format.
19471         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs):
19472         Use backquote and comma.
19474 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
19476         * lisp/elec-pair.el (electric-pair-text-pairs): Don't autoload (Bug#24901).
19478         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
19479         explicitly in the interactive case.
19481 2017-08-19  Mats Lidell  <mats.lidell@cag.se>
19483         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
19485 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
19487         Add auth-source tests and codify its API better
19489         The auth-source behavior was unclear in some API use cases, so these
19490         extra tests codify and test it. For details see
19491         https://github.com/DamienCassou/auth-password-store/issues/29
19493         * lisp/files.el (make-temp-file): Add new initial TEXT parameter.
19494         * test/lisp/auth-source-tests.el (auth-source-test-searches): Add
19495           auth-source tests and simplify them with the new `make-temp-file'.
19497 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
19499         Don't call the same hook twice due to obsolete aliases
19501         * lisp/international/robin.el (robin-activate):
19502         * lisp/international/quail.el (quail-activate):
19503         * lisp/international/mule-cmds.el (deactivate-input-method):
19504         * lisp/emulation/viper-init.el (viper-deactivate-input-method):
19505         Don't call the same hook twice, when the obsolete and the
19506         advertised symbols are aliased.  (Bug#28118)
19508 2017-08-18  Felipe Ochoa  <felipe@fov.space>  (tiny change)
19510         A new face for show-paren in expression mode
19512         * lisp/faces.el (show-paren-match-expression): Define the new face.
19513         * lisp/paren.el (show-paren-function): Apply the different face
19514         when in expression mode.  (Bug#28047)
19516 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
19518         Non-ASCII support for man page section and header names
19520         * lisp/man.el (Man-name-regexp, Man-page-header-regexp)
19521         (Man-heading-regexp): Replace ASCII character classes by
19522         equivalent classes that allow non-ASCII characters.  Suggested by
19523         Grégory Mounié <Gregory.Mounie@imag.fr>.  (Bug#27978)
19525 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
19527         Implement HiDPI support for underwave on MS-Windows
19529         * src/w32term.c (x_get_scale_factor): New function.
19530         (w32_draw_underwave): Use it.
19531         * src/xterm.c (x_draw_underwave): Offset the wave starting point
19532         to make it identical with original code.
19534 2017-08-18  Stephen Pegoraro  <spegoraro@tutive.com>  (tiny change)
19536         Support HiDPI displays for wave style underlines
19538         * src/xterm.c (x_draw_underwave): Compute height, length and thickness
19539         based on scale factor.
19540         (x_get_scale_factor): New function.
19542 2017-08-18  Bastien  <bzg@gnu.org>
19544         Delete library-of-babel.org
19546         * etc/org/library-of-babel.org: Delete file.
19548 2017-08-18  Glenn Morris  <rgm@gnu.org>
19550         * doc/emacs/files.texi (Copying and Naming): Avoid confusing texi2pdf.
19552 2017-08-18  Noam Postavsky  <npostavs@gmail.com>
19554         Remove custom version parsing from epg-config.el (Bug#27963)
19556         * lisp/epg-config.el (epg-config--compare-version)
19557         (epg-config--parse-version): Remove.
19558         (epg-check-configuration): Use `version<=' instead.
19560 2017-08-18  Mark Oteiza  <mvoteiza@udel.edu>
19562         Treat control characters in JSON strings as invalid
19564         * lisp/json.el (json-peek): Reduce to following-char.
19565         (json-pop, json-read): Zero (null char) means end of file.
19566         (json-read-escaped-char): Delimit URL properly.
19567         (json-read-string): Signal error for ASCII control characters.
19568         * test/lisp/json-tests.el (test-json-peek): Check for zero instead of
19569         :json-eof symbol.
19570         (test-json-read-string): New test for control characters in JSON
19571         strings.
19573 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
19575         Support Posix semantics of 'rename' on MS-Windows
19577         * src/w32.c (sys_rename_replace): Support Posix semantics of
19578         'rename': return an error if OLD is a directory while NEW is not,
19579         or vice versa.
19581 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
19583         * src/w32.c (sys_rename_replace): Support renaming a directory.
19585 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
19587         Fix the MS-Windows build
19589         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
19590         'open'.
19592         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
19594 2017-08-17  João Távora  <joaotavora@gmail.com>
19596         Add flymake-backends defcustom
19598         * lisp/progmodes/flymake-proc.el (flymake-proc-can-syntax-check-buffer):
19599         Rename from flymake-can-syntax-check-file.  Suitable for adding to
19600         flymake-backends.
19601         (flymake-proc-start-syntax-check): Rename from
19602         flymake-start-syntax-check.  Don't check again if buffer can be
19603         checked.
19604         (add-to-list flymake-backends): Hook only flymake-ui.el
19606         * lisp/progmodes/flymake-ui.el (flymake-backends): New
19607         defcustom.
19608         (flymake-on-timer-event, flymake-after-change-function)
19609         (flymake-after-save-hook, flymake-find-file-hook): Call new
19610         flymake--start-syntax-check-buffer and
19611         flymake--can-syntax-check-buffer.
19612         (flymake-mode): Call flymake--can-syntax-check-buffer and set
19613         flymake-backend.
19614         (flymake--backend): New buffer-local variable.
19616 2017-08-17  João Távora  <joaotavora@gmail.com>
19618         Split flymake.el into flymake-proc.el and flymake-ui.el
19620         flymake.el is now a stub that requires both files.
19622         * lisp/progmodes/flymake-proc.el: New file.
19624         * lisp/progmodes/flymake-ui.el: New file.
19626         * lisp/progmodes/flymake.el: Split into flymake-ui.el and
19627           flymake-proc.el.  Require both files.
19629 2017-08-17  Michael Albinus  <michael.albinus@gmx.de>
19631         Set `default-directory' for watchdog in tramp-test.el
19633         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
19634         Set `default-directory' for watchdog.
19636 2017-08-17  Andreas Schwab  <schwab@suse.de>
19638         * lisp/term/konsole.el: New file.
19640 2017-08-17  Noam Postavsky  <npostavs@gmail.com>
19642         * lisp/woman.el (woman-push, woman-pop): Remove.  (Bug#27962)
19644         (woman2-RS): Use plain `push' instead of `woman-push'.
19645         (woman2-RE): Conditionally `pop' instead of `woman-pop'.
19647 2017-08-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
19649         Merge from Gnulib; use ‘open’ for O_CLOEXEC
19651         This incorporates:
19652         2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
19653         2017-08-15 extensions: enable NetBSD specific extensions
19654         2017-08-14 open: support O_CLOEXEC
19655         2017-08-13 reallocarray: new module
19656         * admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
19657         it now supports O_CLOEXEC and this simplifies Emacs.
19658         * build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
19659         * lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
19660         Copy from Gnulib.
19661         * lib/cloexec.c, lib/cloexec.h, lib/open.c:
19662         * m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
19663         New files, copied from Gnulib.
19664         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
19665         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
19666         Remove, as Gnulib does this for us.
19667         * src/filelock.c (create_lock_file):
19668         * src/sysdep.c (emacs_open, emacs_pipe):
19669         Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
19671 2017-08-16  Alan Third  <alan@idiocy.org>
19672             Charles A. Roelli  <charles@aurox.ch>
19674         Allow use of run-time OS version checks on macOS (bug#27810)
19676         * src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
19677         (MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
19678         MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
19679         defines.
19680         (NSWindowStyleMaskFullScreen,
19681         NSWindowCollectionBehaviorFullScreenPrimary,
19682         NSApplicationPresentationFullScreen,
19683         NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
19684         * src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
19685         check_native_fs, ns_read_socket, ns_select, runAlertPanel,
19686         initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
19687         windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
19688         toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
19689         Allow use of run-time checks and replace version check macros.
19690         * src/nsfns.m (ns_screen_name): Use run-time OS version checks.
19691         * src/macfont.m (macfont_draw): Use run-time OS version checks.
19692         * src/nsmenu.m (menuWillOpen): Use run-time OS version checks.
19694 2017-08-16  Alan Third  <alan@idiocy.org>
19696         Add multiframe image support to NS port (bug#21714)
19698         * src/nsimage.m (ns_load_image): Handle multiple frames.
19699         (EmacsImage::getMetadata, EmacsImage::setFrame): New functions.
19700         * src/nsterm.h (EmacsImage::getMetadata, EmacsImage::setFrame): New
19701         function prototypes.
19703 2017-08-16  Tino Calancha  <tino.calancha@gmail.com>
19705         files-tests.el: Remove unused lexical variable
19707         * test/lisp/files-tests.el (file-test--do-local-variables-test);
19708         Remove unused var 'files-test-queried'.
19710 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
19712         * doc/emacs/files.texi (Copying and Naming): Mention
19714         restrictions to add-name-to-file and make-symbolic-link on
19715         remote systems.
19717 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
19719         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Further support ftp-ssl.
19721 2017-08-16  Noam Postavsky  <npostavs@gmail.com>
19723         Add tests for previous commit
19725         * test/lisp/progmodes/elisp-mode-tests.el
19726         (elisp-mode-tests--face-propertized-string): New function.
19727         (elisp--highlight-function-argument-indexed)
19728         (elisp--highlight-function-argument-keyed-1)
19729         (elisp--highlight-function-argument-keyed-2): New tests.
19731 2017-08-16  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
19733         Fix eldoc highlighting for &key args (Bug#27272)
19735         * lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
19736         Only switch to keyword-based searching if INDEX point beyond `&key' in
19737         the argument list.  All arguments prior to the `&key' are position
19738         based.  Additionally, be more strict about what is a keyword when
19739         searching for the current keyword.
19741 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
19743         Do not assume regular Git .git/hooks dir
19745         Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
19746         Problem reported by Ted Zlatanov in:
19747         https://lists.gnu.org/r/emacs-devel/2017-08/msg00380.html
19748         * autogen.sh (git_sample_hook_src): New function.  Use it to work
19749         even if .git/hooks or its samples do not exist.
19751 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
19753         New manual section "Copying and Naming"
19755         * doc/emacs/files.texi (Copying and Naming):
19756         New section, split off from Misc File Ops and containing the
19757         operations that copy, name or rename files.  This fixes some
19758         confusion caused by the incorrect phrase "The same rule applies
19759         to all the remaining commands in this section" in the old manual.
19760         This change does not affect the confusion about directories (see
19761         Bug#27986 for ongoing discussion).
19763 2017-08-15  Eli Zaretskii  <eliz@gnu.org>
19765         Fix the MS-Windows build
19767         * src/fileio.c (Frename_file): Don't use ENOTSUP if it is equal to
19768         ENOSYS.  (Bug#28097)  (Bug#27986)
19770 2017-08-15  Ted Zlatanov  <tzz@lifelogs.com>
19772         * .gitlab-ci.yml: run "autogen.sh autoconf" to avoid Git.
19774         * .gitlab-ci.yml: add Git to the installed packages.
19776 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
19778         Support indentation of detached Less CSS rulesets
19780         * lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
19781         for indentation of detached rulesets passed to Less mixins.
19783         * test/manual/indent/less-css-mode.less: New file.
19785 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
19787         Fixes and tweaks for the new Less CSS mode
19789         * etc/NEWS: Add an entry for the new mode.
19791         * lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
19792         (less-css-lessc-command): Tweak docstring. Don't mark it as
19793         safe. Don't autoload.
19794         (less-css-compile-at-save, less-css-lessc-options)
19795         (less-css-output-directory): Tweak docstrings. Don't autoload.
19796         (less-css-output-file-name): Tweak docstring. Don't mark it as safe.
19797         (less-css-input-file-name): Tweak docstring. Don't autoload.
19798         (less-css-compile-maybe): Use `when' for one-armed `if'.
19799         (less-css--output-path): Tweak docstring.
19800         (less-css--maybe-shell-quote-command): Remove function.
19801         (less-css-compile): Don't autoload. Tweak docstring and message. Fix
19802         compiler warning. Use `string-join' instead of `mapconcat'.
19803         (less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
19804         variables.
19805         (less-css-mode-syntax-table, less-css-mode-map): New variables.
19806         (less-css-mode): Change status line mode name from "LESS" to
19807         "Less". Tweak docstring. Move syntax table definitions to
19808         `less-css-mode-syntax-table'.
19809         (less-css-indent-line): Remove function.
19811 2017-08-15  Steve Purcell  <steve@sanityinc.com>
19813         New major mode: Less CSS mode
19815         * lisp/textmodes/less-css-mode.el: New file.
19817 2017-08-15  Tino Calancha  <tino.calancha@gmail.com>
19819         archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits
19821         * lisp/arc-mode.el (archive-int-to-mode):
19822         Swap order of 2048 and 1024 tests (Bug#28092).
19823         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
19824         Update test.
19826 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
19828         Improve rename-file port to macOS
19830         * src/fileio.c (Frename_file): On macOS, renameat_noreplace can
19831         fail with errno == ENOTSUP on file systems where it is not
19832         supported, according to the Apple documentation.
19834 2017-08-15  Noam Postavsky  <npostavs@gmail.com>
19836         Speed up ./configure with more caching (Bug#27960)
19838         * configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
19839         'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
19840         'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
19841         characters', and 'Windows API header' checks.  Remove pause after
19842         warning about GTK bug.
19844 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
19846         Improve rename-file behavior on macOS
19848         Problem reported by Philipp Stephani (Bug#27986).
19849         * src/fileio.c (Frename_file):
19850         Worry about file name case sensitivity only if CYGWIN or DOS_NT.
19851         * src/sysdep.c (renameat_noreplace): Use renameatx_np on macOS,
19852         since this provides the necessary atomicity guarantees.
19854 2017-08-14  Glenn Morris  <rgm@gnu.org>
19856         Clean up temp files after some tests
19858         * test/lisp/emacs-lisp/bytecomp-tests.el
19859         (bytecomp-tests--with-temp-file): Also delete .elc file if present.
19860         * test/lisp/progmodes/etags-tests.el
19861         (etags-buffer-local-tags-table-list): Delete temp file at end.
19863 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
19865         Implement renameat_noreplace for MS-Windows
19867         * src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
19868         emulation for MS-Windows.  (Bug#27986)
19870 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
19872         Fix 'rename' on MS-Windows
19874         * src/w32.c (sys_rename_replace): Use the FORCE argument only if
19875         the primitive rename errors out with EEXIST.
19877 2017-08-14  Michael Albinus  <michael.albinus@gmx.de>
19879         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Support ftp-ssl.
19881 2017-08-14  Mark Oteiza  <mvoteiza@udel.edu>
19883         Tiny JSON performance improvement
19885         Get rid of some needless uses of apply.  Measuring with
19886           (benchmark-run 10 (json-read-file "test.json"))
19887         showed 1.5-2.5% reduction of execution time.
19888         * lisp/json.el (json-peek): Nix let-binding.
19889         (json-read-string): Use concat for making a string from chars.
19890         (json-read-array): Use cond and more appropriate conversion instead
19891         of blindly applying.
19893 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
19895         Be consistent in spelling 'ok-if-already-exists'.
19897 2017-08-13  Alexander Gramiak  <agrambot@gmail.com>
19899         Use 'header-line-highlight' face in proced and erc
19901         * lisp/erc/erc-list.el (erc-list-button):
19902         * lisp/proced.el (proced-format): Use the 'header-line-highlight
19903         face.  (Bug#28033)
19905 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
19907         Remove feeds with dead uris from newsticker--raw-url-list-defaults
19909         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
19910           Remove feeds with dead uris.
19912 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
19914         Fix vertical cursor motion when cursor is on the fringe
19916         * lisp/simple.el (line-move-visual): Fix an off-by-one error in
19917         setting temporary-goal-column when newline overflows into the
19918         fringe.  Support that use case in R2L paragraphs as well.
19920 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
19922         Fix vertical cursor motion across too wide images
19924         * src/indent.c (Fvertical_motion): If lines are truncated and we
19925         end up beyond the right margin of the window, don't assume we are
19926         in the next screen line, unless VPOS actually says so.  (Bug#28071)
19928 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
19930         Add test suites for arc-mode and tar-mode
19932         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
19933         * test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
19934         New tests.
19936 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
19938         * lisp/tar-mode.el (tar-grind-file-mode): Fix docstring
19940 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
19942         Fix uri of Emacs Wiki
19944         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): Fix
19945           uri of Emacs Wiki.  (Bug#27981)
19947 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
19949         Fix make-temp-file bug with ""/"."/".." prefix
19951         The bug with "." and ".." has been present for a while; I
19952         introduced the bug with "" earlier today in my patch for Bug#28023.
19953         * lisp/files.el (make-temp-file): Do not use expand-file-name if
19954         PREFIX is empty or "." or "..", as it does the wrong thing.
19955         Compute absolute-prefix here ...
19956         (files--make-magic-temp-file): ... instead of here ...
19957         * src/fileio.c (Fmake_temp_file_internal): ... or here.
19959         * lisp/files.el (make-temp-file): If the prefix is empty, append
19960         "/" to the absolute prefix so that the new files are children
19961         rather than siblings of temporary-file-directory.  This fixes a
19962         bug introduced in the previous change.
19963         * test/lisp/files-tests.el (files-test-make-temp-file-empty-prefix):
19964         New test, for the bug.
19966 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
19968         Improve make-temp-file performance on local files
19970         For the motivation behind this patch, please see Bug#28023 and:
19971         http://emacshorrors.com/posts/make-temp-name.html
19972         Although, given the recent changes to Tramp, the related security
19973         problem in make-temp-file is already fixed, make-temp-file still has
19974         several unnecessary system calls.  In the typical case on GNU/Linux,
19975         this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
19976         getpid, unlink, umask) by 2 (open, close).
19977         * admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
19978         that Emacs is using it directly.
19979         * configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
19980         no longer needed.
19981         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
19982         * lisp/files.el (files--make-magic-temp-file): Rename from
19983         make-temp-file.
19984         (make-temp-file): Use make-temp-file-internal for
19985         non-magic file names.
19986         * src/fileio.c: Include tempname.h.
19987         (make_temp_name_tbl, make_temp_name_count)
19988         (make_temp_name_count_initialized_p, make_temp_name): Remove.
19989         (Fmake_temp_file_internal): New function.
19990         (Fmake_temp_name): Use it.
19991         * src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
19992         instead of make_temp_name.
19994 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
19996         Document internal-use naming conventions
19998         * doc/lispref/functions.texi (Function Names):
19999         * doc/lispref/variables.texi (Tips for Defining):
20000         Document naming conventions for internal-use functions and vars.
20001         See Bug#28023#59.
20003 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
20005         Simplify re and document 'autoconf.sh all'
20007         * GNUmakefile (ALL_IF_GIT): Remove; no longer needed, now that
20008         ./autogen.sh defaults to "all".  All uses removed.
20009         * README: Mention autoconf.sh's effect on Git configuration.
20011 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
20013         Default autogen.sh to 'all'
20015         This addresses a problem noted by RMS in:
20016         https://lists.gnu.org/r/emacs-devel/2017-08/msg00052.html
20017         * autogen.sh (do_git): Set to true if this script is invoked
20018         with no arguments and there is a .git subdirectory.
20020 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
20022         Adjust jka-compr to recent Tramp changes.
20024         * lisp/jka-compr.el (jka-compr-write-region):
20025         Two new args LOCKNAME and MUSTBENEW.
20027 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
20029         Improve doc strings of 2 functions in simple.el
20031         * lisp/simple.el (beginning-of-visual-line)
20032         (move-beginning-of-line): Doc fix.  Reported by
20033         Justin Burkett <justin@burkett.cc>.
20035 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
20037         Fix completion on directory names on MS-DOS/MS-Windows
20039         * src/msdos.c (faccessat):
20040         * src/w32.c (faccessat): Support relative file names, and add D_OK
20041         to 'mode' if the argument is a directory.  This unbreaks file-name
20042         completion when the completion result is a directory.
20044 2017-08-12  Michael Albinus  <michael.albinus@gmx.de>
20046         Implement EXCL of write-region for Tramp
20048         * lisp/net/ange-ftp.el (ange-ftp-write-region):
20049         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
20050         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
20051         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region)
20052         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
20053         Implement MUSTBENEW.
20055         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
20056         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
20057         (tramp-sh-handle-add-name-to-file)
20058         (tramp-do-copy-or-rename-file)
20059         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
20060         Adapt error message for `file-already-exists'.
20062         * src/lisp.h:
20063         * src/eval.c (call8): New function.
20065         * src/fileio.c (write_region): Pass also lockname and
20066         mustbenew to the file name handler.
20068         * test/lisp/net/tramp-tests.el (tramp-test10-write-region):
20069         Add tests for MUSTBENEW.
20071 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
20073         Adapt Proced display to display-line-numbers
20075         * lisp/proced.el (proced-header-line): Account for the width taken
20076         by display-line-numbers.  (Bug#27895)
20078 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
20080         Adapt tabulated list when display-line-number is turned on
20082         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Add
20083         a hook to revert the display when display-line-numbers is turned
20084         on.  (Bug#27895)
20086 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
20088         Use Gnulib 'tempname' on MS-Windows
20090         * lib-src/ntlib.h (mkdir, open): Remove redefinitions.  They are
20091         now in nt/inc/ms-w32.h.
20092         * lib-src/ntlib.c (sys_mkdir, sys_open): New functions.
20093         (mkostemp): Remove.
20095         * src/w32.c (mkostemp): Remove.
20096         (sys_mkdir): Accept a second (unused) argument.
20097         * src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT
20098         specific call to mkdir.  (Bug#28023)
20100         * nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine
20101         to accept 2 arguments.
20102         (open): Remove from "#ifdef emacs".
20103         * nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove.
20104         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp)
20105         (OMIT_GNULIB_MODULE_tempname): Remove.
20107 2017-08-12  Alexander Gramiak  <agrambot@gmail.com>
20109         Add new face 'header-line-highlight'
20111         * lisp/faces.el: Define the face.
20112         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
20113         * lisp/info.el (Info-fontify-node): Use the new face.
20114         * doc/emacs/display.texi (Standard Faces):
20115         * etc/NEWS: Document the new face.  (Bug#28033)
20117 2017-08-12  Arash Esbati  <arash@gnu.org>
20119         Make a case-sensitive match for strings
20121         * lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
20122         let-bind `case-fold-search' to nil in order to be case-sensitive
20123         when matching a string.  (Bug#27518)
20125 2017-08-11  Stephen Berman  <steve@rosalinde.fritz.box>
20127         Fix a minor todo-mode regression
20129         * lisp/calendar/todo-mode.el (todo-get-overlay): Wrap in
20130         save-excursion.  This fixes a regression introduced by the fix
20131         for bug#27609, whereby trying to raise the priority of the
20132         first item or lower the priority of the last item, which
20133         should be noops, moves point to the item's start.  Clarify
20134         comment.
20136         * test/lisp/calendar/todo-mode-tests.el
20137         (todo-test-raise-lower-priority): Add test cases for trying to
20138         raise first item and lower last item.
20139         (with-todo-test): Clear abbreviated-home-dir, since we change HOME.
20140         (todo-test-toggle-item-header02): Remove ":expected-result
20141         :failed" and tests of point after todo-next-item, since the
20142         effect when using Todo mode is not reproducible in the test
20143         environment.  Add commentary about this.
20145 2017-08-11  Paul Eggert  <eggert@cs.ucla.edu>
20147         Improve performance for rename-file etc.
20149         Although this does not fix Bug#27986, it is a step forward.
20150         I plan to propose a more-significant patch later.
20151         * lisp/files.el (directory-name-p): Move from here ...
20152         * src/fileio.c (Fdirectory_name_p): ... to here.
20153         (directory_like, cp_like_target): New static functions.
20154         (Fcopy_file, Frename_file, Fadd_name_to_file)
20155         (Fmake_symbolic_link):
20156         Use them, to avoid directory-testing syscalls on file names that
20157         must be directories if they exist.  Omit unnecessary
20158         initializations and CHECK_STRING calls.
20159         (Frename_file): Don't call file_name_case_insensitive_p
20160         twice on the same file.  Compare both file names expanded, instead
20161         of the old name expanded and the new one unexpanded.
20163 2017-08-11  Noam Postavsky  <npostavs@gmail.com>
20165         Respect buffer-local value of tags-table-list (Bug#27772)
20167         * lisp/progmodes/etags.el (visit-tags-table-buffer): Save the current
20168         buffer around the `tags-table-including' calls so as to get buffer
20169         local variables from the right buffer later.
20170         * test/lisp/progmodes/etags-tests.el (etags-visit-tags-table-buffer):
20171         New test.
20172         * test/lisp/progmodes/etags-tests.el (etags-tests--test-dir): New
20173         constant.
20174         (etags-bug-158, etags-bug-23164): Use it so that when running the test
20175         interactively, setting EMACS_TEST_DIRECTORY is not needed.
20177 2017-08-10  Tom Tromey  <tom@tromey.com>
20179         Fix auto-filling regression
20181         Bug#28003
20182         * lisp/newcomment.el (comment-indent-new-line): Check
20183         comment-auto-fill-only-comments.  Reverts earlier change.
20184         * lisp/simple.el (internal-auto-fill): Call auto-fill-function, not
20185         do-auto-fill.
20187 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
20189         Merge from gnulib
20191         This incorporates:
20192         2017-08-09 tempname: do not depend on secure_getenv
20193         2017-08-08 extensions: add _OPENBSD_SOURCE
20194         2017-08-06 manywarnings: Add support for C++
20195         2017-08-06 warnings, manywarnings: Add support for multiple languages
20196         * admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
20197         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
20198         * lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
20199         * lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
20200         Copy from gnulib.
20202 2017-08-09  Eli Zaretskii  <eliz@gnu.org>
20204         Fix crashing emacs-module tests on MS-Windows
20206         * src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
20207         variable.
20208         (emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
20209         away, without displaying the Abort dialog, which waits for the user.
20211         * test/src/emacs-module-tests.el (module--test-assertion): Run the
20212         inferior Emacs with the w32 abort dialog disabled.  Expect the
20213         status of the aborted Emacs sub-process to be 3 on MS-Windows and
20214         2 on MS-DOS.
20216 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
20218         dired-delete-file:  Dont't ask for empty dirs
20220         * lisp/dired.el (dired--yes-no-all-quit-help): New defun.
20221         (dired-delete-file): Use it.  Dont't ask for empty dirs (Bug#27940).
20223         * test/lisp/dired-tests.el (dired-test-with-temp-dirs):
20224         New auxiliar macro.
20225         (dired-test-bug27940): Add new test.
20227 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
20229         Ask files for deletion in buffer order: top first, botton later
20231         * lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
20232         Call `nreverse' t invert the output of `dired-map-over-marks'.
20234 2017-08-09  Alexander Gramiak  <agrambot@gmail.com>
20236         Use help-mode xrefs in describe-font
20238         * lisp/international/mule-diag.el (describe-font): Use help-setup-xref
20239         (Bug#27890).
20241 2017-08-09  Katsumi Yamaoka  <yamaoka@jpl.org>
20243         Don't try to jump to non-existent part (bug#28013)
20245         * lisp/gnus/gnus-art.el (gnus-article-edit-part): Don't try to jump to
20246         the next part if there is the only one part in the article (bug#28013).
20248 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
20250         Replace some uses of eval
20252         There are a number of places where eval is used unnecessarily to get
20253         or set the value of a symbol.
20254         * lisp/calendar/calendar.el (diary-date-forms): Use default-value in
20255         custom setter.
20256         * lisp/desktop.el (desktop-clear): Use set-default instead.
20257         * lisp/international/ogonek.el (ogonek-read-encoding): Use
20258         symbol-value.
20260 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
20262         Convert uses of looking-at in viper-ex to following-char
20264         * lisp/emulation/viper-ex.el (viper-get-ex-token): Bind
20265         (following-char) and use it in the subsequent cond's clauses.
20266         (viper-ex, ex-quit, viper-get-ex-file): Use following-char instead.
20267         Convert single branch ifs to when
20269 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
20271         Some cleanup in message.el
20273         * lisp/gnus/message.el (message-cross-post-insert-note):
20274         (message-strip-forbidden-properties): Mark unused args.
20275         (message-canlock-generate): Remove extinct variable
20276         sha1-maximum-internal-length.
20277         (message-make-mail-followup-to): Use loop's thereis clause.
20279 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
20281         Document make-temp-name magic limitations
20283         * doc/lispref/files.texi (Unique File Names):
20284         * src/fileio.c (Fmake_temp_name): Document that make-temp-name
20285         does not guarantee uniqueness on magic file names.
20287 2017-08-08  Tom Tromey  <tom@tromey.com>
20289         Show number of errors in compilation-mode mode-line
20291         Bug#25354
20292         * lisp/progmodes/compile.el (compilation-num-errors-found): Provide
20293         default value.
20294         (compilation-num-warnings-found, compilation-num-infos-found): New
20295         defvars.
20296         (compilation-mode-line-errors): New defconst.
20297         (compilation-face): Remove.
20298         (compilation-type, compilation--note-type): New functions.
20299         (compilation-parse-errors): Call compilation--note-type.
20300         (compilation-start): Include compilation-mode-line-errors in
20301         mode-line-process.
20302         (compilation-setup): Initialize compilation-num-* variables to 0.
20303         (compilation-handle-exit): Include compilation-mode-line-errors in
20304         mode-line-process.
20305         * doc/emacs/building.texi (Compilation): Document new feature.
20307 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
20309         Do some cleanup in mailcap.el
20311         * lisp/net/mailcap.el: Use lexical-binding.
20312         (mailcap--set-user-mime-data, mailcap-possible-viewers): Use pcase
20313         destructuring.
20314         (mailcap-mime-data): Remove some entries for ancient functions.
20315         (mailcap-parse-mailcaps, mailcap-mime-info): Nix single-branch ifs.
20316         (mailcap-parse-mimetype-file): Just use append.
20317         (mailcap-command-p): Remove unused function.
20319 2017-08-08  Tino Calancha  <tino.calancha@gmail.com>
20321         query-replace: Undo replacements performed with 'comma
20323         During a `query-replace', the char ',' replaces the character
20324         at point and doesn't move point;  right after, the char 'u'
20325         must undo such replacement (Bug#27268).
20326         * lisp/replace.el (replace--push-stack):
20327         New macro extracted from `perform-replace'.
20328         (perform-replace): Use it.
20329         * test/lisp/replace-tests.el (query-replace--undo): Add test.
20331 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
20333         Don't define gv expanders in compiler's runtime (Bug#27016)
20335         This prevents definitions being compiled from leaking into the current
20336         Emacs doing the compilation.
20337         * lisp/emacs-lisp/gv.el (gv-define-expander): Use function-put instead
20338         of `put' with `eval-and-compile'.
20339         * test/lisp/emacs-lisp/gv-tests.el: New tests.
20341 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
20343         Let the cl-typep effects of defclass work during compilation (Bug#27718)
20345         * lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop'
20346         instead of `put'.
20347         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
20348         (eieio-tests--dummy-function): Remove.
20349         (eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't
20350         expect to fail if compiled.
20352 2017-08-08  Stefan Monnier  <monnier@IRO.UMontreal.CA>
20353             Noam Postavsky  <npostavs@gmail.com>
20355         Let `define-symbol-prop' take effect during compilation
20357         * src/fns.c (syms_of_fns): New variable `overriding-plist-environment'.
20358         (Fget): Consult it.
20359         * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): Let-bind
20360         it to nil.
20361         (byte-compile-define-symbol-prop): New function, handles compilation
20362         of top-level `define-symbol-prop' and `function-put' calls by putting
20363         the symbol setting into `overriding-plist-environment'.
20365 2017-08-08  Gemini Lasswell  <gazally@runbox.com>
20367         Add a test of handling of circular values to testcover-tests
20369         * test/lisp/emacs-lisp-testcover-resources/testcases.el
20370         (testcover-testcase-cyc1): New function.
20371         (testcover-tests-circular-lists-bug-24402): New test.
20373 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
20375         Don't error on circular values in testcover
20377         * lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value):
20378         Consider circular lists to be non-equal instead of signaling error.
20380 2017-08-08  Alexander Gramiak  <agrambot@gmail.com>
20382         Catch argument and macroexpansion errors in ert
20384         This kludge catches errors caused by evaluating arguments in ert's
20385         should, should-not, and should-error macros; it also catches
20386         macroexpansion errors inside of the above macros (Bug#24402).
20388         * lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
20389         (ert--expand-should-1): Catch macroexpansion errors.
20390         * test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
20391         (ert-test-should-error-macroexpansion): Tests for argument and
20392         expansion errors.
20394 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
20396         Revert "Add Enchant support to ispell.el (Bug#17742)"
20398         This reverts commit 7136e6723d87b51ae3089f5ceef6b14621bfaf87.
20400 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
20402         Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"
20404         This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.
20406 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
20408         Add support for arguments in ALTERNATE_EDITOR to emacsclient
20410         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
20411         corresponding command-line argument, into space-separated tokens.
20412         * etc/NEWS: Document.
20413         * test/lib-src/emacsclient-tests.el: Add a test.
20415 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
20417         Add Enchant support to ispell.el (Bug#17742)
20419         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
20420         (ispell-really-enchant): Add variable.
20421         (ispell-check-version): If using Enchant, check it’s new enough (at
20422         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
20423         without.)
20424         (ispell-enchant-dictionary-alist): Add variable.
20425         (ispell-find-enchant-dictionaries): Add function, based on
20426         ispell-find-aspell-dictionaries.
20427         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
20428         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
20429         old ispell name to locale mapping code for Enchant too.
20430         (ispell-send-replacement): Make it work with Enchant.
20432 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
20434         Allow async command output buffer to be shown only on output
20436         * lisp/simple.el (async-shell-command-display-buffer): Add
20437         defcustom.
20438         (shell-command): Use the new defcustom to determine whether to show
20439         the buffer immediately, or add a process filter that shows it only
20440         when there is some output.
20441         * etc/NEWS: Document the new variable.
20442         * doc/emacs/misc.texi: Likewise.
20444         Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.
20446 2017-08-07  Eli Zaretskii  <eliz@gnu.org>
20448         Fix infinite recursion under prettify-symbols-mode and linum-mode
20450         * src/xdisp.c (get_overlay_strings_1)
20451         (handle_single_display_spec, push_prefix_prop): Invalidate the
20452         composition information before starting to iterate on a string.
20453         Otherwise we might think in set_iterator_to_next that we are
20454         delivering characters from a composition, and do all kinds of
20455         nonsensical things, like over-step the string end.  (Bug#27761)
20457 2017-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
20459         * lisp/gnus/gnus-bcklg.el (gnus-backlog-request-article): Fix thinko.
20461 2017-08-07  Martin Rudalics  <rudalics@gmx.at>
20463         Fix doc-string of `delete-other-windows'
20465         * lisp/window.el (delete-other-windows): Fix doc-string.
20467 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
20469         Fix a couple more make-temp-file races
20471         * lisp/files.el (basic-save-buffer-2, move-file-to-trash):
20472         Use make-temp-name, not make-temp-file with retry.
20473         (basic-save-buffer-2): Use condition-case, instead of
20474         unwind-protect with a success flag.
20476 2017-08-07  Noam Postavsky  <npostavs@gmail.com>
20478         Merge null and without-null regexp alists (Bug#27840, Bug#27873)
20480         * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
20481         characters following filename in grep context lines.
20482         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
20483         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
20484         (grep-regexp-alist): Recombine their contents here.
20485         (grep-mode):
20486         * lisp/cedet/semantic/symref/grep.el
20487         (semantic-symref-parse-tool-output-one-line):
20488         * lisp/progmodes/xref.el (xref-collect-matches): Use the variable
20489         `grep-regexp-alist' rather than the function.
20491 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
20493         Fix some crashes on self-modifying Elisp code
20495         Prompted by a problem report by Alex in:
20496         https://lists.gnu.org/r/emacs-devel/2017-08/msg00143.html
20497         * src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
20498         Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
20499         it is likely to run a bit faster with typical hardware caches.
20500         (Fif): Use Fcdr instead of XCDR, to avoid crashing on
20501         self-modifying S-expressions.
20502         (Fsetq, Flet, eval_sub): Count the number of arguments as we go
20503         instead of trusting an Flength prepass, to avoid problems when the
20504         code is self-modifying.
20505         (Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
20506         where either will do.  This is mostly to document the fact that
20507         the value must be a proper list.  It's also a tiny bit faster on
20508         typical machines nowadays.
20509         (Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
20510         (eval_sub): Check that the args are a list as opposed to some
20511         other object that has a length. This prevents e.g. (if . "string")
20512         from making Emacs dump core in some cases.
20513         * test/src/eval-tests.el (eval-tests--if-dot-string)
20514         (eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
20515         New tests.
20517 2017-08-06  Eli Zaretskii  <eliz@gnu.org>
20519         * etc/tutorials/TUTORIAL.he: Update to match recent changes to TUTORIAL.
20521 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
20523         Minor tweak in a dired test
20525         * test/lisp/dired-tests.el (dired-test-bug27968):
20526         Ensure the new header has different length than the original one.
20528 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
20530         dired-delete-file: Do not TAB complete the user answer
20532         This action might delete directories containing valuable information.
20533         Before previous commit, we prompted users with `yes-or-no-p'
20534         which doesn't TAB complete the user answer.  Let's play safe and
20535         keep requiring full answers.
20536         * lisp/dired.el (dired-delete-file): Use `read-string'
20537         instead of `completing-read' to read the user answers.
20539 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
20541         dired-do-delete: Allow to delete dirs recursively without prompts
20543         * lisp/dired.el (dired-delete-file): Accept 2 additional answers:
20544         'all', to delete all directories recursively and no prompt anymore.
20545         'quit', to cancel directory deletions (Bug#27940).
20546         Show help message when user inputs 'help'.
20547         (dired-do-flagged-delete): Bind locally dired-recursive-deletes
20548         so that we can overwrite its global value.
20549         Wrapp the loop within a catch '--delete-cancel to catch when
20550         the user abort the directtry deletion.
20551         * doc/emacs/dired.texi (Dired Deletion): Update manual.
20552         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
20553         Announce this change.
20555 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
20557         Fix a couple of make-temp-file races
20559         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
20560         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
20561         Use make-temp-file, not make-temp-name, to avoid an unlikely race
20562         that could lose data.  Remove the deletion hook as quickly as
20563         possible after the file is renamed; though a race still remains
20564         here, it is smaller than before.
20566 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
20568         Dired w/ eshell-ls: Handle shell wildcards in file name
20570         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
20571         Use eshell-extended-glob (Bug#27844).
20572         * test/lisp/dired-tests.el (dired-test-bug27844): Add test.
20574 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
20576         dired-revert: save line numbers instead of positions
20578         Positions might change if the length of one dired header line
20579         changes; this happen, for instance, if we add new files.
20580         Instead, line numbers are invariant under shrinks/enlargements
20581         of the file header.
20582         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
20583         * lisp/dired.el (dired-save-positions): Save the line numbers at point.
20584         (dired-restore-positions): Use forward-line to restore the original
20585         position (Bug#27968).
20586         * test/lisp/dired-tests.el (dired-test-bug27968): Add test.
20588 2017-08-06  Tom Tromey  <tom@tromey.com>
20590         Respect comment-auto-fill-only-comments
20592         Respect comment-auto-fill-only-comments when auto-filling and a
20593         comment syntax is defined.
20595         * lisp/newcomment.el (comment-indent-new-line): Do not check
20596         comment-auto-fill-only-comments.
20597         * lisp/simple.el (internal-auto-fill): New defun.
20598         * src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
20599         auto_fill_function.
20600         (syms_of_cmds): Define Qinternal_auto_fill.
20602 2017-08-05  Richard Stallman  <rms@gnu.org>
20604         * etc/tutorials/TUTORIAL: Update.
20606 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
20608         Unify CNS11643-15 in a way that avoids segfaults
20610         * lisp/international/mule-conf.el: Redo unification of
20611         cns11643-15.  (Bug#27964)
20612         (chinese-cns11643-15): Add the missing :unify-map attribute.
20614 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
20616         Avoid segfaults while producing Punct.el
20618         * lisp/international/mule-conf.el: Undo unification of
20619         cns11643-15, as that causes segfaults during bootstrap.
20620         (Bug#27964)
20622 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
20624         Make header line in some modes be sensitive to display-line-numbers
20626         * lisp/ruler-mode.el (ruler-mode-ruler, ruler-mode-window-col):
20627         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header)
20628         (tabulated-list-print-entry): Account for the width taken by
20629         line-number display.  (Bug#27895)
20631 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
20633         Fix a bug in 'generate-new-buffer-name'
20635         * src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
20636         nil before calling string-equal, since the latter will compare
20637         "nil and 'nil' as equal.  (Bug#27966)
20639         * test/src/buffer-tests.el
20640         (test-generate-new-buffer-name-bug27966): New test.
20642 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
20644         Unify CNS11643-15
20646         * lisp/international/mule-conf.el (chinese-cns11643-15): Add a
20647         unify-charset form for it.  (Bug#27964)
20649 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
20651         Improve test of error message when Emacs cannot be suspended
20653         * lisp/term/x-win.el (x-win-suspend-error):
20654         * lisp/term/ns-win.el (ns-suspend-error): Improve the error
20655         message.  (Bug#27901)
20657 2017-08-05  Alexander Gramiak  <agrambot@gmail.com>
20659         Make "C-h o" show faces as well as variables
20661         * lisp/faces.el (describe-face): Return (buffer-string).  Reorder
20662         the placement of variables/faces in describe-symbol, to put more
20663         emphasis on the variable entry rather than the face.  (Bug#24543)
20665 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
20667         Fix files-tests.el for MS-Windows
20669         * test/lisp/files-tests.el
20670         (files-tests--file-name-non-special--subprocess): Fix this test
20671         for MS-Windows.
20673 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
20675         Improve documentation of 'region-extract-function'
20677         * lisp/simple.el (region-extract-function): Rename the argument to
20678         METHOD.  Doc fix.  (Bug#27927)
20680 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
20682         Merge from gnulib
20684         This incorporates:
20685         2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
20686         2017-08-01 manywarnings: port to 32-bit GCC bug
20687         * lib/gnulib.mk.in: Regenerate.
20688         * m4/manywarnings.m4: Copy from gnulib.
20690 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
20692         Port recent rename changes to Ubuntu 14.04
20694         * src/sysdep.c (renameat_noreplace) [!RENAME_NOREPLACE]:
20695         Don’t use syscall.  Problem reported by Tino Calancha (Bug#27946#10).
20697 2017-08-05  Tino Calancha  <tino.calancha@gmail.com>
20699         insert-directory-wildcard-in-dir-p: Tweak regexp
20701         This function must return non-nil for a wildcard like '/*/*.txt'.
20702         * lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
20703         * test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
20704         Add test.
20706 2017-08-04  Toby S. Cubitt  <tsc25@cantab.net>
20708         Implement iterator generator for avl-trees.
20710         * lisp/emacs-lisp/avl-tree.el (avl-tree-iter): New iter-defun.
20712 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
20714         ls-lisp: Drop eshell dependencies
20716         Use 'file-expand-wildcards' instead of 'eshell-extended-glob' to
20717         expand the wildcards.
20718         Suggested by Fabrice Popineau in:
20719         https://lists.gnu.org/r/emacs-devel/2017-08/msg00108.html
20720         * lisp/ls-lisp.el (ls-lisp--dired): Use file-expand-wildcards.
20722 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
20724         Fix dired-test-bug27631 on MS-Windows
20726         Skip the test if Dired use 'ls' emulation with lisp.  The same
20727         bug is tested in their respective test suites: ls-lisp-tests.el
20728         and em-ls-tests.el.
20729         * test/lisp/dired-tests.el (dired-test-bug27631): Skip test if 'ls-lisp'
20730         or 'eshell' features are enabled.
20732 2017-08-04  Eli Zaretskii  <eliz@gnu.org>
20734         Fix dired-test-bug25609 on MS-Windows
20736         * test/lisp/dired-tests.el (dired-test-bug25609): On MS-Windows,
20737         pass temporary files through file-truename, to avoid bogus
20738         failures due to file-name comparison as strings.
20740 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
20742         Fix 2 tests that fail in MS-Windows
20744         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
20745         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
20746         Add comments to explain the test logic.
20747         Pass '--binary' option to 'patch' program in windows environments.
20748         Check explicitly that a backup is created before compare file contents.
20750         * test/lisp/dired-tests.el (dired-test-bug25609):
20751         Declare variable 'dired-dwim-target' right before the test.
20752         Add comments to explain the test logic.
20753         Ensure, before test the bug condition, that we are displaying the
20754         2 dired buffers created in this test, and no other dired buffer
20755         is shown.
20757 2017-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
20759         * lisp/shell.el (explicit-shell-file-name): Mention shell-file-name
20761         * lisp/files.el (insert-directory): Don't hardcode "-c".
20762         * lisp/term.el (term, ansi-term): Use shell-file-name.
20764 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
20766         Fix version numbers for some GnuTLS features
20768         Problem reported by Glenn Morris (Bug#27708#58).
20769         * src/gnutls.c (HAVE_GNUTLS_X509_SYSTEM_TRUST):
20770         New macro.  Use it instead of low-level version number checks.
20771         (HAVE_GNUTLS_AEAD): Move here from gnutls.h, and rename from
20772         HAVE_GNUTLS3_AEAD.  All uses changed.  Indent preprocessor lines.
20773         * src/gnutls.h (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST)
20774         (HAVE_GNUTLS3_HMAC): Remove, since these were available
20775         before GnuTLS 3.0.0 and the code checks them only if HAVE_GNUTLS3
20776         is defined.  Remove all uses; this simplifies the code a bit.
20778 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
20780         Port recent rename changes to RHEL 7 + NFS
20782         Problem reported by Ted Zlatanov in:
20783         https://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
20784         * src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
20785         with errno == EINVAL when it is not supported.  So treat that case
20786         like errno == ENOSYS.  Also, when ok_if_already_exists is neither
20787         nil nor an integer, just call plain rename; this avoids an extra
20788         syscall to renameat2 when the latter fails with errno == EINVAL or
20789         ENOSYS or ENOENT.
20791 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
20793         Port GnuTLS usage to Ubuntu 16.04.2 LTS
20795         * src/gnutls.h (HAVE_GNUTLS3_AEAD): Define only if GnuTLS 3.5.1 or
20796         later, as opposed to the old 3.4.0 or later.
20798 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
20800         Simplify configuration of HAVE_GNUTLS3 etc.
20802         There's only one GnuTLS, so configuring these symbols at
20803         'configure' time is overkill.  Simplify things by moving their
20804         configuration to src/gnutls.h (Bug#27708).
20805         * configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
20806         (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
20807         from here ...
20808         * src/gnutls.h: ... to here, and simplify.
20810 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
20812         Default to --with-mailutils if it is installed
20814         * configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
20815         is installed.  See:
20816         https://lists.gnu.org/r/emacs-devel/2017-08/msg00054.html
20818 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
20820         Clarify when autogen.sh should run only autoconf
20822         * Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
20823         not plain ‘./autogen.sh’, to make it clear that only
20824         autoconf-related tools should be run here.
20826 2017-08-02  Toon Claes  <toon@iotcl.com>
20828         .gitlab-ci.yml: Use stretch Debian image instead of unstable
20830 2017-08-02  Stephen Berman  <stephen.berman@gmx.net>
20832         Add debugging messages to a Dired test
20834         * test/lisp/dired-tests.el (dired-test-bug27243-01): Log
20835         positions saved and restored by dired-revert to try and find
20836         out why the test fails on Hydra.
20838 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
20840         ls-lisp: Autoload call instead of cookie
20842         * lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.
20844 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
20846         When renaming a file, ask only if EEXIST or ENOSYS
20848         * src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
20849         more than once on FILE.  Use renameat_noreplace, so that we can
20850         ask the user (and unlink and retry) only if this fails with errno
20851         == EEXIST or ENOSYS.  This avoids the need to ask the user for
20852         permission to do an operation that will fail anyway.  Simplify
20853         computation of ok_if_already_exists for subsidiary functions.
20854         * src/filelock.c (rename_lock_file): Prefer renameat_noreplace
20855         if it works, as this avoids the need to link and unlink.
20856         * src/lisp.h (renameat_noreplace): New decl.
20857         * src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
20858         (renameat_noreplace): New function.
20860 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
20862         When creating a link, ask only if EEXIST
20864         * src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
20865         Ask the user (and unlink and retry) only if link creation fails
20866         with errno == EEXIST.  This avoids the need to ask the user for
20867         permission to do an operation that will fail anyway.
20869 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
20871         dired-align-file: Inherit text properties in inserted spaces
20873         * lisp/dired.el (dired-align-file): Inherit text
20874         properties in inserted spaces (Bug#27899).
20875         * test/lisp/dired-tests.el (dired-test-bug27899): Add test.
20877 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
20879         Don't assume /bin/sh as the 'sh' location in the local host
20881         * lisp/dired.el (dired-insert-directory): Use executable-find in
20882         a local host.
20884 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
20886         Move dired tests using ls emulation to different files
20888         Suggested in:
20889         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
20890         * test/lisp/dired-tests.el (dired-test-bug27693)
20891         (dired-test-bug27762, dired-test-bug27817)
20892         (dired-test-bug27631, dired-test-bug27843): Delete those
20893         parts requiring either ls-lisp or eshell-ls.
20895         * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
20896         (ls-lisp-test-bug27631, ls-lisp-test-bug27693):
20897         Add all dired tests using ls-lisp here.
20899         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
20900         (em-ls-test-bug27817, em-ls-test-bug27843): New test file.  Add
20901         all dired tests using eshell-ls here.
20903 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
20905         * test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el
20907 2017-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>
20909         * lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
20910         Say the handle is already decoded.
20911         cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.
20913 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
20915         Don’t worry about unlink if errno == ENOENT
20917         * src/fileio.c (Fdelete_file):
20918         * src/keyboard.c (Fopen_dribble_file): Do not report failure to
20919         remove a file if unlink fails with errno == ENOENT.  This can
20920         happen even if Emacs is the only program removing the file, in
20921         case an NFS cache overflows.  The file does not exist if errno ==
20922         ENOENT, so it is OK to proceed.
20924 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
20926         Fix misalignment in Dired when dired-directory is a cons
20928         * lisp/dired.el (dired--need-align-p, dired--align-all-files):
20929         New defuns.
20930         (dired-internal-noselect): Call dired--align-all-files when
20931         dired-directory is a cons (Bug#27762).
20932         * test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.
20934 2017-08-01  Eli Zaretskii  <eliz@gnu.org>
20936         Fix some dired-tests.el on MS-Windows
20938         * test/lisp/dired-tests.el (dired-test-bug27243-01)
20939         (dired-test-bug27243-02): On MS-Windows, pass test-dir through
20940         file-truename, to avoid bogus failures due to file-name comparison
20941         as strings.
20943 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
20945         Insert subdir content if dir-or-list is a string w/o wildcards
20947         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
20948         Append '("-d") into 'eshell-ls-dired-initial-args'
20949         if 'dired-directory' is a cons or there are wildcars (Bug#27843).
20950         * test/lisp/dired-tests.el (dired-test-bug27843): Add test.
20952 2017-08-01  Stephen Berman  <stephen.berman@gmx.net>
20954         Update todo-mode defcustoms in a less hideous way
20956         * lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
20957         (todo-reevaluate-default-file-defcustom)
20958         (todo-reevaluate-category-completions-files-defcustom)
20959         (todo-reevaluate-filter-files-defcustom): Delete these functions.
20960         (todo-update-filelist-defcustoms): New function.  This replaces
20961         todo-reevaluate-filelist-defcustoms, using the 'custom-type'
20962         property instead of re-evaluating the defcustoms.
20963         (todo-add-file, todo-rename-file, todo-delete-file)
20964         (todo-delete-category, todo-move-category)
20965         (todo-convert-legacy-files, todo-check-file): Replace call of
20966         todo-reevaluate-filelist-defcustoms by
20967         todo-update-filelist-defcustoms.
20968         (todo-show, todo-category-completions): Replace call of
20969         todo-reevaluate-* function by use of 'custom-type' property.
20971 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
20973         Add more should form calls in a failing dired test
20975         Some dired tests fail intermittently in hydra.  Add few
20976         more should form calls for debugging.
20977         See:
20978         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
20979         * test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
20980         forms for debugging.
20982 2017-08-01  Michael Albinus  <michael.albinus@gmx.de>
20984         Follow SAUNA recommendations for display-line-numbers-type
20986         * lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.
20988         * lisp/menu-bar.el (display-line-numbers-type): Declare.
20990 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
20992         Avoid most stat calls when completing file names
20994         * admin/merge-gnulib (GNULIB_MODULES): Add d-type.
20995         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
20996         * m4/d-type.m4: New file, copied from gnulib.
20997         * src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
20998         [!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
20999         (dirent_type): New function.
21000         (file_name_completion): Use it, to avoid unnecessary calls to
21001         stat-like functions on GNU/Linux and other platforms with d_type.
21002         (file_name_completion_stat): Just follow the link; there is no
21003         need to try first with AT_SYMLINK_NOFOLLOW since the directory
21004         entry was already checked to exist.
21006 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
21008         dired-tests: Unload tested features after test them
21010         Some tests are for Dired with ls-lisp or eshell-ls.
21011         Requiring these features add an advice on `dired' and
21012         might affect other tests.
21013         Do not require these features at the top of the file; require
21014         then inside the tests and unload then at the end.
21015         * test/lisp/dired-tests.el (dired-test-bug27693)
21016         (dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
21017         require ls-lisp and/or eshell-ls inside the test; unload the
21018         features at the end.
21020 2017-07-31  Michael Albinus  <michael.albinus@gmx.de>
21022         Small adaptions for directory wildcards
21024         * lisp/dired.el (dired-insert-directory): Remove "--dired"
21025         when there are wildcards, and the directory is remote.
21027         * test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
21028         Adapt docstring.
21029         (tramp-test17-dired-with-wildcards): Skip for all methods but
21030         those from tamp-sh.p.
21032 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
21034         * lisp/dired.el (dired-trivial-filenames): Use \` and \' to match
21035         string bounds.
21037 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
21039         Merge from gnulib
21041         This incorporates:
21042         2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
21043         * lib/tempname.c: Copy from gnulib.
21045 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
21047         ls-lisp: Do not require em-glob at top of the file
21049         Require em-glob inside 'ls-lisp--dired'.  This is necessary to
21050         not break the Emacs build.
21051         See following thread for details:
21052         https://lists.gnu.org/r/emacs-devel/2017-07/msg01083.html
21053         * lisp/ls-lisp.el (dired-goto-next-file)
21054         (dired-read-dir-and-switches, eshell-extended-glob):
21055         Add function declarations.
21056         * lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.
21058 2017-07-30  Michael Albinus  <michael.albinus@gmx.de>
21060         * lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.
21062         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.
21064 2017-07-30  Simen Heggestøyl  <simenheg@gmail.com>
21066         Change default CSS property face
21068         * lisp/textmodes/css-mode.el (css-property): Inherit from
21069         `font-lock-keyword-face' instead of `font-lock-variable-name-face' to
21070         distinguish CSS properties from variables.
21072 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
21074         Dired: Handle posix wildcards in directory part
21076         Allow Dired to handle calls like
21077         \(dired \"~/foo/*/*.el\"), that is, with wildcards within
21078         the directory part of the file argument (Bug#27631).
21079         * lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
21080         (insert-directory-clean): New defun extracted from insert-directory.
21081         (insert-directory)
21082         * lisp/dired.el (dired-internal-noselect)
21083         (dired-insert-directory): Use the new predicate; when it's true,
21084         handle the directory wildcards with a shell call.
21085         * lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
21086         (eshell-ls-unload-hook): New defun.  Use it in
21087         eshell-ls-unload-hook instead of an anonymous function.
21088         (eshell-ls--dired)
21089         * lisp/ls-lisp.el (ls-lisp--dired):
21090         Advice dired to handle wildcards in the directory part with both
21091         eshell-ls and ls-lisp.
21092         * etc/NEWS: Announce it.
21093         * doc/emacs/dired.texi (Dired Enter): Update manual.
21094         * test/lisp/dired-tests.el (dired-test-bug27631): Add test.
21096 2017-07-29  Tino Calancha  <tino.calancha@gmail.com>
21098         * lisp/find-lisp.el: Enable lexical binding
21100         * lisp/find-dired.el: Enable lexical binding
21102 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
21104         * lisp/kmacro.el: Use lexical binding.
21106 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
21108         Use lexical-binding in dired-aux.el
21110         * lisp/dired.el: Use lexical binding.
21111         (dired-do-shell-command): Remove unused bindings.
21113 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
21115         * lisp/ido.el: Use lexical binding.
21117         * lisp/whitespace.el: Use lexical binding.
21119 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
21121         artist.el: Avoid error with keyboard command invocation
21123         * lisp/textmodes/artist.el (artist-mouse-choose-operation):
21124         Call x-popup-menu with t instead of last-nonmenu-event as the
21125         value of the position argument; this allows invoking the
21126         command from the keyboard without raising an error (bug#27819).
21128 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
21130         Preserve point under 'dired-auto-revert-buffer' (third case)
21132         * lisp/files.el (find-file): Use pop-to-buffer-same-window
21133         instead of switch-to-buffer.  This preserves Dired window
21134         point when dired-auto-revert-buffer is non-nil.  (Bug#27243)
21136         * test/lisp/dired-tests.el (dired-test-bug27243-01)
21137         (dired-test-bug27243-02, dired-test-bug27243-03): New tests.
21138         The first two replace a previous test that combined them; that
21139         test intermittently fails in the Hydra build system, so maybe
21140         separating the two cases will help locate the point of
21141         failure.  The third test involves find-file but is here
21142         because it, like the others, is testing the effect of
21143         dired-auto-revert-buffer.
21145 2017-07-29  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
21147         Do not unset user key remaps in dired-x
21149         * lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
21150         sets dired-x-hands-off-my-keys.  (Bug#27828)
21152 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
21154         Improve documentation of 'occur'
21156         * doc/emacs/search.texi (Other Repeating Search):
21157         * lisp/replace.el (occur): Make the documentation of 'occur' be
21158         more accurate when matches overlap.  (Bug#27818)
21160 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
21162         Minor copyedits of comments in faces.el
21164         * lisp/faces.el (face-font-family-alternatives): More info about
21165         requirements from "Monospace Serif".
21167 2017-07-29  Paul Eggert  <eggert@cs.ucla.edu>
21169         Do not worry about paxctl on newer NetBSD
21171         Problem reported privately by Thomas Klausner.
21172         * configure.ac (emacs_uname_r): New var.  Use it to avoid paxctl
21173         on newer NetBSD platforms, where it is not needed.  Also use it to
21174         simplify Cygwin diagnostic.
21176 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
21178         Clarify documentation of ':inherit' face attribute
21180         * doc/lispref/display.texi (Face Attributes): Document the special
21181         treatment of 'unspecified' in the ':inherit' attribute.
21183 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
21185         * lisp/password-cache.el (password-data): Use a hash-table
21187         * lisp/auth-source.el (auth-source-magic): Remove.
21188         (auth-source-forget+, auth-source-forget-all-cached): Adjust to new
21189         format of password-data.
21190         (auth-source-format-cache-entry): Just use a cons.
21192         (password-cache-remove, password-cache-add, password-reset)
21193         (password-read-from-cache, password-in-cache-p): Adjust accordingly.
21195         (Bug#26699)
21197 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
21199         * lisp/subr.el (define-symbol-prop): New function
21201         (symbol-file): Make it find symbol property definitions.
21203         * lisp/emacs-lisp/pcase.el (pcase-defmacro):
21204         * lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
21205         (ert-describe-test): Adjust call to symbol-file accordingly.
21207 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
21209         * lisp/subr.el (method-files): Move function to cl-generic.el
21211         * lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
21212         (cl--generic-method-files): New function, moved from subr.el.
21213         * lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
21214         * test/lisp/emacs-lisp/cl-generic-tests.el:
21215         * test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
21217 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
21219         Preserve this-command-keys across recursive-edit invocations
21221         * src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
21222         restore this-command-keys, to preserve it across recursive-edit.
21223         (Bug#27470)
21225 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
21227         Improve doc string of 'locate-dominating-file'
21229         * lisp/files.el (locate-dominating-file): Doc fix.  (Bug#27798)
21231 2017-07-28  Drew Adams  <drew.adams@oracle.com>
21233         New commands 'apropos-local-variable', 'apropos-local-value'
21235         * lisp/apropos.el (apropos-local-variable, apropos-local-value):
21236         New functions.  (Bug#27424)
21238         * doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
21239         and 'apropos-local-value'.
21240         * etc/NEWS: Mention the new commands.
21242 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
21244         * lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code
21246         * lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.
21248 2017-07-27  Alan Mackenzie  <acm@muc.de>
21250         Fix C++ class initializers not always being fontified at mode start.
21252         The problem here happened when an "outer list" of declarations moved beyond an
21253         "inner list" containing class initializers.  These weren't being checked for
21254         by the code.
21256         Also, fix places in c-get-fontification-context where point is undefined.
21258         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
21259         not-front-decl is set, test for class initializers.  Also, anchor point in
21260         places where it is moved and is otherwise undefined.
21262 2017-07-27  Alan Mackenzie  <acm@muc.de>
21264         Fix variables in C++ "for" statement not always being fontified.
21266         The error happened when there was a comma inside template delimiters.
21268         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
21269         statements, recognize template delimiters containing "," and "&".
21271 2017-07-27  Michael Albinus  <michael.albinus@gmx.de>
21273         Add watchdog process to tramp-test36-asynchronous-requests
21275         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
21276         New defun.
21277         (tramp-test36-asynchronous-requests): Use a watchdog process,
21278         listening for SIGUSR1.
21280 2017-07-27  Alan Mackenzie  <acm@muc.de>
21282         CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk
21284         If a declarator is so cut off, extend the fontification chunk to include it.
21286         * lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
21287         (c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.
21289 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
21291         * lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases
21293         (smerge--refine-long-words): New var.
21294         (smerge--refine-chopup-region): Use it.
21296 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
21298         * lisp/url/url-cookie.el: Use lexical-binding
21300         (url-cookie-host-can-set-p): Remove unused var `last'.
21301         Use string-suffix-p.
21302         (url-cookie-list): De morgan.
21303         (url-cookie-quit): Remove.
21304         (url-cookie-mode): Inherit from special-mode.
21305         (url-cookie-mode-map): Simplify accordingly.
21307 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
21309         * lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.
21311         * lisp/ruler-mode.el (ruler-mode-ruler): Document problem.
21313 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
21315         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
21317         Record this as the function's definition site if it's the first def.
21319 2017-07-26  Glenn Morris  <rgm@gnu.org>
21321         * doc/lispref/loading.texi (When to Autoload): New section.
21323 2017-07-26  Glenn Morris  <rgm@gnu.org>
21325         Stop using unibyte buffers for ert backtraces
21327         * lisp/emacs-lisp/ert.el
21328         (ert-results-pop-to-backtrace-for-test-at-point):
21329         Set multibyte true, not false.  This copies a
21330         debugger-setup-buffer change from 2009-08-30, and stops the
21331         "Backtrace for" header line containing ^X and ^Y.
21333 2017-07-26  Dmitry Gutov  <dgutov@yandex.ru>
21335         Fix semantic-symref-parse-tool-output-one-line after 644cdd1aa0
21337         * lisp/cedet/semantic/symref/grep.el
21338         (semantic-symref-grep--line-re): Delete.
21339         (semantic-symref-parse-tool-output-one-line):
21340         Use regexp and group numbers from (grep-regexp-alist).
21342 2017-07-26  Grégoire Jadi  <daimrod@omecha.info>
21344         Fix cl-defmethod indentation
21346         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
21347         Declare (indent defun).  Fixes bug#23994.
21349 2017-07-26  Martin Rudalics  <rudalics@gmx.at>
21351         Fix two customization types in frame.el
21353         * lisp/frame.el (window-divider-default-bottom-width)
21354         (window-divider-default-right-width): Fix customization types.
21356 2017-07-26  Tino Calancha  <tino.calancha@gmail.com>
21358         Dired: Support eshell-ls from the beginning if the user wants to
21360         * lisp/dired.el (dired-insert-directory): Check for eshell-ls
21361         as well (Bug#27817).
21362         * test/lisp/dired-tests.el (dired-test-bug27817): Add test.
21364 2017-07-26  Mark Oteiza  <mvoteiza@udel.edu>
21366         * lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.
21368 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
21370         * lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):
21372         Adjust to change in cl-generic-ensure-function.
21374 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
21376         ls-lisp: Add an unload function and enable lexical binding
21378         Enable lexical binding.
21379         * lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
21380         * test/lisp/ls-lisp-tests.el (ls-lisp-unload): Add test.
21382 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
21384         register-read-with-preview: Quit if user input C-g or ESC
21386         * lisp/register.el (register-read-with-preview):
21387         Quit if user input C-g or ESC (bug#27634).
21388         * doc/emacs/regs.texi (Registers): Update manual.
21389         * test/lisp/register-tests.el (register-test-bug27634): Add test.
21391 2017-07-25  Mark Oteiza  <mvoteiza@udel.edu>
21393         Recognize MirBSD Korn shell rc file
21395         * lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
21397 2017-07-25  Glenn Morris  <rgm@gnu.org>
21399         * configure.ac: Be explicit about ImageMagick version in summary.
21401 2017-07-25  Andreas Schwab  <schwab@linux-m68k.org>
21403         Properly align global lispsym
21405         * lib-src/make-docfile.c (close_emacs_globals): Wrap struct
21406         Lisp_Symbols inside struct.
21407         * src/alloc.c (sweep_symbols): Update use of lispsym.
21408         * src/lisp.h (builtin_lisp_symbol): Likewise.
21410 2017-07-25  Paul Eggert  <eggert@cs.ucla.edu>
21412         Do not use ImageMagick 7 and later
21414         Suggested by Glenn Morris (Bug#25967#15).
21415         * configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.
21417 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
21419         * lisp/progmodes/perl-mode.el: Add support for indented here docs
21421         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
21422         Recognize the new <<~ syntax for indented here docs.
21423         (perl-syntax-propertize-special-constructs): Adjust search of the
21424         end of here docs accordingly.
21426         * test/manual/indent/perl.perl: Add test for indented here docs.
21428 2017-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
21430         (loadhist-unload-element): Move ERT and cl-generic methods
21432         * lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
21433         and ert methods here.
21434         (loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.
21436         * lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
21437         unload method for cl-defmethod.
21438         (cl-generic-ensure-function): Remove redundant `defalias'.
21440         * lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
21441         setting here...
21442         (ert-deftest): ...from here.
21443         (loadhist-unload-element): Define unload method for ert-deftest.
21445 2017-07-24  Michael Albinus  <michael.albinus@gmx.de>
21447         Fix Bug#27371
21449         * lisp/loadhist.el (loadhist-unload-element): Declare for
21450         different entry types of `load-history'.
21451         (loadhist--restore-autoload): New variable.
21452         (loadhist--unload-function): New defun.
21453         (unload-feature): Use `loadhist-unload-element'.  Recommended by
21454         Stefan Monnier.  (Bug#27371)
21456         * test/lisp/net/tramp-tests.el (tramp-test39-unload):
21457         Check, that the `tramp-file-name' structure has been unloaded.
21459 2017-07-24  Grégoire Jadi  <gjadi@omecha.info>
21461         Ensure that we parse images right in shr.el
21463         * lisp/net/shr.el (shr-image-fetched): Go back to the
21464         beginning of the buffer before trying to parse the image
21465         fetched.
21467 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
21469         Update .gitignore for Valgrind and no Automake
21471         * .gitignore: Remove .deps/ since we no longer use Automake.
21472         Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.
21474 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
21476         Merge from gnulib
21478         This incorporates:
21479         2017-07-23 Rename module 'strftime' to 'nstrftime'
21480         * admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
21481         * build-aux/config.guess: Copy from gnulib.
21482         * lib/nstrftime.c: Rename from lib/strftime.c.
21483         * m4/nstrftime.m4: Rename from m4/strftime.m4.
21484         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
21486 2017-07-23  Philipp Stephani  <phst@google.com>
21488         Add 'rx' pattern for pcase.
21490         * lisp/emacs-lisp/rx.el (rx): New pcase macro.
21491         * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
21493 2017-07-23  Mark Oteiza  <mvoteiza@udel.edu>
21495         Use a named function for global minor mode turn-on argument
21497         * lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
21498         New function.
21499         (global-display-line-numbers-mode): Use it.
21501 2017-07-23  Charles A. Roelli  <charles@aurox.ch>
21503         Enable GUI Emacs without 'make install' on macOS (Bug #27645)
21505         * nextstep/INSTALL: Correct it, and mention that Emacs can be run
21506         from 'src/emacs'.
21508         * src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
21509         launched outside of a macOS application bundle, change its
21510         activation policy from the default 'prohibited' to 'regular'.
21512 2017-07-23  Alan Mackenzie  <acm@muc.de>
21514         Convert CC Mode's c-found-types from an obarray to a hash table.
21516         * lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
21517         rather than an obarray.
21518         (c-copy-found-types): Remove.
21519         (c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
21520         the new hash table.
21521         (c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
21523 2017-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
21525         Fix image/svg+xml display in shr
21527         * lisp/net/shr.el (shr-put-image): Display svg images as svg
21528         (bug#27799).  I suspect the previous change was checked in by
21529         accident in conjuction with some other svg changes.
21531 2017-07-23  Michael Albinus  <michael.albinus@gmx.de>
21533         * lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.
21535 2017-07-23  Glenn Morris  <rgm@gnu.org>
21537         Don't automatically enable Gconf if Gsettings was found
21539         * configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
21540         Don't test for Gconf unless specifically requested.
21541         Gconf was deprecated in favor of Gsettings several years ago.
21543 2017-07-23  Glenn Morris  <rgm@gnu.org>
21545         * configure.ac (MODULES_SUFFIX): Always give it a value.
21547         This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".
21549 2017-07-23  Glenn Morris  <rgm@gnu.org>
21551         * doc/emacs/frames.texi (Fonts): Mention Gsettings.
21553 2017-07-22  Michael Albinus  <michael.albinus@gmx.de>
21555         Add line numbers display to the Options menu
21557         * lisp/menu-bar.el (toggle-display-line-numbers): Remove.
21558         (menu-bar-display-line-numbers-mode): New defun.
21559         (menu-bar-showhide-line-numbers-menu): New defvar.
21560         (menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
21562 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
21564         Signal error for symbol names with strange quotes (Bug#2967)
21566         * src/lread.c (read1): Signal an error when a symbol starts with a
21567         non-escaped quote-like character.
21568         * test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
21569         test.
21570         * etc/NEWS: Announce change.
21572 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
21574         Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
21576         It turns out that this change is not needed, and it leaves several
21577         command loops settings not done.
21579         https://lists.gnu.org/r/emacs-devel/2017-07/msg00757.html
21580         https://lists.gnu.org/r/emacs-devel/2017-07/msg00840.html
21582 2017-07-22  Alexander Gramiak  <agrambot@gmail.com>
21584         Add a minor mode interface for display-line-numbers
21586         * lisp/cus-start.el: Use the new display-line-numbers group.
21587         * lisp/display-line-numbers.el: New file.
21589         * doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
21590         belong to linum-mode.
21591         * doc/emacs/modes.texi (Minor Modes): Summarize the mode.
21592         * etc/NEWS: Document display-line-numbers-mode and its customization
21593         variables, and mention that display-line-numbers-width is
21594         buffer-local.
21596         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
21597         typo.
21599 2017-07-22  vividsnow  <vividsnow@gmail.com>  (tiny change)
21601         Support indented HERE-DOCs in cperl-mode
21603         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
21604         indented here-docs.  (Bug#27254) (Bug#27697)
21606 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
21608         Document the support for "scrollBar" X resource
21610         * doc/emacs/xresources.texi (Table of Resources): Document the new
21611         'scrollBar' setting.
21612         * etc/NEWS: Document the new 'scrollBar' setting.
21614 2017-07-22  Matthew Bauer  <mjbauer95@gmail.com>  (tiny change)
21616         Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'
21618         * lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
21619         settings.
21621 2017-07-22  Alexander Kuleshov  <kuleshovmail@gmail.com>
21623         Update ld-script mode (bug#27629)
21625         * lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
21626         NOCROSSREFS_TO and HIDDEN added.  Fix documentation sections
21627         numbers for PROVIDE/PROVIDE_HIDDEN commands.
21628         (ld-script-builtins): New builtin function LOG2CEIL added.
21630 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
21632         Index 'rectangle' in the ELisp manual
21634         * doc/lispref/text.texi (Registers): Index the "rectangle" value.
21635         (Bug#27541)
21637 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
21639         * lisp/subr.el (add-to-history): Doc fix.  (Bug#27494)
21641 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
21643         Doc fixes for kmacro.el functions
21645         * lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
21646         (kmacro-end-and-call-macro): Don't use "permanent name", as that
21647         could be misinterpreted.  (Bug#27492)
21649 2017-07-22  Charles A. Roelli  <charles@aurox.ch>
21651         ElDoc: add docstrings and minor refactoring
21653         * lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
21654         docstring.
21655         (turn-on-eldoc-mode): Fix capitalization.
21656         (eldoc--supported-p): Add docstring.
21657         (eldoc-schedule-timer): Add docstring and use
21658         'eldoc--supported-p'.
21659         (eldoc-message): Add docstring and make calling convention
21660         clearer.
21661         (eldoc--message-command-p):
21662         (eldoc-pre-command-refresh-echo-area):
21663         (eldoc-display-message-p):
21664         (eldoc-display-message-no-interference-p):
21665         (eldoc-print-current-symbol-info):
21666         (eldoc-docstring-format-sym-doc):
21667         (eldoc-add-command, eldoc-add-command-completions):
21668         (eldoc-remove-command, eldoc-remove-command-completions):
21669         Add docstring.  (Bug#27230)
21671 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
21673         Mention 'C-M-i' as key binding for 'ispell-complete-word'
21675         * doc/emacs/fixit.texi (Spelling): ispell-complete-word
21676         can also be invoked by C-M-i.  (Bug#27349)
21678 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
21680         Fix the eww-search-words description in the Emacs manual
21682         * doc/emacs/search.texi (Word Search):
21683         Include the key binding for eww-search-words in the manual.
21684         Fix the spelling of the 'eww-search-words' command.
21686 2017-07-22  Andrew L. Moore  <slewsys@gmail.com>
21688         Introduce defcustom 'executable-prefix-env'
21690         * lisp/progmodes/executable.el (executable-prefix): Update the doc
21691         string.
21692         (executable-prefix-env): New defcustom.
21693         (executable-set-magic): Use executable-prefix-env.
21695         * etc/NEWS: Document the new variable.
21697 2017-07-22  Glenn Morris  <rgm@gnu.org>
21699         * test/lisp/ibuffer-tests.el: Delete temporary files.
21701 2017-07-21  Glenn Morris  <rgm@gnu.org>
21703         Further attempt to avoid hang in network-stream-tests
21705         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait):
21706         Limit the time we wait for the external process.
21708 2017-07-21  Glenn Morris  <rgm@gnu.org>
21710         Stop skipping many ibuffer tests by default
21712         * test/lisp/ibuffer-tests.el (ibuffer-0autoload):
21713         Rename so it sorts first.
21714         (ibuffer-save-filters, ibuffer-filter-inclusion-1)
21715         (ibuffer-filter-inclusion-2, ibuffer-filter-inclusion-3)
21716         (ibuffer-filter-inclusion-4, ibuffer-filter-inclusion-5)
21717         (ibuffer-filter-inclusion-6, ibuffer-filter-inclusion-7)
21718         (ibuffer-filter-inclusion-8, ibuffer-decompose-filter)
21719         (ibuffer-and-filter, ibuffer-or-filter, ibuffer-format-qualifier)
21720         (ibuffer-unary-operand): Require ibuf-ext so tests not skipped.
21722 2017-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
21724         Use lexical-binding in todo-mode.el
21726         Adjust code accordingly and make various minor improvements.
21728         * lisp/calendar/todo-mode.el: Enable lexical-binding.
21729         (dayname, monthname, day, month, year): Make forward defvars
21730         of these keywords from macros defined in calendar.el; wrap
21731         them in with-no-warnings.
21732         (todo-files, todo-files-function, todo-date-pattern)
21733         (todo-mode-line-function, todo-show, todo-forward-category)
21734         (todo-edit-item--header, todo-set-category-number)
21735         (todo-adjusted-category-label-length)
21736         (todo-total-item-counts, todo-filter-items)
21737         (todo-print-buffer-function, todo-convert-legacy-date-time)
21738         (todo-category-number, todo-category-completions)
21739         (todo-read-file-name, todo-read-category)
21740         (todo-validate-name, todo-read-date)
21741         (todo-set-show-current-file, todo-modes-set-1)
21742         (todo-modes-set-2, todo-modes-set-3, todo-mode):
21743         Use #' instead of ' to quote functions.
21744         (todo-files): Use \' instead of $ in regexp.
21745         (todo--files-type-list): New function.
21746         (todo-default-todo-file, todo-category-completions-files)
21747         (todo-filter-files, todo-multiple-filter-files)
21748         (todo-reevaluate-default-file-defcustom)
21749         (todo-reevaluate-category-completions-files-defcustom)
21750         (todo-reevaluate-filter-files-defcustom): Use it.
21751         (todo-show, todo-rename-file, todo-move-category)
21752         (todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
21753         (todo-item-undone, todo-unarchive-items, todo-search)
21754         (todo-filter-items, todo-filter-items-1, todo-find-item)
21755         (todo-category-select, todo-read-date)
21756         (todo-nondiary-marker-matcher, todo-date-string-matcher)
21757         (todo-diary-expired-matcher, todo-convert-legacy-files)
21758         (todo-read-category): Reformat to avoid code hiding behind a
21759         more deeply embedded element.
21760         (todo-forward-category, todo-set-category-number):
21761         Use 'funcall' instead of 'apply'.
21762         (todo-toggle-mark-item, todo-edit-item--diary-inclusion)
21763         (todo-edit-category-diary-inclusion)
21764         (todo-insert-sort-button, todo-insert-category-line)
21765         (todo-multiple-filter-files): Mark unused local variables.
21766         (todo-edit-item--header, todo-move-item, todo-print-buffer)
21767         (todo-edit-item--header, todo-move-item, todo-check-file)
21768         (todo-edit-item--next-key): Remove unused local variables.
21769         (todo-insert-sort-button, todo-insert-category-line):
21770         Use a closure instead of a backquoted lambda.
21771         (todo-update-categories-display, todo-print-buffer): Simplify code.
21772         (todo-print-buffer-function): Document calling convention.
21773         (todo-category-completions): Use cl-pushnew instead of add-to-list.
21774         (todo-mode-map, todo-archive-mode-map)
21775         (todo-categories-mode-map, todo-filtered-items-mode-map):
21776         Remove superfluous call of suppress-keymap, since it's already
21777         in the parent special-mode-map.
21779 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
21781         dired: Revert buffer when DIRNAME is a cons
21783         * lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
21784         is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
21785         Update the comments.
21786         * test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.
21788 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
21790         Handle when dired-directory is a cons in some Dired functions
21792         * lisp/dired-aux.el (dired-rename-subdir-1)
21793         * lisp/dired-x.el (dired-mark-omitted):
21794         Handle when dired-directory is a cons.
21796 2017-07-21  Noam Postavsky  <npostavs@gmail.com>
21798         Make eshell-next-prompt more reliable (Bug#27405)
21800         * lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
21801         `eshell-prompt-regexp' (and `read-only' text-property if
21802         `eshell-highlight-prompt' is set) rather than trying to use
21803         `forward-paragraph'.
21804         (eshell-previous-prompt): Don't count prompt on current line.
21806 2017-07-21  Paul Eggert  <eggert@cs.ucla.edu>
21808         Simplify recent gnutls.c changes
21810         * src/gnutls.c (clear_storage) [HAVE_GNUTLS3_AEAD]: Remove.
21811         All uses replaced by calls to explicit_bzero; that’s clear enough.
21812         (gnutls_symmetric_aead) [HAVE_GNUTLS3_AEAD]: Simplify by
21813         coalescing duplicate actions.  There is no need to invoke
21814         SAFE_FREE before calling ‘error’.
21816 2017-07-20  Michael Albinus  <michael.albinus@gmx.de>
21818         Stylistic changes in tramp-cache.el
21820         * lisp/net/tramp-cache.el (tramp-get-file-property)
21821         (tramp-set-file-property): Use `bound-and-true-p'.  Add
21822         counter variables to `tramp-cache-unload-hook'.
21824 2017-07-20  Glenn Morris  <rgm@gnu.org>
21826         * admin/notes/hydra: Small updates.
21828 2017-07-20  Glenn Morris  <rgm@gnu.org>
21830         Make tramp unloading handle debug counter variables
21832         * lisp/net/tramp-cache.el (tramp-get-file-property)
21833         (tramp-set-file-property): Add counter variables to tramp-unload-hook.
21835 2017-07-20  Eli Zaretskii  <eliz@gnu.org>
21837         Fix hscrolling calculations when display-line-numbers is set
21839         * src/xdisp.c (move_it_in_display_line_to): Account for line
21840         numbers in hscrolled lines.  (Bug#27756)
21842 2017-07-20  Katsumi Yamaoka  <yamaoka@jpl.org>
21844         Fix the bogus change made 13 years ago (bug#27084)
21846         * lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
21847         Fix the way to test if there is no visible header (bug#27084).
21849 2017-07-20  Noam Postavsky  <npostavs@gmail.com>
21851         Use grep's --null option (Bug#6843)
21853         * lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
21854         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
21855         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
21856         constants, replacing `grep-regexp-alist'.
21857         (grep-regex-alist): Mark the variable obsolete, add a new function of
21858         the same name to replace it.
21859         (grep-compute-defaults): Compute default for
21860         `grep-use-null-filename-separator'.
21861         (grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
21862         value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
21863         according to `grep-use-null-filename-separator'.
21864         * lisp/progmodes/xref.el (xref-collect-matches): Call
21865         `grep-regex-alist' instead of the obsolete variable.  Don't hardcode
21866         grep-regexp-alist match groups.
21867         * etc/NEWS: Announce new use of --null.  Move 'grep-save-buffers'
21868         item under "Grep" heading as well.
21870 2017-07-19  Philipp Stephani  <phst@google.com>
21872         * src/gnutls.c (clear_storage): Define only if needed.
21874 2017-07-19  Stephen Berman  <stephen.berman@gmx.net>
21876         Adjust todo-quit to recent change in dired
21878         * lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
21879         bury-buffer to exit todo-mode.  This restores the desired behavior
21880         of not immediately returning to the exited todo-mode buffer on
21881         quitting another buffer, which a dired bug fix had changed (see
21882         https://lists.gnu.org/r/emacs-devel/2017-07/msg00739.html).
21884 2017-07-19  Tino Calancha  <tino.calancha@gmail.com>
21886         Add test for bugs 7131, 27762
21888         Require 'ls-lisp' at top of the file.
21889         * test/lisp/dired-tests.el (dired-test-bug7131, dired-test-bug27762):
21890         New tests.
21891         (dired-test-bug27693): Delete Dired buffer at the end.
21893 2017-07-18  Michael Albinus  <michael.albinus@gmx.de>
21895         * admin/notes/hydra: Mention environment variable EMACS_HYDRA_CI.
21897 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
21899         * lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices
21901         This tries to make sure that (defalias F (symbol-function F)) stays a no-op.
21903 2017-07-18  Glenn Morris  <rgm@gnu.org>
21905         Use a more specific test for running on hydra.nixos.org
21907         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
21908         * test/Makefile.in (WRITE_LOG):
21909         * test/lisp/filenotify-tests.el:
21910         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
21911         (eieio-test-method-order-list-6):
21912         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
21913         (eieio-test-37-obsolete-name-in-constructor):
21914         * test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
21916 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
21918         Avoid infloop due to Eshell's "smart" redisplay
21920         * src/xdisp.c (pos_visible_p): Save and restore the window's
21921         mode-line and header-line height.  (Bug#27752)
21923 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
21925         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]'
21927 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
21929         Fix indentation when display-line-numbers is non-nil
21931         * src/xdisp.c (x_produce_glyphs): Fix a typo in deciding whether
21932         to go one more tab stop to display a TAB.  (Bug#27743)
21934 2017-07-18  Lars Ingebrigtsen  <larsi@gnus.org>
21936         Don't use gtk_widget_get_scale_factor on old GTK3 versions
21938         * src/gtkutil.c (xg_get_scale): gtk_widget_get_scale_factor is
21939         only present since GTK 3.10.
21941 2017-07-18  Noam Postavsky  <npostavs@gmail.com>
21943         Let delete-selection-mode work with popup-menu commands (Bug#27569)
21945         * lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
21946         `this-command' set to the selected command.
21948 2017-07-18  Paul Eggert  <eggert@cs.ucla.edu>
21950         Port gnutls.c to older (buggier?) GnuTLS
21952         Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
21953         https://lists.gnu.org/r/emacs-devel/2017-07/msg00716.html
21954         https://lists.gnu.org/r/emacs-devel/2017-07/msg00742.html
21955         Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
21956         perhaps hydra was using a modified GnuTLS.
21957         * src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
21958         is at the end of the list returned by gnutls_cipher_list,
21959         or that the earlier ciphers all have non-null names.
21961 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
21963         Fix relocation with named cell referred to by a one-symbol formula.
21965         * lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
21966         work also with one symbol formulas.
21968         * test/lisp/ses-tests.el
21969         (ses-tests-renaming-cell-with-one-symbol-formula): Add new
21970         test for renaming with relocating a one symbol formula.
21972 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
21974         Fix symbol completion and document it.
21976         * doc/misc/ses.texi (Configuring what printer function
21977         applies): Add description of keys for completing local printer
21978         symbols and listing local printers in a help buffer.
21979         (Formulas): Add decription for key to list the named cell
21980         symbols in a help buffer.
21982         * lisp/ses.el (ses-completion-keys): New constant.
21983         (ses--completion-table): New defvar.
21984         (ses--list-orig-buffer): New defvar.
21985         (ses-mode-edit-map): Fixed for symbol completion, plus add
21986         help functions to list named cells or local printers.
21987         (ses-edit-cell-complete-symbol)
21988         (ses--edit-cell-completion-at-point-function): New defuns for
21989         completion during formula edition.
21990         (ses-edit-cell): Redefine dynamically edit keymap for
21991         completion keys to point at the right function.
21992         (ses-read-printer-complete-symbol)
21993         (ses--read-printer-completion-at-point-function): New defuns
21994         for completion during printer edition.
21995         (ses-read-printer): Redefine dynamically edit keymap for
21996         completion keys to point at the right function.
21997         (ses-list-local-printers): New defun.
21998         (ses-list-named-cells): New defun.
22000 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
22002         Move comments around
22004 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
22006         Make scaling work (?) on pre-GTK3 systems
22008         * src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
22009         (xg_get_scale): Use it on non-GTK3 systems.
22011 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
22013         Always return the GDK scale
22015         * src/gtkutil.c (xg_get_scale): Return the GDK scale always.
22017 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
22019         Remove usage of the GDK_SCALE variable
22021         * src/gtkutil.c (xg_get_gdk_scale): Remove.
22022         (xg_get_default_scrollbar_height)
22023         (xg_get_default_scrollbar_width): Pass in a frame to check for
22024         scaling.
22025         (xg_frame_set_char_size): Use the API for querying scale
22026         instead of looking at the GDK_SCALE variable.
22027         (xg_get_default_scrollbar_width): Ditto.
22028         (xg_get_default_scrollbar_height): Ditto.
22029         (xg_update_scrollbar_pos): Ditto.
22031         * src/xfns.c (x_set_scroll_bar_default_height): Pass in the
22032         frame to get the width.
22034 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
22036         Get positions of menus and tooltips right on HiDPI
22038         * src/gtkutil.c (xg_get_scale): New function.
22039         (xg_show_tooltip): Use it.
22041         * src/xmenu.c (create_and_show_popup_menu): Put menus in the
22042         right place.
22044 2017-07-17  Eli Zaretskii  <eliz@gnu.org>
22046         Allow user control on what starts and ends a paragraph for bidi
22048         * src/buffer.h (struct buffer): New members
22049         bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
22050         * src/buffer.c (bset_bidi_paragraph_start_re)
22051         (bset_bidi_paragraph_separate_re): New setters/
22052         (Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
22053         bidi-paragraph-separate-re.
22054         (init_buffer_once): Init the values of bidi-paragraph-start-re and
22055         bidi-paragraph-separate-re.
22056         (syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
22057         New per-buffer variables.
22058         * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
22059         Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
22060         (bidi_move_to_visually_next): Handle correctly the case when the
22061         separator matches an empty string.  (Bug#27526)
22063         * doc/emacs/mule.texi (Bidirectional Editing):
22064         * doc/lispref/display.texi (Bidirectional Display): Document
22065         bidi-paragraph-start-re and bidi-paragraph-separate-re.
22067         * etc/NEWS: Mention bidi-paragraph-start-re and
22068         bidi-paragraph-separate-re.
22070 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
22072         * lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring.
22074 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
22076         alist-get: Add optional arg TESTFN
22078         If TESTFN is non-nil, then it is the predicate to lookup
22079         the alist.  Otherwise, use 'eq' (Bug#27584).
22080         * lisp/subr.el (alist-get): Add optional arg FULL.
22081         * lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
22082         * lisp/emacs-lisp/gv.el (alist-get): Update expander.
22083         * doc/lispref/lists.texi (Association Lists): Update manual.
22084         * etc/NEWS: Announce the changes.
22085         * test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
22086         (test-map-elt-testfn): New tests.
22088 2017-07-17  Michael Albinus  <michael.albinus@gmx.de>
22090         Fix `tramp-test39-unload'
22092         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p)
22093         (tramp--test-instrument-test-case): Rename.  Adapt all callees.
22094         (tramp-test36-asynchronous-requests): Bind `timer-max-repeats'.
22095         (tramp-test39-unload): Expect it to pass.  Ignore buffer-local
22096         variables and autoload functions; they are not removed.  Check
22097         also for `-function(s)'.
22099 2017-07-17  Stephen Berman  <stephen.berman@gmx.net>
22101         Preserve point under 'dired-auto-revert-buffer' (second case)
22103         * lisp/dired.el (dired): Use pop-to-buffer-same-window instead
22104         of switch-to-buffer.  This preserves Dired window point when
22105         dired-auto-revert-buffer is non-nil.  (Bug#27243)
22107         * test/lisp/dired-tests.el (dired-test-bug27243): New test.
22109 2017-07-17  Martin Rudalics  <rudalics@gmx.at>
22111         Have Fgnutls_available_p return Qnil when GNUTLS is undefined
22113         * src/gnutls.c (Fgnutls_available_p): Return Qnil when GNUTLS is
22114         undefined to allow --with-gnutls=no builds to proceed.
22116 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
22118         * src/gnutls.c: Restore some comments.
22120 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
22122         Use memset, not bzero
22124         * src/ftcrfont.c (ftcrfont_glyph_extents): Use memset instead
22125         of the (less-portable) bzero.
22127 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
22129         Use explicit_bzero to clear GnuTLS keys
22131         * admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
22132         * lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
22133         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
22134         * src/gnutls.c (clear_storage): New function.
22135         (gnutls_symmetric_aead): Use it instead of memset.
22137 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
22139         Merge from gnulib
22141         This incorporates:
22142         2017-07-16 explicit_bzero: new module
22143         2017-07-15 getdtablesize: Add minimal support for OpenVMS.
22144         * lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
22145         * m4/string_h.m4:
22146         Copy from Gnulib.
22147         * lib/gnulib.mk.in: Regenerate.
22149 2017-07-17  Dieter Deyke  <dieter.deyke@gmail.com>
22151         Fix vc-src-dir-status-files
22153         * lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
22154         copy-paste from b1a765b3 (bug#27641).
22156 2017-07-16  Wilfred Hughes  <me@wilfred.me.uk>
22158         Fix mismatched parens
22160         * etc/NEWS.21: Remove excess parenthesis in code example
22162 2017-07-16  Alan Third  <alan@idiocy.org>
22164         Add missing declare-function for new function
22166         * lisp/frame.el: Add declare function for
22167         ns-mouse-absolute-pixel-position.
22169 2017-07-16  R. Bernstein  <rocky@gnu.org>
22171         Realgud for tango themes
22173 2017-07-16  Noam Postavsky  <npostavs@gmail.com>
22175         Fix test when running from test/lisp/subr-tests.elc
22177         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests): Don't
22178         assume a lambda expression will be `equal' to its quoted form.  That's
22179         not true if the lambda expression has been compiled.
22181 2017-07-15  Alan Third  <alan@idiocy.org>
22183         Fix some frame handling issues on NS
22185         * lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
22186         * src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
22187         * src/nsterm.m (x_make_frame_visible): Re-establish parent-child
22188         relationship if it's broken.
22190 2017-07-15  Tino Calancha  <tino.calancha@gmail.com>
22192         ls-lisp: Fix file size format
22194         * lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
22195         (ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
22196         * test/lisp/dired-tests.el (dired-test-bug27693): Add test.
22198 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
22200         Avoid link errors with older versions of GnuTLS
22202         * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
22203         (Fgnutls_macs, Fgnutls_digests): Conditionally compile code that
22204         calls GnuTLS functions which might be unavailable in older
22205         versions of GnuTLS.
22207 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
22209         Improve comments in faces.el
22211         * lisp/faces.el (face-font-family-alternatives): Improve
22212         commentary.
22214 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
22216         Improve some GnuTL error messages
22218         * src/gnutls.c (gnutls_symmetric_aead, gnutls_symmetric):
22219         * src/fns.c (Fsecure_hash_algorithms): Fix error messages.
22221 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
22223         Fix the Elisp manual wrt GnuTL cryptography
22225         * doc/lispref/elisp.texi (Top): Update the master menu.
22226         * doc/lispref/text.texi (GnuTLS Cryptography): Add a @menu, to
22227         avoid errors in makeinfo.
22229 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
22231         Fix compilation of gnutls.c with older GnuTLS
22233         * src/gnutls.c (syms_of_gnutls): Condition some defsubr's
22234         on HAVE_GNUTLS3, to avoid compilation errors when GnuTLS
22235         v3.X is not available.  Reported by Colin Baxter <m43cap@yandex.com>.
22237 2017-07-15  rocky  <rb@dustyfeet.com>
22239         Realgud for two more light themes
22241 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
22243         Rearrange MS-Windows code that dynamically loads GnuTLS functions
22245         * src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
22246         of functions using the same preprocessing directives as in the code.
22248 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
22250         Fix the MS-Windows build broken in gnutls.c
22252         * src/gnutls.c (Fgnutls_available_p) [WINDOWSNT]: Move the DLL
22253         loading code to after 'capabilities' has been calculated.  Remove
22254         redundant comments.
22256 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
22258         src/image.c (compute_image_size): Remove superfluous checks.
22260         * src/image.c (compute_image_size): Remove superfluous checks.
22262 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
22264         Make combinations of :width/:max-height image specs work reliably
22266         * doc/lispref/display.texi (ImageMagick Images): Document
22267         :width/:max-height combinations (etc) (bug #25583).
22269         * src/image.c (compute_image_size): Handle :width/:max-height
22270         (etc) combinations consistently (by letting "max" win and
22271         preserve ratio).
22273         * test/manual/image-size-tests.el (image-size-tests): Add
22274         tests for :width/:max-height (etc) combinations.
22276 2017-07-15  Glenn Morris  <rgm@gnu.org>
22278         Fix recent theme changes
22280         * etc/themes/manoj-dark-theme.el, etc/themes/tsdh-dark-theme.el:
22281         Fix typos in recent changes.
22283 2017-07-15  Paul Eggert  <eggert@cs.ucla.edu>
22285         GnuTLS integer-overflow and style fixes
22287         This tweaks the recently-added GnuTLS improvements so that
22288         they avoid some integer-overflow problems and follow typical
22289         Emacs style a bit better.
22290         * configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
22291         (HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
22292         configure-time results are displayed.
22293         * src/fns.c (extract_data_from_object): Return char *, not char
22294         const *, since one gnutls caller wants a non-const pointer.  Use
22295         CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
22296         instead of rolling our own code.  Prefer signed types to unsigned
22297         when either will do.  Report problems for lengths out of range,
22298         instead of silently mishandling them.
22299         * src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
22300         callers.  All callers of gnutls_sterror changed.
22301         (Fgnutls_boot): Check for integers out of range rather than
22302         silently truncating them.
22303         (gnutls_symmetric_aead): Check for integer overflow in size
22304         calculations.
22305         (gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
22306         Prefer signed to unsigned integers where either will do.
22307         (gnutls_symmetric_aead, gnutls_symmetric):
22308         Work even if ptrdiff_t is wider than ‘long’.
22309         (gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
22310         Check for integer overflow in algorithm selection.
22312 2017-07-14  Noam Postavsky  <npostavs@gmail.com>
22314         * .gitlab-ci.yml: Don't install a C++ compiler.  Suppress apt interaction.
22316 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
22318         Fix the MS-Windows build due to added GnuTLS functions
22320         * src/gnutls.c [WINDOWSNT]: Add DEF_DLL_FN for new functions.
22321         (init_gnutls_functions) [WINDOWSNT]: Add LOAD_DLL_FN for new
22322         functions.  Add #define redirections for new functions.
22323         (gnutls_symmetric_aead): Fix format specs to be more portable when
22324         printing ptrdiff_t arguments.
22325         * src/fns.c (gnutls_rnd) [WINDOWSNT]: Redirect to w32_gnutls_rnd
22326         wrapper.
22327         * src/gnutls.h [WINDOWSNT]: Add prototype for w32_gnutls_rnd.
22329         * test/lisp/net/gnutls-tests.el (gnutls-tests-tested-macs)
22330         (gnutls-tests-tested-digests, gnutls-tests-tested-ciphers): Call
22331         gnutls-available-p, otherwise GnuTLS functions might not be loaded
22332         from the DLL on MS-Windows.
22334 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
22336         * lisp/emacs-lisp/bytecomp.el: Fix bug#14860.
22338         * lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
22339         Dig into advice wrappers to find the "real" signature.
22340         (byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
22341         (byte-compile-arglist-signature): Don't bother with "new-style" arglists,
22342         since bytecode functions are now handled in byte-compile--function-signature.
22344         * lisp/files.el (create-file-buffer, insert-directory):
22345         Remove workaround introduced for (bug#14860).
22347         * lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.
22349         * lisp/help.el (help-function-arglist):
22350         Dig into advice wrappers to find the "real" signature.
22352 2017-07-14  Ted Zlatanov  <tzz@lifelogs.com>
22354         GnuTLS HMAC and symmetric cipher support
22356             * etc/NEWS: Add news for new feature.
22358             * doc/lispref/text.texi (GnuTLS Cryptography): Add
22359             documentation.
22361             * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
22362             HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.
22364             * src/fns.c (Fsecure_hash_algorithms): Add function to list
22365             supported `secure-hash' algorithms.
22366             (extract_data_from_object): Add data extraction function that
22367             can operate on buffers and strings.
22368             (secure_hash): Use it.
22369             (Fsecure_hash): Mention `secure-hash-algorithms'.
22371             * src/gnutls.h: Include gnutls/crypto.h.
22373             * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
22374             (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
22375             (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
22376             (Fgnutls_available_p): Implement GnuTLS cryptographic integration.
22378             * test/lisp/net/gnutls-tests.el: Add tests.
22380 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
22382         * lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well
22384         It's also defined in cl-extra.el.
22386 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
22388         Do not convert ij and IJ to compatibility chars
22390         * lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
22391         Problem reported by James Cloos (Bug#518#10).
22393 2017-07-14  Toon Claes  <toon@iotcl.com>
22395         Remove Turkish ligatures from Dutch input method
22397         * lisp/leim/quail/latin-alt.el: Remove Turkish ligatures (Bug#518).
22399 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
22401         Improve stack-overflow heuristic on GNU/Linux
22403         Problem reported by Steve Kemp (Bug#27585).
22404         * src/eval.c (near_C_stack_top): Remove.  All uses replaced
22405         by current_thread->stack_top.
22406         (record_in_backtrace): Set current_thread->stack_top.
22407         This is for when the Lisp interpreter calls itself.
22408         * src/lread.c (read1): Set current_thread->stack_top.
22409         This is for recursive s-expression reads.
22410         * src/print.c (print_object): Set current_thread->stack_top.
22411         This is for recursive s-expression printing.
22412         * src/thread.c (mark_one_thread): Get stack top first.
22413         * src/thread.h (struct thread_state.stack_top): Now void *, not char *.
22415 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
22417         Remove duplicate cl--random-state definition
22419         * lisp/emacs-lisp/cl-lib.el (cl--random-state): Remove.
22420         This variable is now defined in cl-extra.el (Bug#27617).
22422 2017-07-14  Michael Albinus  <michael.albinus@gmx.de>
22424         Adjust timer in tramp-test36-asynchronous-requests
22426         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
22427         Adjust timer if it takes too much time.
22429 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
22431         Always display rmail progress report under user control
22433         * lisp/mail/rmail.el (rmail-show-message-1): Delete the second
22434         copy of '(message "Showing message %d..." msg)'.  (Bug#27535)
22436 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
22438         Avoid byte-compilation warnings for advised functions
22440         * lisp/files.el (insert-directory, create-file-buffer): Add an
22441         advertised-calling-convention form to shut up byte-compilation
22442         warnings.  (Bug#14860)
22444 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
22446         Add assertion related to display-line-numbers
22448         * src/xdisp.c (maybe_produce_line_number): Add assertion for the
22449         condition regarding IT->glyph_row->used[TEXT_AREA] expected by the
22450         code.  (Bug#27668)
22452 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
22454         Prevent display corruption when display-line-numbers is set
22456         * src/xdisp.c (try_window_reusing_current_matrix): If giving up
22457         due to display-line-numbers, clear the window's desired glyph
22458         matrix before returning, as the following call to try_window will
22459         call display_line, which expects rows of the desired matrix
22460         cleared.  (Bug#27668)
22462 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
22464         Revert "Use fixed-pitch font for display-line-numbers"
22466         This reverts commit d014a5e15c1110af77e7a96f06ccd0f0cafb099f.
22467         * lisp/faces.el (line-number): Don't use a fixed-pitch font, by
22468         popular demand.  For relevant discussions, see
22470          https://lists.gnu.org/r/emacs-devel/2017-07/msg00433.html
22471          https://lists.gnu.org/r/emacs-devel/2017-07/msg00445.html
22473 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
22475         Merge from gnulib
22477         This incorporates:
22478         2017-07-13 Improve cross-compilation guesses for native Windows
22479         2017-07-11 More systematic m4 quoting and indentation
22480         2017-07-10 Make sure $host and $host_os are defined when used
22481         2017-07-03 stdioext: Port to OpenVMS
22482         2017-06-24 xalloc-oversized: port to icc
22483         * doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
22484         * lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
22485         * m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
22486         * m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
22487         Copy from Gnulib.
22489 2017-07-13  Alan Mackenzie  <acm@muc.de>
22491         C++ Mode.  Fix anomaly occurring when a ">" is deleted then reinserted.
22493         This fontification anomaly happened because after deleting the ">",
22494         c-forward-<>-arglist parses the preceding identifier as a putative type but
22495         stores it in c-found-types before it becomes clear it is not an unambiguous
22496         type.  c-forward-<>-arglist fails, leaving the spurious type id in
22497         c-found-types.  Fix this by "binding" c-found-types "to itself" in
22498         c-forward-<>-arglist, and restoring the original value when that function call
22499         fails.
22501         * lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
22502         (c-forward-<>-arglist): Record the original value of c-found-types at the
22503         beginning of the function, and restore it at the end on failure.
22505         * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
22506         accurately.
22508 2017-07-13  Vincent Belaïche  <vincentb1@users.sourceforge.net>
22510         Add tests for SES, and fix one more cell renaming bug.
22512         * lisp/ses.el (ses-relocate-all): In case of insertion, do not
22513         relocate value for named cells as they keep the same symbol.
22514         (ses-rename-cell): Set new cell name symbol to cell value --- do not
22515         rely on recalculating.  Push cells with updated data --- cell name,
22516         cell reference list, or cell formula --- to deferred write list.
22518         * test/lisp/ses-tests.el: New file, with 7 tests for SES.
22520 2017-07-12  Alan Mackenzie  <acm@muc.de>
22522         Fix some bugs in c-defun-name.  This fixes bug #25623.
22524         * lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
22525         etc.
22527 2017-07-12  Vasilij Schneidermann  <mail@vasilij.de>
22529         Make prog-mode-map the parent of c-mode-base-map.  Fixes bug #26658.
22531         * lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
22532         c-mode-base-map if possible.
22534 2017-07-12  Alan Mackenzie  <acm@muc.de>
22536         CC Mode: create and use c-set-keymap-parent.
22538         * lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.
22540         * lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
22541         set-keymap-parents.
22542         (c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.
22544 2017-07-12  Martin Rudalics  <rudalics@gmx.at>
22546         Minor tweaks of new line number display variables
22548         * src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
22549         (Vdisplay_line_number_width): Rename to
22550         Vdisplay_line_numbers_width.
22551         (maybe_produce_line_number): Comply with above rename.
22552         * lisp/cus-start.el (standard):
22553         * lisp/frame.el (top-level):
22554         * etc/NEWS: Comply with renaming of
22555         `display-line-number-width' to `display-line-numbers-width'.
22557 2017-07-12  Eli Zaretskii  <eliz@gnu.org>
22559         Avoid assertion violations in close_infile_unwind
22561         * src/lread.c (close_infile_unwind): A temporary band-aid solution
22562         for bug#27642: allow 'infile' be NULL.
22564 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
22566         Use fixed-pitch font for display-line-numbers
22568         * lisp/faces.el (line-number): Use a fixed-pitch font by default,
22569         even if the default face uses a variable-pitch font.  Reported by
22570         James Cloos <cloos@jhcloos.com>.
22572 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
22574         Improve documentation of display-line-numbers
22576         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Improve the
22577         doc string.  Suggested by Alex <agrambot@gmail.com>.
22579 2017-07-11  Nicolas Petton  <nicolas@petton.fr>
22581         Add an optional testfn parameter to assoc
22583         * src/fns.c (assoc): New optional testfn parameter used for comparison
22584         when provided.
22585         * test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
22586         'testfn' parameter.
22587         * src/buffer.c:
22588         * src/coding.c:
22589         * src/dbusbind.c:
22590         * src/font.c:
22591         * src/fontset.c:
22592         * src/gfilenotify.c:
22593         * src/image.c:
22594         * src/keymap.c:
22595         * src/process.c:
22596         * src/w32fns.c:
22597         * src/w32font.c:
22598         * src/w32notify.c:
22599         * src/w32term.c:
22600         * src/xdisp.c:
22601         * src/xfont.c: Add a third argument to Fassoc calls.
22602         * etc/NEWS:
22603         * doc/lispref/lists.texi: Document the new 'testfn' parameter.
22605 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
22607         Use `with-demoted-errors' in Tramp
22609         * lisp/net/tramp.el (tramp-with-demoted-errors): New defmacro.
22611         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Use it.
22613 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
22615         Add Quick Start Guide to Tramp manual
22617         * doc/misc/tramp.texi: Use consequently "@value{tramp}" and
22618         "MS Windows".
22619         (Quick Start Guide): New node.
22621         * doc/misc/trampver.texi:
22622         * lisp/net/trampver.el: Change version to "2.3.3-pre".
22624 2017-07-10  Glenn Morris  <rgm@gnu.org>
22626         Fix failing module tests on GNU/Linux
22628         * test/src/emacs-module-tests.el
22629         (module--test-assertions--load-non-live-object)
22630         (module--test-assertions--call-emacs-from-gc):
22631         Avoid test failures due to backtraces.
22633 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
22635         Fix core dump in substitute-object-in-subtree
22637         Without this fix, (substitute-object-in-subtree #0=(#0# 'a) 'a)
22638         would dump core, since the C code would recurse indefinitely through
22639         the infinite structure.  This patch adds an argument to the function,
22640         and renames it to lread--substitute-object-in-subtree as the function
22641         is not general-purpose and should not be relied on by outside code.
22642         See Bug#23660.
22643         * src/intervals.c (traverse_intervals_noorder): ARG is now void *,
22644         not Lisp_Object, so that callers need not cons unnecessarily.
22645         All callers changed.  Also, remove related #if-0 code that was
22646         “temporary” in the early 1990s and has not been compilable for
22647         some time.
22648         * src/lread.c (struct subst): New type, for substitution closure data.
22649         (seen_list): Remove this static var, as this info is now part of
22650         struct subst.  All uses removed.
22651         (Flread__substitute_object_in_subtree): Rename from
22652         Fsubstitute_object_in_subtree, and give it a 3rd arg so that it
22653         doesn’t dump core when called from the top level with an
22654         already-cyclic structure.  All callers changed.
22655         (SUBSTITUTE): Remove.  All callers expanded and then simplified.
22656         (substitute_object_recurse): Take a single argument SUBST rather
22657         than a pair OBJECT and PLACEHOLDER, so that its address can be
22658         passed around as part of a closure; this avoids the need for an
22659         AUTO_CONS call.  All callers changed.  If the COMPLETED component
22660         is t, treat every subobject as potentially circular.
22661         (substitute_in_interval): Take a struct subst * rather than a
22662         Lisp_Object, for the closure data.  All callers changed.
22663         * test/src/lread-tests.el (lread-lread--substitute-object-in-subtree):
22664         New test, to check that the core dump does not reoccur.
22666 2017-07-10  Philipp Stephani  <phst@google.com>
22668         Minor simplification of module_free_global_ref
22670         * src/emacs-module.c (module_free_global_ref): Remove unused variable
22671         'hashcode'.  Inline variable 'value' that's only used once.
22673 2017-07-10  Philipp Stephani  <phst@google.com>
22675         Re-add a useful assertion
22677         * src/emacs-module.c (module_free_global_ref): Re-add assertion that
22678         the reference count is zero.  This assertion was removed in commit
22679         8afaa1321f8088bfb877fe4b6676e8517adb0bb7, but it's not included in the
22680         test performed by XFASTINT before, because the previous reference
22681         count could have been zero already in the case of a buggy
22682         implementation.  This assertion might have detected Bug#27587.
22684 2017-07-10  Valentin Gatien-Baron  <vgatien-baron@janestreet.com>  (tiny change)
22686         Fix bug in module_free_global_ref (Bug#27587)
22688         * src/emacs-module.c (module_free_global_ref): Actually remove entry
22689         from hash table.
22691 2017-07-09  Philipp Stephani  <phst@google.com>
22693         Further improve electric quote support for Markdown (Bug#24709)
22695         Markdown sets both 'comment-start' and 'comment-use-syntax' to non-nil
22696         values.  Therefore 'electric-quote-mode' recognized it as a
22697         programming mode.  Fix this by first checking whether the current
22698         major mode is derived from 'text-mode'.
22700         * lisp/electric.el (electric-quote-post-self-insert-function): Treat
22701         'text-mode' as stronger signal than comment syntax.
22703         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
22704         (electric-quote-markdown-in-code): Adapt unit tests.
22706 2017-07-09  Philipp Stephani  <phst@google.com>
22708         Remove pointless code in 'electric-quote-mode'
22710         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
22711         pointless form.
22713 2017-07-09  Philipp Stephani  <phst@google.com>
22715         Refactor 'electric-quote-mode'
22717         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
22718         local variable 'start', which was misnamed and only used once.
22720 2017-07-09  Saulius Menkevičius  <saulius.menkevicius@gmail.com>  (tiny change)
22722         Avoid crashes on MS-Windows starting 64-bit .NET executables
22724         * src/w32proc.c (w32_executable_type): Don't assume that the
22725         import directory in a DLL will always be non-NULL.  (Bug#27527)
22727 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
22729         Avoid compilation warning in files.el
22731         * lisp/files.el (auto-save-visited-file-name): Avoid obsoletion
22732         warning due to its use in auto-save-visited-mode.
22734 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
22736         Improve indexing of VC-related stuff in the Emacs manual
22738         * doc/emacs/maintaining.texi (Version Control): Add a "VC" index
22739         entry.  (Bug#27627)
22741 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
22743         Speed up display of line numbers for very large buffers
22745         * src/xdisp.c (maybe_produce_line_number): Speed up line counting
22746         using values cached by mode-line display of line numbers.
22747         (Bug#27622)
22749 2017-07-09  Alexander Kuleshov  <kuleshovmail@gmail.com>
22751         Define internal_border_parts for window systems only (Bug#27615)
22753         * src/keyboard.c: (internal_border_parts): Define only
22754         when HAVE_WINDOW_SYSTEM is enabled.  (Bug#27615)
22756 2017-07-09  R. Bernstein  <rocky@gnu.org>
22758         Add realgud faces faces to whiteboard...
22760         Adjust wheatgrass to use underline for enabled/disabled breakpoints
22762 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
22764         Optimize UCS normalization tests
22766         Brings the the time for `ucs-normalize-part1' from 200s down to 130s.
22767         * test/lisp/international/ucs-normalize-tests.el
22768         (ucs-normalize-tests--parse-column): Use character instead of string
22769         of length 1 for terminator.  Convert return value into string since
22770         all callers need that form anyway.
22771         (ucs-normalize-tests--normalization-equal-p): Rename from
22772         ucs-normalize-tests--normalize.  Use dedicated buffer instead of
22773         messing with narrowing.  Take string to compare against and insert it
22774         into buffer so that compare-buffer-substrings can be used instead of
22775         allocating a new string from buffer contents.
22776         (ucs-normalize-tests--normalization-chareq-p): New macro, specialized
22777         for comparing single character.
22778         (ucs-normalize-tests--rule1-holds-p)
22779         (ucs-normalize-tests--rule2-holds-p): Turn into defsubst.
22780         (ucs-normalize-tests--rule1-failing-for-partX): Use `eq' instead of
22781         `='.
22783 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
22785         Update failing lines for UCS normalize tests
22787         * test/lisp/international/ucs-normalize-tests.el
22788         (ucs-normalize-tests--failing-lines-part2): Update for new
22789         admin/unidata/NormalizationTest.txt version.
22791 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
22793         Semi-automate the procedure for updating UCS normalize test bad lines
22795         * test/lisp/international/ucs-normalize-tests.el: Remove incorrect
22796         commentary describing a manual procedure for producing the updated
22797         failing lines, it did not actually work.  Replace it with pointer to
22798         new function which prints the updated values.
22799         (ucs-normalize-tests--rule1-holds-p): Renamed from
22800         ucs-normalize-tests--invariants-hold-p.
22801         (ucs-normalize-tests--rule2-holds-p): Renamed from
22802         ucs-normalize-tests--invariants-rule2-hold-p.
22803         (ucs-normalize-tests--rule1-failing-for-partX): Renamed from
22804         ucs-normalize-tests--invariants-failing-for-part.
22805         (ucs-normalize-tests--rule1-failing-for-lines): Renamed from
22806         ucs-normalize-tests--invariants-failing-for-lines.
22807         (ucs-normalize-tests--part2-rule1-failed-lines): New variable.
22808         (ucs-normalize-part2): Set it.
22809         (ucs-normalize-part1): Always run through to end of test before
22810         checking for failures.
22811         (ucs-normalize-tests--insert-failing-lines)
22812         (ucs-normalize-check-failing-lines): New functions, used to update
22813         the *--failing-lines-part* variables.
22815 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
22817         * lisp/cus-start.el (standard): Spelling fix.
22819 2017-07-08  Philipp Stephani  <phst@google.com>
22821         Module assertions: check for garbage collections
22823         It's technically possible to write a user pointer finalizer that calls
22824         into Emacs module functions.  This would be disastrous because it
22825         would allow arbitrary Lisp code to run during garbage collection.
22826         Therefore extend the module assertions to check for this case.
22828         * src/emacs-module.c (module_assert_thread): Also check whether a
22829         garbage collection is in progress.
22831         * test/data/emacs-module/mod-test.c (invalid_finalizer)
22832         (Fmod_test_invalid_finalizer): New test module functions.
22833         (emacs_module_init): Register new test function.
22835         * test/src/emacs-module-tests.el (module--test-assertion)
22836         (module--with-temp-directory): New helper macros.
22837         (module--test-assertions--load-non-live-object): Rename existing
22838         unit test, use helper macros.
22839         (module--test-assertions--call-emacs-from-gc): New unit test.
22841 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
22843         Capitalize the menu entry for display-line-numbers
22845         * lisp/menu-bar.el (menu-bar-showhide-menu): Capitalize menu item
22846         for display-line-numbers.  Suggested by Martin Rudalics
22847         <rudalics@gmx.at>.
22849 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
22851         Update Unicode data and files to Unicode 10.0
22853         * admin/notes/unicode:
22854         * admin/unidata/README:
22855         * admin/unidata/BidiBrackets.txt:
22856         * admin/unidata/BidiMirroring.txt:
22857         * admin/unidata/Blocks.txt:
22858         * admin/unidata/IVD_Sequences.txt:
22859         * admin/unidata/NormalizationTest.txt:
22860         * admin/unidata/SpecialCasing.txt:
22861         * admin/unidata/UnicodeData.txt:
22862         * lisp/international/characters.el:
22863         * lisp/international/fontset.el (script-representative-chars):
22864         * lisp/international/mule-cmds.el (ucs-names): Update per Unicode 10.0.
22866 2017-07-08  Alexander Gramiak  <agrambot@gmail.com>
22868         Support '=' in Scheme and Lisp tags in 'etags'
22870         * lib-src/etags.c (get_lispy_tag): New function.
22871         (L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
22872         * test/manual/etags/CTAGS.good:
22873         * test/manual/etags/ETAGS.good_1:
22874         * test/manual/etags/ETAGS.good_2:
22875         * test/manual/etags/ETAGS.good_3:
22876         * test/manual/etags/ETAGS.good_4:
22877         * test/manual/etags/ETAGS.good_5:
22878         * test/manual/etags/ETAGS.good_6:
22879         * test/manual/etags/Makefile:
22880         * test/manual/etags/el-src/TAGTEST.EL: Update tests.
22881         * test/manual/etags/scm-src/test.scm: New tests for Scheme.
22883 2017-07-08  Alexander Kuleshov  <kuleshovmail@gmail.com>
22885         Avoid compiler warnings in xdisp.c debugging code
22887         * src/xdisp.c (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
22888         Use pD directives for ptrdiff_t values instead of pI, to avoid
22889         compilation warnings on 64-bit hosts.  (Bug#27597)
22891 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
22893         Commentary enhancement in frame.el
22895         * lisp/frame.el: Explain how to test whether a variable needs to
22896         be added to the list of those which are watched for buffer
22897         redisplay.
22899 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
22901         Support display of line numbers natively
22903         This merges branch 'line-numbers'.
22904         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
22905         function.
22906         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
22907         * src/dispextern.h (struct it): New members pt_lnum, lnum,
22908         lnum_bytepos, lnum_width, and lnum_pixel_width.
22909         * src/indent.c (line_number_display_width): New function,
22910         refactored from line-number width calculations in vertical-motion.
22911         (Fvertical_motion): Call line_number_display_width when the width
22912         of line-number display is needed.
22913         (Fline_number_display_width): New defun.
22914         (syms_of_indent): Defsubr it.
22915         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
22916         the width used up by line numbers by looking near the window-start
22917         point.  If window-start is outside of the accessible portion,
22918         temporarily widen the buffer.
22919         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
22920         space taken by the line-number display.
22921         * src/xdisp.c (display_count_lines_logically)
22922         (display_count_lines_visually, maybe_produce_line_number)
22923         (should_produce_line_number, row_text_area_empty): New functions.
22924         (try_window_reusing_current_matrix): Don't use this method when
22925         display-line-numbers is in effect.
22926         (try_window_id, try_cursor_movement): Disable these optimizations
22927         when the line-number-current-line face is different from
22928         line-number face and for relative line numbers.
22929         (try_window_id, redisplay_window, try_cursor_movement): For
22930         visual line-number display, disable the same redisplay
22931         optimizations as for relative.
22932         (x_produce_glyphs): Adjust tab stops for the horizontal
22933         space taken by the line-number display.
22934         (hscroll_window_tree): Adjust hscroll calculations to line-number
22935         display.
22936         (DISP_INFINITY): Renamed from INFINITY to avoid clashes with
22937         math.h; all users changed.
22938         (set_cursor_from_row): Fix calculation of cursor X coordinate in
22939         R2L rows with display-produced glyphs at the beginning.
22940         (display_line): Use should_produce_line_number to determine
22941         whether a line number should be produced for each glyph row, and
22942         maybe_produce_line_number to produce line numbers.
22943         Don't display line numbers in the minibuffer and in tooltip
22944         frames.
22945         Call row_text_area_empty to verify that a glyph
22946         row's text area is devoid of any glyphs that came from a buffer or
22947         a string.  This fixes a bug with empty-lines indication
22948         disappearing when line numbers or line-prefix are displayed.
22949         (syms_of_xdisp) <display-line-numbers, display-line-numbers-widen>
22950         <display-line-number-width>: New buffer-local variables.
22951         <display-line-numbers-current-absolute>: New variable.
22953         * lisp/cus-start.el (standard): Provide customization forms for
22954         display-line-numbers and its sub-features.
22955         * lisp/faces.el (line-number, line-number-current-line): New faces.
22956         * lisp/frame.el: Add display-line-numbers, display-line-numbers-widen,
22957         display-line-numbers-current-absolute, and
22958         display-line-number-width to the list of variables that should
22959         trigger redisplay of the current buffer.
22960         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
22961         turn display-line-numbers on and off.
22962         (toggle-display-line-numbers): New function.
22963         * lisp/simple.el (last--line-number-width): New internal variable.
22964         (line-move-visual): Use it to adjust temporary-goal-column when
22965         line-number display changes its width.
22967         * doc/emacs/basic.texi (Position Info): Add cross-reference to
22968         "Display Custom", for line-number display.
22969         * doc/emacs/custom.texi (Init Rebinding):
22970         * doc/emacs/modes.texi (Minor Modes): Remove references to
22971         linum-mode.
22972         * doc/emacs/display.texi (Display Custom): Describe the
22973         line-number display.
22974         * doc/lispref/display.texi (Size of Displayed Text): Document
22975         line-number-display-width.
22977         * etc/NEWS: Document display-line-numbers and its customizations.
22979 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
22981         Fix more ungetc bugs with encoding errors
22983         * src/lread.c (infile): New variable, replacing ...
22984         (instream): ... this.  All uses changed.
22985         (readbyte_from_stdio): New function, which deals with lookahead.
22986         (readbyte_from_file, Fget_file_char): Use it.
22987         (Fget_file_char): When misused, signal an error instead of
22988         relying on undefined behavior.
22989         (close_infile_unwind): New function.
22990         (Fload): Use it.
22991         (readevalloop): 2nd arg is now struct infile *, not FILE *.
22992         All callers changed.
22993         (read1): Handle lookahead when copying doc strings with
22994         encoding errors.
22996 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
22998         Avoid ungetc when loading charset maps from files
23000         * src/charset.c (read_hex): New args LOOKAHEAD and TERMINATOR,
23001         replacing the old EOF.  All callers changed.  This avoids the
23002         need to call ungetc.
23004 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
23006         Fix ungetc bug when reading an encoding error
23008         * src/lread.c (readchar, read_emacs_mule_char): Fix off-by-one
23009         error when reading an encoding error from a file, e.g., a symbol
23010         in an .elc file whose name is "\360\220\200\360".
23012 2017-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
23014         * lisp/wid-edit.el (widget-color--choose-action): Use a closure
23016         * lisp/window.el (display-buffer--special-action): Use a closure.
23018 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
23020         Add new todo-mode.el tests
23022         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
23023         Declare an Edebug spec.  Restore pre-test-run state of test files.
23024         (todo-test--show, todo-test--move-item)
23025         (todo-test--insert-item): New functions.
23026         (todo-test-get-archive): Remove, as subsumed by
23027         todo-test--show.  Adjust all callers.
23028         (todo-test--is-current-buffer): Rename from
23029         todo-test-is-current-buffer and adjust uses.
23030         (todo-test-item-highlighting): Use todo-test--show.
23031         (todo-test-revert-buffer01, todo-test-revert-buffer02)
23032         (todo-test-raise-lower-priority)
23033         (todo-test-todo-mark-unmark-category, todo-test-move-item01)
23034         (todo-test-move-item02, todo-test-move-item03)
23035         (todo-test-move-item04, todo-test-move-item05)
23036         (todo-test-toggle-item-header01)
23037         (todo-test-toggle-item-header02)
23038         (todo-test-toggle-item-header03)
23039         (todo-test-toggle-item-header04)
23040         (todo-test-toggle-item-header05)
23041         (todo-test-toggle-item-header06)
23042         (todo-test-toggle-item-header07): New tests.
23044         * test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
23045         * test/lisp/calendar/todo-mode-resources/todo-test-1.todo:
23046         Modify to accommodate new tests.
23048 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
23050         todo-mode.el: Fix handling of hidden item headers (bug#27609)
23052         * lisp/calendar/todo-mode.el (todo--item-headers-hidden): New variable.
23053         (todo-toggle-item-header): Use it.  Make this command a noop
23054         if the file has no items.
23055         (todo-move-item, todo-item-done): Instead of concatenating the
23056         items to move into one string, make a list of them to
23057         facilitate handling hidden headers.  Adjust insertion accordingly.
23058         (todo-archive-done-item): Handle hidden headers in archive file.
23059         (todo-unarchive-items): Handle hidden headers in todo file.
23060         (todo-backward-item): Use todo--item-headers-hidden and handle
23061         moving backward work when item date-time headers are hidden.
23062         (todo-remove-item): Delete date-time header overlay.
23063         (todo-get-overlay, todo-insert-with-overlays): Make them work
23064         with hidden date-time headers.
23065         (todo-modes-set-2): Make todo--item-headers-hidden buffer local.
23067 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
23069         Fix several todo-mode bugs found while debugging bug#27609
23071         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Calculate
23072         current category only once.
23073         (todo-mark-category): Update number of marked items to avoid
23074         spurious duplication in todo-categories-with-marks alist and
23075         corruption of the todo-categories alist.  Handle empty line
23076         when there are no todo items and done items are shown.
23077         (todo-set-item-priority): Make noop if called from
23078         todo-raise-item-priority or todo-lower-item-priority when
23079         point is on a done todo item or an empty line.
23080         (todo-move-item): Use markers instead of integer positions to
23081         correctly handle deleting the now moved items from the source
23082         category (without markers an infinite loop arises when moving
23083         marked item to a preceding category).
23084         (todo-unarchive-items): Put point on the (first) restored done
23085         item, instead of leaving it at the end of the done items
23086         separator string.
23087         (todo-revert-buffer): Ensure buffer remains read-only after
23088         reverting.
23090 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
23092         Exclude blank columns from value of line-number-display-width
23094         * src/indent.c (Fline_number_display_width): Don't add 2 to the
23095         number of columns we return, to make this consistent with
23096         display-line-number-width.
23098 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
23100         Fix vertical-motion across the place where line-number width changes
23102         * src/indent.c (line_number_display_width): New function,
23103         refactored from line-number width calculations in vertical-motion.
23104         (Fvertical_motion): Call line_number_display_width when the width
23105         of line-number display is needed.
23106         (Fline_number_display_width): New defun.
23107         (syms_of_indent): Defsubr it.
23109         * doc/lispref/display.texi (Size of Displayed Text): Document
23110         line-number-display-width.
23112         * etc/NEWS: Mention line-number-display-width.
23114         * lisp/simple.el (last--line-number-width): New internal variable.
23115         (line-move-visual): Use it to adjust temporary-goal-column when
23116         line-number display changes its width.
23118 2017-07-07  Martin Rudalics  <rudalics@gmx.at>
23120         Remove Vwindow_text_change_functions and related code
23122         Vwindow_text_change_functions had been provided for implementing
23123         line numbers but apparently was never functional or in use.
23125         * src/xdisp.c (redisplay_window): Remove handling of
23126         Vwindow_text_change_functions.
23127         (syms_of_xdisp): Remove Qwindow_text_change_functions.
23128         (Vwindow_text_change_functions): Remove variable.
23129         * doc/lispref/hooks.texi (Standard Hooks): Remove entry for
23130         `window-text-change-functions'.
23132 2017-07-07  Mark Oteiza  <mvoteiza@udel.edu>
23134         Convert more uses of looking-at to following-char
23136         More followup to Karl Fogel's commit a84da83c1.
23137         * lisp/dired-aux.el (dired-add-entry, dired-subdir-hidden-p):
23138         * lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
23139         * lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
23140         * lisp/proced.el (proced-toggle-marks):
23141         * lisp/progmodes/f90.el (f90-indent-line):
23142         * lisp/ses.el (ses-load):
23143         * lisp/tar-mode.el (tar-expunge): Replace instances of looking-at with
23144         char comparisons using following-char.
23146 2017-07-07  Noam Postavsky  <npostavs@gmail.com>
23148         Don't skip epg tests (Bug#23561)
23150         * test/lisp/epg-tests.el (with-epg-tests): Ignore REQUIRE-PASSPHRASE
23151         parameter, since we supply the passphrase via pinentry-program for all
23152         GPG versions (as of 2017-02-28 "Fix epg-tests with dummy-pinentry
23153         program (Bug#23619)").
23154         (epg-tests-program-alist-for-passphrase-callback): Remove.
23156 2017-07-06  Eli Zaretskii  <eliz@gnu.org>
23158         Implement line numbers that disregard narrowing
23160         * src/xdisp.c (display_count_lines_logically): New function,
23161         counts line numbers disregarding narrowing.  Suggested by Andy
23162         Moreton <andrewjmoreton@gmail.com>.
23163         (maybe_produce_line_number): Call display_count_lines_logically
23164         instead of display_count_lines.  Adapt BEGV, ZV, etc. to
23165         display-line-numbers-widen.
23166         (syms_of_xdisp) <display-line-numbers-widen>: New buffer-local
23167         variable.
23169         * lisp/cus-start.el (standard): Provide a customization form for
23170         display-line-numbers-widen.
23171         * lisp/frame.el: Add display-line-numbers-widen,
23172         display-line-numbers-current-absolute, and
23173         display-line-number-width to the list of variables that should
23174         trigger redisplay of the current buffer.
23176         * doc/emacs/display.texi (Display Custom): Document
23177         display-line-numbers-widen.
23179 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
23181         Fix lisp-comment-indent for single-semicolon case
23183         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
23184         open paren if we're looking at multiple comment characters.
23185         * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
23186         (lisp-comment-indent-2): New tests.
23188 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
23190         Spelling fixes
23192         * lisp/org/org-table.el (org-table-sort-lines):
23193         Fix misspelling in prompt.
23194         * lisp/org/ox-ascii.el (org-ascii--describe-datum):
23195         Fix misspelling in call to org-element-lineage.
23197 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
23199         Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)
23201         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current
23202         line's code ends in open paren, set comment indentation exactly to
23203         column following it.
23204         (lisp-mode-variables): Set `comment-indent-function' to
23205         `lisp-comment-indent'.
23207 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
23209         Allow comment-indent-functions to specify exact indentation (Bug#385)
23211         * lisp/newcomment.el (comment-choose-indent): Interpret a cons of two
23212         integers as indicating a range of acceptable indentation.
23213         (comment-indent): Don't apply `comment-inline-offset',
23214         `comment-choose-indent' already does that.
23215         (comment-indent-function):
23216         * doc/emacs/programs.texi (Options for Comments): Document new
23217         acceptable return values.
23218         * etc/NEWS: Announce it.
23220 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
23222         Check for integer overflow in xbm images
23224         * src/image.c (XBM_TK_OVERFLOW): New constant.
23225         (xbm_scan): Check for integer overflow instead of relying on
23226         undefined behavior.  Check that octal digits are actually octal.
23228 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
23230         Convert hex digits more systematically
23232         This makes the code a bit smaller and presumably faster, as
23233         it substitutes a single lookup for conditional jumps.
23234         * src/character.c (hexdigit): New constant.
23235         (syms_of_character) [HEXDIGIT_IS_CONST]: Initialize it.
23236         * src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST): New macros.
23237         (hexdigit): New decl.
23238         (char_hexdigit): New inline function.
23239         * src/charset.c: Do not include c-ctype.h.
23240         * src/charset.c (read_hex):
23241         * src/editfns.c (styled_format):
23242         * src/image.c (xbm_scan):
23243         * src/lread.c (read_escape):
23244         * src/regex.c (ISXDIGIT) [emacs]:
23245         Use char_hexdigit insted of doing it by hand.
23247 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
23249         Don’t use -Woverride-init
23251         I have some further changes in mind that would also need to
23252         disable the -Woverride-init warnings.  In practice these warnings
23253         seem to be more trouble than they’re worth, so disable them in the
23254         cc command line.
23255         * configure.ac: Disable -Woverride-init here ...
23256         * src/bytecode.c: ... rather than here.
23258 2017-07-05  Glenn Morris  <rgm@gnu.org>
23260         * lisp/progmodes/python.el (auto-mode-alist): Add .pyi.  (Bug#27847)
23262         * lisp/org/ox-html.el (org-html-infojs-template): Update copyright.
23264 2017-07-05  Glenn Morris  <rgm@gnu.org>
23266         Small fix for bug-reference.el
23268         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
23269         Autoload safety property.  (Bug#27481)
23271 2017-07-05  Michael Albinus  <michael.albinus@gmx.de>
23273         Suppress timers in Tramp
23275         * lisp/net/tramp.el (tramp-file-name-handler): Don't trigger timers.
23277         * test/lisp/net/tramp-tests.el
23278         (tramp-test36-asynchronous-requests): Trigger timers.
23279         (tramp-test37-recursive-load, tramp-test38-remote-load-path):
23280         Set `default-directory' to a trustworthy value.
23282 2017-07-05  rocky  <rb@dustyfeet.com>
23284         Add realgud face definitions
23286         Add realgud faces to tdsh-dark-theme
23288 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
23290         * lisp/progmodes/cc-awk.el: Mark unused args
23292         * lisp/progmodes/cc-bytecomp.el: Mark unused args
23294 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
23296         * lisp/progmodes/cc-defs.el (lookup-syntax-properties): Move ...
23298         ... before first use
23300 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
23302         * lisp/progmodes/cc-vars.el: Mark unused args
23304 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
23306         * lisp/progmodes/cc-langs.el: Mark unused args
23308         (c-primary-expr-regexp): Remove unused vars ambiguous-prefix-ops and
23309         unambiguous-prefix-ops.
23311 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
23313         * lisp/progmodes/cc-engine.el: Mark unused args
23315         (c-beginning-of-statement-1, c-guess-basic-syntax):
23316         Remove unused var c-in-literal-cache.
23317         (c-debug-sws-msg): Silence byte-compiler, even if we don't use the arg.
23318         (c-append-to-state-cache): Remove unused var `bra+1s'.
23319         (c-remove-stale-state-cache): Remove unused var `pps-point-state'.
23320         (c-invalidate-state-cache-1): Remove unused var `pa'.
23321         (c-forward-decl-or-cast-1): Change comments so they don't look like
23322         outline headers.
23323         (c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
23324         Declare before first use.
23325         (c-forward-decl-or-cast-1): Remove unused var `backup-kwd-sym'.
23326         (c-backward-over-enum-header): Remove unused var `up-sexp-pos'.
23328 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
23330         * lisp/progmodes/cc-cmds.el: Remove unused vars
23332         (c-syntactic-context): Declare as dynbound.
23333         (c-beginning-of-defun, c-end-of-defun): Remove unused var `start'.
23335 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
23337         * lisp/progmodes/cc-guess.el: Remove unused var
23339         (c-guess-view-reorder-offsets-alist-in-style): Remove redundantly bound
23340         and computed variable `guessed-syntactic-symbols'.
23342 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
23344         * lisp/progmodes/cc-align.el: Mark unused arguments
23346 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
23348         * lisp/progmodes/cc-mode.el: Mark unused arguments
23350         (c-parse-quotes-before-change, c-parse-quotes-after-change):
23351         Remove unused vars.
23353 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
23355         Mention `ffap-url-unwrap-local' in find-file-at-point's docstring (Bug#27564)
23357         * lisp/ffap.el (find-file-at-point): Mention `ffap-url-unwrap-local'
23358         and `ffap-url-unwrap-remote'.
23360 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
23362         Fix infloop in uncomment-region-default (Bug#27112)
23364         When `comment-continue' has only blanks, `comment-padright' produces a
23365         regexp that matches the empty string, so `uncomment-region-default'
23366         will loop infinitely.
23367         * lisp/newcomment.el (comment-padright): Only return a regexp if STR
23368         has nonblank characters.
23370 2017-07-04  Eli Zaretskii  <eliz@gnu.org>
23372         Fix display of current line number in visual mode
23374         * src/xdisp.c (maybe_produce_line_number): Fix visual-mode display
23375         of current line when line-number-current-line face was customized.
23376         Reported by Filipe Silva <filipe.silva@gmail.com>.
23378 2017-07-03  Philipp Stephani  <phst@google.com>
23380         Use hook instead of face list to inhibit electric quoting
23382         This is more flexible and doesn't couple electric quoting to font
23383         locking.
23384         Give that 'electric-quote-code-faces' was just introduced, remove it
23385         without formal deprecation.
23387         * lisp/electric.el (electric-quote-inhibit-functions): New abnormal
23388         hook variable.
23389         (electric-quote-post-self-insert-function): Run the hook.  Remove
23390         use of old 'electric-quote-code-faces' variable.
23392         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
23393         (electric-quote-markdown-in-code): Adapt unit tests.
23395 2017-07-03  Ingo Lohmar  <i.lohmar@gmail.com>
23397         Offer non-aligned indentation in lists in js-mode (Bug#27503)
23399         * lisp/progmodes/js.el (js--proper-indentation):
23400         New customization option 'js-indent-align-list-continuation'.
23401         Affects argument lists as well as arrays and object properties.
23402         * test/manual/indent/js-indent-align-list-continuation-nil.js:
23403         Test the change.
23405 2017-07-03  Eli Zaretskii  <eliz@gnu.org>
23407         Avoid errors in vertical-motion when buffer is narrowed
23409         * src/indent.c (Fvertical_motion): If need to start from
23410         window-start, and it is outside of the accessible portion,
23411         temporarily widen the buffer.  This avoids errors in evil-mode.
23412         Reported by James Nguyen <james@jojojames.com>.
23414 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
23416         (Re-)activate remote tests of filenotify-tests.el
23418         * test/lisp/filenotify-tests.el
23419         (file-notify-test-remote-temporary-file-directory):
23420         Declare default host for mock method.  Offer home directory
23421         for mock method if it doesn't exist.
23422         (file-notify-test09-watched-file-in-watched-dir-remote):
23423         Remove, it doesn't work reliably.
23425 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
23427         Reset ansi escape context before printing eshell prompt (Bug#27407)
23429         * lisp/eshell/em-prompt.el (eshell-emit-prompt): Reset
23430         `ansi-color-context-region'.
23432 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
23434         Let ansi-color overlay hooks work in eshell (Bug#27407)
23436         * lisp/ansi-color.el (ansi-color-make-extent): Add
23437         `ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
23438         * lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
23439         `inhibit-modification-hooks' to nil while inserting the string.
23441 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
23443         Fix and simplify ansi escape detection (Bug#21381)
23445         * lisp/ansi-color.el (ansi-color-regexp, ansi-color-drop-regexp):
23446         Remove.
23447         (ansi-color-control-seq-regexp): New constant, matches all escape
23448         sequences.
23449         (ansi-color-filter-apply, ansi-color-apply)
23450         (ansi-color-filter-region, ansi-color-apply-on-region): Use it instead
23451         of matching color sequences separately from ignored sequences.
23452         Differentiate color sequences simply by checking the last character.
23454 2017-07-03  Damien Cassou  <damien@cassou.me>
23456         Add absolute optional parameter to line-number-at-pos (Bug#26417)
23458         * lisp/simple.el (line-number-at-pos): Add a second optional
23459           argument 'absolute'.
23460         * test/lisp/simple-tests.el: Add tests for 'line-number-at-pos'.
23462 2017-07-03  R. Bernstein  <rocky@gnu.org>
23464         Add realgud faces
23466 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
23468         Fix tramp-tests.el for hydra
23470         * test/Makefile.in: Remove instrumentation for tramp-tests.
23472         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
23473         Remove instrumentation.  Wrap with a timeout.  Give hydra
23474         another timer value.  Set `default-directory' in timer.
23476 2017-07-03  Bastien  <bzg@gnu.org>
23478         Merge branch 'master' into scratch/org-mode-merge
23480         Merge branch 'master' into scratch/org-mode-merge
23482 2017-07-03  Tino Calancha  <tino.calancha@gmail.com>
23484         dired-do-shell-command: Fix check for wildcards
23486         * lisp/dired-aux.el (dired-do-shell-command): Replace just '?', '*'
23487         and '`?' i.e., keep the whitespaces.
23488         * test/lisp/dired-aux-tests.el (dired-test-bug27496): Add test.
23490 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
23492         Split shr-copy-url dwim behavior into separate functions (Bug#26826)
23494         * lisp/net/shr.el (shr-url-at-point, shr-probe-url)
23495         (shr-probe-and-copy-url, shr-maybe-probe-and-copy-url): New functions,
23496         split out from `shr-copy-url'.
23497         (shr-copy-url): Only copy the url, don't fetch it.
23498         (shr-map): Bind 'w' and 'u' to `shr-maybe-probe-and-copy-url', which
23499         has the same behavior as the old `shr-copy-url'.
23500         * etc/NEWS: Announce changes.
23502 2017-07-02  Alex Branham  <branham@utexas.edu>  (tiny change)
23504         Make eww-search-words prompt for query if nothing selected
23506         * lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the
23507         user for a search query if the region is inactive or if the region is
23508         just whitespace.
23510 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
23512         * lisp/emacs-lisp/cl-print.el (cl-print-compiled-button): t by default.
23514         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
23515         * lisp/help-fns.el (describe-variable): No need to let-bind
23516         `cl-print-compiled-button' to t anymore.
23518 2017-07-02  Philipp Stephani  <phst@google.com>
23520         Electric quotes: Improve support for Markdown mode (Bug#24709)
23522         Introduce a new user option 'electric-quote-context-sensitive'.  If
23523         non-nil, have ' insert an opening quote if sensible.
23525         Also introduce a new variable 'electric-quote-code-faces'.  Major
23526         modes such as 'markdown-mode' can add faces to this list to treat text
23527         as inline code and disable electric quoting.
23529         * lisp/electric.el (electric-quote-context-sensitive): New user
23530         option.
23531         (electric-quote-code-faces): New variable.
23532         (electric-quote-post-self-insert-function): Treat ' as ` if
23533         desired and applicable; disable electric quoting for given faces.
23535         * test/lisp/electric-tests.el (electric-quote-opening-single)
23536         (electric-quote-closing-single, electric-quote-opening-double)
23537         (electric-quote-closing-double)
23538         (electric-quote-context-sensitive-backtick)
23539         (electric-quote-context-sensitive-bob-single)
23540         (electric-quote-context-sensitive-bob-double)
23541         (electric-quote-context-sensitive-bol-single)
23542         (electric-quote-context-sensitive-bol-double)
23543         (electric-quote-context-sensitive-after-space-single)
23544         (electric-quote-context-sensitive-after-space-double)
23545         (electric-quote-context-sensitive-after-letter-single)
23546         (electric-quote-context-sensitive-after-letter-double)
23547         (electric-quote-context-sensitive-after-paren-single)
23548         (electric-quote-context-sensitive-after-paren-double)
23549         (electric-quote-markdown-in-text)
23550         (electric-quote-markdown-in-code): New unit tests.
23552 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
23554         * doc/misc/tramp.texi: Replace ftp:// and http:// URLs by https://.
23556 2017-07-02  Eli Zaretskii  <eliz@gnu.org>
23558         Avoid off-by-one errors in column C-n/C-p calculations
23560         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
23561         the width used up by line numbers by looking near the window-start
23562         point.
23564 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
23566         Ask confirmation for all suspicious wildcards
23568         * lisp/dired-aux.el (dired-do-shell-command): Check that all
23569         the wildcards are right.  Otherwise, ask for confirmation (Bug#27496).
23571 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
23573         Extend dired-do-shell-command substitutions
23575         Substitute "`?`" inside command with the current file name.
23576         See details in:
23577         https://lists.gnu.org/r/emacs-devel/2017-06/msg00618.html
23578         * lisp/dired-aux.el (dired-quark-subst-regexp, dired-star-subst-regexp):
23579         Mark as obsolete.
23580         (dired-isolated-string-re): New defun.
23581         (dired--star-or-qmark-p): New predicate.
23582         (dired-do-shell-command): Use dired--star-or-qmark-p.  Substitute "`?`"
23583         with the current file name.
23584         * doc/emacs/dired.texi (Shell Commands in Dired): Update manual.
23586 2017-07-02  Alan Mackenzie  <acm@muc.de>
23588         Fix bug in yesterday's CC Mode commit.
23590         * lisp/progmodes/cc-mode.el (c-quoted-number-head-before-point): Check a
23591         search has succeded before using the match data.
23592         (c-quoted-number-head-before-point, c-quoted-number-head-after-point):
23593         Specify that the position of the extremity of the head or tail is in the
23594         match data.
23596 2017-07-02  Philipp Stephani  <phst@google.com>
23598         Remove FIXME comments about sentinel values
23600         These FIXMEs can't be addressed because they would require breaking
23601         changes to the module API.  Furthermore, other module functions don't
23602         return sentinel values as well, so users generally have to call
23603         non_local_exit_check anyway.
23605         * src/emacs-module.c (module_set_user_ptr)
23606         (module_set_user_finalizer, module_vec_set, module_vec_size): Remove
23607         FIXME comments.
23609 2017-07-02  Philipp Stephani  <phst@google.com>
23611         Adapt Lisp reference to reader changes
23613         The reader now warns about some unescaped character literals, but
23614         still allows them for compatibility reasons.  Slightly adapt the
23615         manual to forbid them officially.
23617         * doc/lispref/objects.texi (Basic Char Syntax): Document that
23618         backslashes are now required before some characters.
23620 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
23622         Fix Bug#27502
23624         * lisp/autorevert.el (auto-revert-find-file-function): New defun.
23625         (find-file-hook): Use it.  (Bug#27502)
23626         (auto-revert-remove-current-buffer): New defun.
23627         (auto-revert-mode, auto-revert-buffers): Use it.
23629 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
23631         Let test summary go through even if some logs were not generated
23633         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Check
23634         for existence of log files before reading.
23636 2017-07-01  Philipp Stephani  <phst@google.com>
23638         * src/module-env-25.h (copy_string_contents): Fix comment.
23640 2017-07-01  Philipp Stephani  <phst@google.com>
23642         Also mark module init function as noexcept if possible
23644         * src/emacs-module.h.in (emacs_module_init): Mark as noexcept if
23645         possible.
23647 2017-07-01  Philipp Stephani  <phst@google.com>
23649         Improve C++98 compatibility
23651         * src/emacs-module.h.in (emacs_funcall_exit): Lose trailing comma.
23652         C++98 doesn't allow trailing commas in enumerations.
23654 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
23656         Minor copyedits of manuals regarding bidi conformance
23658         * doc/emacs/mule.texi (Bidirectional Editing):
23659         * doc/lispref/display.texi (Bidirectional Display): Update the
23660         bidi conformance text.
23662 2017-07-01  Alan Mackenzie  <acm@muc.de>
23664         Make C++ digit separators work.  Amend the handling of single quotes generally
23666         Single quotes, even in strings and comments, are now marked with the
23667         "punctuation" syntax-table property, except where they are validly bounding a
23668         character literal.  They are font locked with font-lock-warning-face except
23669         where they are valid.  This is done in C, C++, ObjC, and Java Modes.
23671         * lisp/progmodes/cc-defs.el (c-clear-char-property-with-value-on-char-function)
23672         (c-clear-char-property-with-value-on-char, c-put-char-properties-on-char): New
23673         functions/macros.
23675         * lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes): New function.
23676         (c-basic-matchers-before): invoke c-font-lock-invalid-single-quotes.
23678         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
23679         c-before-after-change-digit-quote from wherever it occurs.  Insert
23680         c-parse-quotes-before-change into the entries for the languages where it is
23681         needed.
23682         (c-before-font-lock-functions): Remove c-before-after-change-digit-quote from
23683         wherever it occurs.  Insert c-parse-quotes-after-change into the entries for
23684         the languages which need it.
23685         (c-has-quoted-numbers): New lang-defconst/-defvar.
23687         * lisp/progmodes/cc-mode.el (c-before-after-change-digit-quote): Remove.
23688         (c-maybe-quoted-number-head, c-maybe-quoted-number-tail)
23689         (c-maybe-quoted-number): New defconsts.
23690         (c-quoted-number-head-before-point, c-quoted-number-tail-after-point)
23691         (c-quoted-number-straddling-point, c-parse-quotes-before-change)
23692         (c-parse-quotes-after-change): New functions.
23694 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
23696         Ignore mouse-movement for describe-key-briefly (Bug#12204)
23698         * lisp/help.el (help-read-key-sequence): Add optional argument ot
23699         ignore `mouse-movement' events.
23700         (describe-key-briefly): Use it.
23701         * doc/emacs/help.texi (Key Help):
23702         * etc/NEWS: Mention that mouse movement is ignored.
23704 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
23706         Refactor key describing commands
23708         * lisp/help.el (help-read-key-sequence, help--analyze-key): New
23709         functions, extracted from `describe-key' and `describe-key-briefly'.
23710         (describe-key, describe-key-briefly): Use them.
23712 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
23714         Improve display of tabs with line numbers
23716         * src/xdisp.c (x_produce_glyphs): Improve calculation of next tab
23717         stop in hscrolled lines.  Prevent aborts in compute_line_metrics.
23719 2017-07-01  Alan Third  <alan@idiocy.org>
23721         Fix threads on NS (bug#25265)
23723         src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
23724         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
23725         src/nsterm.m (ns_select): Call thread_select from within ns_select.
23726         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
23727         (ns_send_appdefined): Don't wait for main thread when sending app
23728         defined event.
23729         src/process.c (wait_reading_process_output): Call thread_select from
23730         within ns_select.
23731         src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
23732         its event loop using ns_run_loop_break.
23734 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
23736         Avoid slow redisplay under 'visual' mode of line numbers
23738         * src/xdisp.c (display_count_lines_visually): Avoid very slow
23739         redisplay when this function is invoked very far from point.
23740         Reported by Alex <agrambot@gmail.com>.
23742 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
23744         * lisp/help-fns.el (describe-variable): Let-bind cl-print-compiled-button.
23746 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
23748         * lisp/emacs-lisp/cl-extra.el (cl--random-state): New defstruct
23750         (cl--random-state, cl--random-time): Move from cl-lib.el.
23751         (cl-random): Use struct accessors.
23752         (cl-random-state-p): Remove, provided by the defstruct.
23753         (cl-make-random-state): Rewrite to struct constructor.
23755 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
23757         * lisp/emacs-lisp/debug.el (debugger-list-functions): Remove obsolete msg
23759 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
23761         Improve documentation of faces related to display-line-numbers
23763         * lisp/faces.el (line-number, line-number-current-line): Warn
23764         against using non-monospaced fonts.
23766 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
23768         Fix relative-number display with non-nil display-line-number-width
23770         * src/xdisp.c (maybe_produce_line_number): Don't treat a zero
23771         value of display-line-number-width as acceptable.
23772         Handle the case of 'relative' with display-line-number-width
23773         non-nil and smaller than the absolute line number requires.
23774         Reported by Alex <agrambot@gmail.com>.
23776 2017-06-30  Michael Albinus  <michael.albinus@gmx.de>
23778         Release Tramp 2.3.2
23780         * doc/misc/tramp.texi (Android shell setup): Show default file name.
23781         Structure section.
23783         * doc/misc/trampver.texi:
23784         * lisp/net/trampver.el: Change version to "2.3.2".
23786         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
23787         Offer home directory for mock method if it doesn't exist.
23789 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
23791         Add documentation for display-line-numbers
23793         * doc/emacs/custom.texi (Init Rebinding):
23794         * doc/emacs/modes.texi (Minor Modes): Remove references to
23795         linum-mode.
23796         * doc/emacs/display.texi (Display Custom): Describe the
23797         line-number display.
23798         (Optional Mode Line): Fix the index entry to not conflict with
23799         that in "Display Custom".
23800         * doc/emacs/basic.texi (Position Info): Add cross-reference to
23801         "Display Custom", for line-number display.
23803         * src/xdisp.c (syms_of_xdisp): <display-line-numbers>: Mention
23804         display-line-numbers-disable in the doc string.
23806         * lisp/cus-start.el (standard): Fix lst change.
23808 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
23810         Support displaying zero as the number of the current line
23812         * src/xdisp.c (syms_of_xdisp)
23813         <display-line-numbers-current-absolute>: New variable.
23814         <display-line-numbers>: Doc fix.
23815         (maybe_produce_line_number): Support nil value of
23816         display-line-numbers-current-absolute.
23818         * lisp/cus-start.el (standard): Add customization form for
23819         display-line-numbers-current-absolute.
23821         * etc/NEWS: Document recently introduced features.
23823 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
23825         Speed up the visual-mode relative line numbers
23827         * src/xdisp.c (display_count_lines_visually): Introduce a
23828         shortcut: if a relative line number was already calculated for
23829         this iterator object, just increase it instead of the
23830         expensive call to move_it_to.  Argument list changed to pass a
23831         pointer to the iterator object.
23832         (maybe_produce_line_number): Adjust for change in signature of
23833         display_count_lines_visually.  Record the relative line number and
23834         the corresponding byte position in the iterator object also in the
23835         'visual' mode.
23837 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
23839         Fix hscrolling with line numbers on TTY frames
23841         * src/xdisp.c (hscroll_window_tree): Correct the X offset
23842         calculations on TTY frames.
23843         * src/term.c (produce_glyphs): Use it->lnum_pixel_width instead of
23844         a kludge using it->lnum_width.
23846 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
23848         Fix TAB display when the line-number face uses a smaller/larger font
23850         * src/dispextern.h (struct it): New member lnum_pixel_width.
23851         * src/xdisp.c (maybe_produce_line_number): Compute the width of
23852         the line-number display in pixels.
23853         (x_produce_glyphs): Use it->lnum_pixel_width instead of a kludge
23854         that used it->lnum_width and made assumptions about pixel width.
23856 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
23858         Escape NUL bytes in X selections (Bug#6991)
23860         * lisp/term/w32-win.el (w32--set-selection):
23861         * lisp/select.el (xselect--encode-string): Replace NUL bytes with
23862         "\0".
23863         * doc/emacs/killing.texi: Document new behavior.
23864         * etc/NEWS (times): Announce it.
23866 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
23868         Hide byte code in backtraces (Bug#6991)
23870         * lisp/emacs-lisp/debug.el (debugger-print-function): New defcustom,
23871         defaulting to `cl-print'.
23872         (debugger-insert-backtrace, debugger-setup-buffer): Use it instead of
23873         `prin1'.
23874         * etc/NEWS: Announce it.
23876 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
23878         Don't redundantly cl-print arglist in function docstring again
23880         * lisp/emacs-lisp/cl-print.el (cl-print-object): Don't print arglist
23881         part of docstring.
23882         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Update
23883         test accordingly.
23885 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
23887         Escape control characters in backtraces (Bug#6991)
23889         * src/print.c (syms_of_print): Add new variable,
23890         print-escape-control-characters.
23891         (print_object): Print control characters with octal escape codes when
23892         print-escape-control-characters is true.
23893         * lisp/subr.el (backtrace):
23894         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
23895         `print-escape-control-characters' to t.
23897 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
23899         Improve ert backtrace recording
23901         Change ert to use the new `backtrace-frames' function instead of
23902         collecting frames one by one with `backtrace-frame'.  Additionally,
23903         collect frames starting from `signal' instead the somewhat arbitrary
23904         "6 from the bottom".  Skipping 6 frames would skip the expression that
23905         actually caused the signal that triggered the debugger.  Possibly 6
23906         was chosen because in the case of a failed test, the triggering frame
23907         is an `ert-fail' call, which is not so interesting.  But in case of a
23908         test throwing an error, this drops the `error' call which is too much.
23910         * lisp/emacs-lisp/debug.el (debugger-make-xrefs): Remove.
23911         * lisp/emacs-lisp/ert.el (ert--make-xrefs-region): Bring in relevant
23912         code from `debugger-make-xrefs'.
23913         (ert--print-backtrace): Add DO-XREFS parameter, delegate to
23914         `debugger-insert-backtrace'.
23915         (ert--run-test-debugger): Record the backtrace frames starting from
23916         the instigating `signal' call.
23917         (ert-run-tests-batch): Pass nil for `ert--print-backtrace's new
23918         DO-XREFS parameter.
23919         (ert-results-pop-to-backtrace-for-test-at-point): Pass t as DO-XREFS
23920         to `ert--print-backtrace' and remove call to `debugger-make-xrefs'.
23921         * test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Check
23922         the backtrace list instead of comparing its string representation.
23923         Expect `signal' to be the first frame.
23925 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
23927         Operate on frame list instead of printed backtrace
23929         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function,
23930         prints the given backtrace frames.
23931         (debugger-setup-buffer): Use it instead of editing the backtrace
23932         buffer text.
23934 2017-06-29  Eli Zaretskii  <eliz@gnu.org>
23936         Minor fixes
23938         * src/xdisp.c (maybe_produce_line_number): Fix bug that caused
23939         line numbers to be displayed in empty lines beyond ZV.
23940         (x_produce_glyphs): Start fixing TAB display in truncated lines.
23942 2017-06-29  Michael Albinus  <michael.albinus@gmx.de>
23944         Improve timer handling when Tramp accepts output
23946         * lisp/net/tramp-compat.el: Avoid compiler warning.
23948         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
23949         Remove lock machinery.
23951         * lisp/net/tramp.el (tramp-locked, tramp-locker): Move up.
23952         (tramp-file-name-handler): Add lock machinery from
23953         `tramp-sh-file-name-handler'.  Allow timers to run.
23954         (tramp-accept-process-output): Remove nasty workaround.
23955         Suppress timers.
23957         * test/lisp/net/tramp-tests.el (shell-command-sentinel):
23958         Suppress run in tests.
23959         (tramp--instrument-test-case-p): New defvar.
23960         (tramp--instrument-test-case): Use it in order to allow nested calls.
23961         (tramp--test-message, tramp--test-backtrace): New defsubst,
23962         will be used for occasional test instrumentation.
23963         (tramp-test00-availability, tramp-test31-vc-registered): Use them.
23964         (tramp-test28-shell-command)
23965         (tramp--test-shell-command-to-string-asynchronously): Suppress
23966         nasty messages.  Don't overwrite sentinel.
23967         (tramp-test36-asynchronous-requests): Rewrite major parts.
23968         Expect :passed.
23970 2017-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
23972         * lisp/url/url-history.el: Use lexical-binding
23974         (url-completion-function): Mark as obsolete.
23975         Mark unused args accordingly.
23977 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
23979         Don't assume url structs are vectors (Bug#27333)
23981         * lisp/url/url-history.el (url-history-update-url): Use `url-p'
23982         instead of `vectorp'.
23984 2017-06-28  Mark Oteiza  <mvoteiza@udel.edu>
23986         Replace with dolist some uses of while
23988         * lisp/calc/calc-units.el (calc-permanent-units):
23989         (math-compare-unit-names, math-simplify-units-quotient):
23990         (math-build-units-table-buffer): Use dolist to replace extra bindings
23991         and some while loops.
23993 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
23995         Make tcl-auto-fill-mode obsolete (Bug#10772)
23997         * lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
23998         * etc/NEWS: Announce it.
24000 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
24002         Don't read eshell/which output from *Help* buffer (Bug#26894)
24004         * lisp/help-fns.el (help-fns--analyse-function)
24005         (help-fns-function-description-header): New functions, extracted from
24006         describe-function-1.
24007         (describe-function-1): Use them.
24008         * lisp/eshell/esh-cmd.el (eshell/which): Use
24009         `help-fns-function-description-header' instead of
24010         `describe-function-1'.
24012 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
24014         Support default-text-properties
24016         * src/xdisp.c (should_produce_line_number): Call get-char-property
24017         at ZV as well, to support default-text-properties.
24019 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
24021         Avoid segfaults when some display vector is an empty string
24023         * src/xdisp.c (next_element_from_display_vector): Don't try
24024         accessing the dpvec[] array if its size is zero.  (Bug#27504)
24026 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
24028         Initial support for visually-relative line numbers
24030         Works very slowly.
24032         * src/xdisp.c (display_count_lines_visually): New function.
24033         (maybe_produce_line_number): Support 'visual' mode of line-number
24034         display.
24035         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
24036         also when glyph_row is NULL.  This is important for move_it_*
24037         functions.
24038         (syms_of_xdisp) <display-line-number-width>: Now buffer-local.
24039         (try_window_id, redisplay_window, try_cursor_movement): For
24040         'visual' line-number display, disable the same redisplay
24041         optimizations as for 'relative'.
24043         * lisp/cus-start.el (standard): Add new value for the
24044         customization form of display-line-numbers.
24046 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
24048         Update IT's metrics while simulating display
24050         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
24051         also when glyph_row is NULL.  This is important for move_it_*
24052         functions.
24054 2017-06-26  Teemu Likonen  <tlikonen@iki.fi>
24056         Fix bug in handling GnuPG's TRUST_MARGINAL status
24058         * lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
24059         to `good'.
24061 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
24063         Prefer `when' instead of 1-branch `if'
24065         * lisp/dired-aux.el (dired-do-shell-command): Store condition value
24066         in local variable ok.
24067         Use `when' instead of 1-branch `if'.
24069 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
24071         Use #' instead of (function ...)
24073         * lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
24074         (dired-mark-confirm, dired-query, dired-byte-compile)
24075         (dired-load, dired-update-file-line, dired-after-subdir-garbage)
24076         (dired-relist-file, dired-rename-subdir, dired-do-create-files)
24077         (dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
24078         (dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
24079         (dired-do-copy-regexp, dired-do-hardlink-regexp)
24080         (dired-do-symlink-regexp, dired-create-files-non-directory)
24081         (dired-upcase, dired-downcase)
24083         * lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
24084         (dired-internal-do-deletions, dired-internal-do-deletions):
24085         Prefer #' instead of (function ...).
24087 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
24089         Don't quote lambda forms
24091         * lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
24092         (dired-mark, dired-desktop-buffer-misc-data)
24094         * lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
24095         (dired-create-files-non-directory, dired-insert-subdir-validate)
24096         (dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.
24098 2017-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
24100         * lisp/progmodes/cc-fonts.el: Remove/mark unused vars
24102         (c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
24103         and `brackets-after-id'.
24104         (c-font-lock-objc-methods): Mark unused args.
24106 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
24108         Omit null-pointer test in intervals.h FRAME
24110         * src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
24111         (INTERVAL_LAST_POS): Omit unnecessary parens.
24112         (LENGTH): Omit test for null pointer.  The argument is never null.
24113         The unnecessary test causes GCC 7.1.0 to assume that the argument
24114         might be null, and therefore to issue false alarms when the
24115         argument is dereferenced in other expressions.
24117 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
24119         Parenthesize frame.h macro definitions
24121         * src/frame.h (FRAME_TOOL_BAR_POSITION)
24122         (FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
24123         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
24124         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
24125         (FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
24126         (FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
24127         (FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
24128         (FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
24129         (FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
24130         to allow arbitrary expression arguments.
24132 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
24134         Port recent frame changes to GCC 7
24136         * src/frame.c (keep_ratio): New arg P.  Caller changed.  Since it
24137         is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
24138         might return null.  This also avoids a run-time test.
24140 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
24142         Minor aesthetic fix of last change.
24144 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
24146         Allow to disable display of line numbers beyond EOB
24148         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
24149         function.
24150         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
24151         * src/xdisp.c (should_produce_line_number): When at ZV, call
24152         disable_line_numbers_overlay_at_eob to determine whether line
24153         numbers should be displayed beyond ZV.
24155 2017-06-25  Michael Albinus  <michael.albinus@gmx.de>
24157         Fix Android 6/7 problems in Tramp
24159         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
24160         (tramp-adb-handle-directory-files-and-attributes)
24161         (tramp-adb-handle-file-name-all-completions): Insert "."  and
24162         ".." only when needed.
24163         (tramp-adb-get-ls-command): Force one column output for toybox.
24165 2017-06-25  Stefan-W. Hahn  <stefan.hahn@s-hahn.de>  (tiny change)
24167         * lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
24169 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
24171         Fix line number display for overlay/display strings with newlines
24173         * src/xdisp.c (maybe_produce_line_number): Fix the condition for
24174         producing space glyphs instead of a line number to include the
24175         case of display strings and overlays.
24177 2017-06-25  Alan Mackenzie  <acm@muc.de>
24179         Make CC Mode load cl-lib rather than cl in Emacs 26.
24181         * lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
24182         variable.
24184         * lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
24185         (c--cl-library): New variable.
24186         (Top level): Amend the form which requires library cl or cl-lib.
24187         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
24188         (c--delete-duplicate): Amend to use c--cl-library instead of
24189         c--mapcan-status.
24191         * lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
24192         (c-back-over-compound-identifier): Remove unused local variables.
24194         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
24195         local variable.
24197         * lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
24198         of c--mapcan-status.
24200         * lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
24201         silence a compiler warning.
24203 2017-06-25  Martin Rudalics  <rudalics@gmx.at>
24205         Provide additional support for child frames
24207         Provide mouse dragging and resizing of frames.  Allow resizing
24208         frames proportionally.  Provide additional functionality for
24209         child frames.  Minor bug fixes.
24211         * lisp/frame.el (frame-border-width, frame-pixel-width)
24212         (frame-pixel-height): Alias to `frame-internal-border-width',
24213         `frame-native-width' and `frame-native-height'.
24214         (frame-inner-width, frame-inner-height, frame-outer-width)
24215         (frame-outer-height): New functions.
24216         * lisp/minibuffer.el (completion-auto-help): Fix typo.
24217         * lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
24218         (mouse-drag-header-line): Allow moving a frame by dragging the
24219         mode line of its bottommost window (on a minibuffer-less frame)
24220         or the header line of its topmost window.
24221         (mouse-drag-vertical-line): Mention argument in doc-string.
24222         (mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
24223         (mouse-drag-top-left-corner, mouse-drag-top-edge)
24224         (mouse-drag-top-right-corner, mouse-drag-right-edge)
24225         (mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
24226         (mouse-drag-bottom-left-corner): New functions for resizing a
24227         frame by dragging its internal border together with
24228         corresponding key bindings.
24229         * lisp/tooltip.el (tooltip-frame-parameters): Add
24230         'no-special-glyphs' to default parameters and update version
24231         tag.
24232         * lisp/window.el (frame-auto-hide-function): Add choice to make
24233         frame invisible and update version tag.
24234         (window--delete): Handle 'auto-hide-function' frame parameter.
24235         (window--maybe-raise-frame): Respect 'no-focus-on-map' and
24236         'no-accept-focus' frame parameters.
24237         (display-buffer--action-function-custom-type): Add
24238         `display-buffer-in-child-frame'.
24239         (display-buffer): Mention `display-buffer-in-child-frame' in
24240         doc-string.
24241         (display-buffer-in-child-frame): New action function for
24242         `display-buffer'.
24243         (window--sanitize-margin): Return zero when MARGIN cannot be
24244         sanitized.
24245         (fit-frame-to-buffer): Major rewrite to handle child frames and
24246         'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
24247         frame parameters.
24248         (window-largest-empty-rectangle--maximums-1)
24249         (window-largest-empty-rectangle--maximums)
24250         (window-largest-empty-rectangle--disjoint-maximums)
24251         (window-largest-empty-rectangle): New functions.
24253         * src/dispextern.h (WINDOW_WANTS_MODELINE_P)
24254         (WINDOW_WANTS_HEADER_LINE_P): Remove.  Functionality is now
24255         provided by corresponding functions window_wants_modeline and
24256         window_wants_header_line in window.c.  Adjust users.
24257         * src/dispnew.c (adjust_glyph_matrix)
24258         (buffer_posn_from_coords): Use window_wants_modeline and
24259         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
24260         WINDOW_WANTS_HEADER_LINE_P.
24261         * src/frame.c (keep_ratio): New function.
24262         (adjust_frame_size): Call keep_ratio for each of F's child
24263         frames.
24264         (make_frame): Initialize no_special_glyphs slot.
24265         (frame_internal_border_part): New function.
24266         (Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
24267         to Fframe_native_width, Fframe_native_height mand
24268         Fframe_internal_border_width.
24269         (frame_parm_table): Add Qno_special_glyphs entry.
24270         (frame_float_type): New enumeration type.
24271         (frame_float): New function to handle frame size and position
24272         ratios.
24273         (x_set_frame_parameters): Handle size and position ratios.
24274         (x_set_no_special_glyphs): New function
24275         (x_figure_window_size): Handle size and position ratios.
24276         (syms_of_frame): Add Qdisplay_monitor_attributes_list,
24277         Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
24278         Qheight_only, Qleft_only and Qtop_only.
24279         * src/frame.h (internal_border_part): New enumeration type.
24280         (struct frame): New slot no_special_glyphs.
24281         (FRAME_NO_SPECIAL_GLYPHS): New macro.
24282         * src/gtkutil.c (xg_frame_restack): Return immediately for
24283         GTK versions before 2.18.0.
24284         * src/keyboard.c (internal_border_parts): New array constant.
24285         (make_lispy_position): For frames with border dragging enabled
24286         return internal border part.
24287         (syms_of_keyboard): New symbols Qdrag_internal_border,
24288         Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
24289         Qright_edge, Qbottom_right_corner, Qbottom_edge and
24290         Qbottom_left_corner.
24291         * src/minibuf.c (read_minibuf_unwind): When exiting the
24292         minibuffer deal with frames that have the 'minibuffer-exit'
24293         parameter set.
24294         (syms_of_minibuf): New symbol Qminibuffer_exit.
24295         * src/nsfns.m (frame_parm_handler): Add entry for
24296         x_set_no_special_glyphs.
24297         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
24298         Intitialize new cursor types for dragging frame borders.
24299         * src/nsterm.h (struct ns_output): Add new cursor types for
24300         dragging frame borders.
24301         * src/w32fns.c (w32_frame_parm_handlers): Add entry for
24302         x_set_no_special_glyphs.
24303         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
24304         Intitialize new cursor types for dragging frame borders.
24305         * src/w32term.h (struct w32_output): Add new cursor types for
24306         dragging frame borders.
24307         * src/window.c (coordinates_in_window)
24308         (Fwindow_line_height, window_internal_height): Use
24309         window_wants_modeline and window_wants_header_line instead of
24310         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
24311         (Fwindow_lines_pixel_dimensions): New function.
24312         (window_parameter): New function.
24313         (Fwindow_parameter): Call window_parameter.
24314         (window_wants_mode_line, window_wants_header_line): New
24315         functions replacing the macros WINDOW_WANTS_MODELINE_P and
24316         WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
24317         (syms_of_window): New symbols Qmode_line_format and
24318         Qheader_line_format.
24319         * src/window.h: Reorganize and re-comment macros.  Use
24320         window_wants_modeline and window_wants_header_line instead of
24321         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
24322         (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
24323         (WINDOW_BUFFER): New macro.
24324         (WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
24325         * src/xdisp.c (window_text_bottom_y, window_box_height)
24326         (window_box, start_display)
24327         (compute_window_start_on_continuation_line)
24328         (try_cursor_movement, redisplay_window)
24329         (try_window_reusing_current_matrix, try_window_id)
24330         (display_line, expose_window): Use window_wants_modeline and
24331         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
24332         WINDOW_WANTS_HEADER_LINE_P.
24333         (pos_visible_p, display_mode_lines): Respect W's
24334         'mode-line-format' and 'header-line-format' window parameters.
24335         (init_iterator): Use window_wants_modeline and
24336         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
24337         WINDOW_WANTS_HEADER_LINE_P.  For tip frames respect
24338         no_special_glyphs value.
24339         (note_mouse_highlight): Set frame border cursors when on
24340         internal border.
24341         (x_draw_right_divider, x_draw_bottom_divider): Try to improve
24342         drawing of window dividers.
24343         * src/xfns.c (mouse_cursor): Add entries for border parts.
24344         (mouse_cursor_types): Add entries for cursor types to drag
24345         frame borders.
24346         (INSTALL_CURSOR): Add entries for new cursor types to drag
24347         frame borders.
24348         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
24349         (x_frame_parm_handlers): Add entry for
24350         x_set_no_special_glyphs.
24351         (Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
24352         (Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
24353         (Vx_window_right_edge_shape)
24354         (Vx_window_bottom_right_corner_shape)
24355         (Vx_window_bottom_edge_shape)
24356         (Vx_window_bottom_left_corner_shape): New variables.
24357         (x_frame_restack): Call xg_frame_restack only for GTK versions
24358         starting with 2.18.0.
24359         * src/xterm.c (x_free_frame_resources): Remove new cursors for
24360         dragging frame borders.
24361         * src/xterm.h (struct x_output): Add new cursor types for
24362         dragging frame borders.
24364         * doc/lispref/display.texi (Size of Displayed Text): Document
24365         `window-lines-pixel-dimensions'.
24366         * doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
24367         Parameters".
24368         * doc/lispref/frames.texi (Frame Size): Replace
24369         frame-pixel-width/-height by frame-native-width/-height.  Add
24370         frame-inner-width/-height and frame-outer-width/-height docs.
24371         (Position Parameters): Describe specifying position as ratios.
24372         Clarify remark about positions relative to bottom/ridge display
24373         edge.
24374         (Size Parameters): Describe specifying sizes as ratios.
24375         Describe 'fit-frame-to-buffer-margins' and
24376         'fit-frame-to-buffer-sizes' parameters.
24377         (Layout Parameters): Describe 'no-special-glyphs' parameter.
24378         (Frame Interaction Parameters): Describe 'auto-hide-function',
24379         'minibuffer-exit' and 'keep-ratio' parameters.
24380         (Mouse Dragging Parameters): New section describing
24381         'drag-internal-border', 'drag-with-header-line',
24382         'drag-with-mode-line', 'snap-width', 'top-visible' and
24383         'bottom-visible' parameters.
24384         (Management Parameters): Mention that `override-redirect' has
24385         no effect on MS Windows.
24386         (Font and Color Parameters): Mention child frames for `alpha'
24387         parameter.
24388         (Child Frames): Rewrite section with description and cross
24389         references to new frame parameters added.
24390         * doc/lispref/modes.texi (Mode Line Basics): Mention
24391         'mode-line-format' and 'header-line-format' window parameters.
24392         * doc/lispref/windows.texi (Resizing Windows): Mention effect
24393         of `fit-frame-to-buffer-margins' for child frames.
24394         (Display Action Functions): New action function
24395         `display-buffer-in-child-frame'.
24396         (Quitting Windows): Mention `make-frame-invisible' as optional
24397         value of `frame-auto-hide-function' and `auto-hide-function'
24398         frame paameter.
24399         (Coordinates and Windows): Describe new function
24400         `window-largest-empty-rectangle'.
24401         (Window Parameters): Describe new parameters 'mode-line-format'
24402         and 'header-line-format'.  Index all window parameters described
24403         in this section.
24405 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
24407         Adjust lm-verify to accept current notices
24409         Problem reported by Mike Kupfer in:
24410         https://lists.gnu.org/r/emacs-devel/2017-06/msg00512.html
24411         * lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
24412         Do not require later lines in a copyright notice to have more
24413         indentation than earlier lines.
24415 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
24417         Minor change in NEWS.
24419         Improve documentation in NEWS.
24421 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
24423         Move additional hscrolling code into a suitable 'if'
24425         * src/xdisp.c (hscroll_window_tree): Make additional calculations
24426         regarding glyphs produced for line numbers conditional on
24427         line-number display.
24429 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
24431         Partial fix of hscroll of truncated lines with line numbers
24433         * src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
24434         hscroll calculations to line-number display.
24435         * src/term.c (produce_glyphs): Adjust tab stop to window's
24436         hscroll.  These two changes fix horizontal scrolling when line
24437         numbers are displayed.  But there's still a bug: the horizontal
24438         shift of lines that begin with a TAB is different from the rest.
24439         * src/xdisp.c (move_it_in_display_line_to): Call
24440         should_produce_line_number to determine whether a line number
24441         should be produced for this screen line.
24443 2017-06-24  Noam Postavsky  <npostavs@gmail.com>
24445         Don't change byte-compile-delete-errors at runtime (Bug#27340)
24447         * lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
24448         time.
24450 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
24452         Allow Lisp program to disable line-number display for specific lines
24454         * etc/NEWS: Update the documentation.
24456         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
24457         symbol.
24458         (should_produce_line_number): New function.
24459         (display_line): Use should_produce_line_number to determine
24460         whether a line number should be produced for each glyph row.
24462 2017-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
24464         * lisp/net/html2text.el: Move to obsolete/.
24466 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
24468         Support a separate face for displaying the current line's number
24470         * lisp/faces.el (line-number-current-line): New face.
24472         * src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
24473         symbol.
24474         (try_window_id, try_cursor_movement): Disable these optimizations
24475         when the line-number-current-line face is different from
24476         line-number face.
24477         (maybe_produce_line_number): Display the current line in the
24478         line-number-current-line face, if it's different from line-number.
24480 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
24482         Change display of current line in relative mode
24484         * src/xdisp.c (maybe_produce_line_number): In relative mode
24485         display the current line number as its absolute value, not as zero.
24487 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
24489         Rename display-line-width
24491         * etc/NEWS:
24492         * src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
24493         * lisp/cus-start.el: Rename display-line-width to
24494         display-line-number-width.
24496 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
24498         Fix tab stops when line numbers are displayed
24500         * src/xdisp.c (x_produce_glyphs):
24501         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
24502         space taken by the line-number display.
24504 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
24506         Fix crashes on TTY frames due to negative lnum_width.
24508         Don't display line numbers in the minibuffer and in tooltip frames.
24510 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
24512         Fix problems with line-number updates in Follow mode
24514         * src/xdisp.c (redisplay_window): If forced window-start requires
24515         to move a window's point, and the window is under relative
24516         line-number display, force another round of redisplay to update
24517         the relative line numbers.  This fixes follow-mode "redisplay" of
24518         its window group.
24520         * lisp/frame.el: Add display-line-numbers to the list of variables
24521         that should trigger redisplay of the current buffer.
24523 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
24525         Fix display of line numbers with fonts larger than the default
24527         * src/xdisp.c (maybe_produce_line_number): Update the metrics in
24528         IT, not in IT->glyph_row, since the latter gets overwritten in
24529         display_line.  Fixes display of line numbers when the font used
24530         for them is larger than that of the default face.
24532 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
24534         Fix background color beyond EOB and cursor display
24536         * src/xdisp.c:  (maybe_produce_line_number): Use the default face
24537         for background of the blank glyphs in the line-number area which
24538         are drawn beyond EOB.
24539         (display_line): Reset the glyph row's displays_text_p flag only on
24540         empty lines that don't display line numbers.  This fixes cursor
24541         display beyond EOB.  Fix the bidi information in the glyphs
24542         produced for line numbers.  Set the avoid_cursor_p flag of glyphs
24543         produced for line numbers.
24545 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
24547         Fix display of indicate-empty-lines when line numbers are displayed
24549         * src/xdisp.c (row_text_area_empty): New function.
24550         (display_line): Call row_text_area_empty to verify that a glyph
24551         row's text area is devoid of any glyphs that came from a buffer or
24552         a string.  This fixes a bug with empty-lines indication
24553         disappearing when line numbers or line-prefix are displayed.
24554         (display_line): Delete the argument FORCE; all callers changed.
24555         Remove the condition for actually producing the glyphs for the
24556         line number, as even if the number didn't change we need to
24557         produce empty space.
24559 2017-06-23  Vincent Belaïche  <vincentb1@users.sourceforge.net>
24561         Fix symbol relocation when the relocated cell is renamed.
24563         * lisp/ses.el (ses-sym-rowcol):  Check that the renamed cell
24564         hashmap has been instantiated before getting data from it.  When
24565         editing several spreadsheets, and you have spreadsheet #1 with a
24566         cell named `foo', and no renamed cell in spreadsheet #2, then if
24567         you make a formula with `foo' in spreadsheet #2, not doing this
24568         check will make an error.
24569         (ses-cell-set-formula): Robustify versus incorrect cell references
24570         given in the user provided formula.  An explicit error message is
24571         provided after the action when the user gives an incorrect cell
24572         reference, but the formula edition is not changed.  This means that
24573         if the incorrect reference is to a cell that is created someday,
24574         then this new cell will not have the edited cell in its reference
24575         list.  Fixing this can still be done by editing again the first
24576         cell formula.
24577         (ses-relocate-symbol): Do not create symbol of referred-to cell
24578         when this is a renamed cell.
24580 2017-06-23  Rasmus  <rasmus@gmx.us>
24582         Synchronize with the "emacs-sync" branch from Org
24584 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
24586         Remove getc_unlocked configure-time check
24588         * configure.ac (getc_unlocked): Remove check, as unlocked-io now
24589         does this for us.
24591 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
24593         Use unlocked stdio more systematically
24595         This can improve performance significantly on stdio-bottlenecked code.
24596         E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
24597         * admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
24598         * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
24599         * lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
24600         * lib-src/profile.c, lib-src/update-game-score.c:
24601         Include unlocked-io.h instead of stdio.h, since these programs are
24602         single-threaded.
24603         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
24604         * lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
24605         * src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
24606         * src/lread.c, src/term.c:
24607         Include sysstdio.h, possibly instead of stdio.h, to define
24608         the unlocked functions if the system does not provide them.
24609         * src/charset.c, src/lread.c (getc_unlocked):
24610         Remove, since sysstdio.h now defines it if needed.
24611         * src/cm.c (cmputc, cmcheckmagic):
24612         * src/dispnew.c (update_frame, update_frame_with_menu)
24613         (update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
24614         * src/emacs.c (main, Fdump_emacs):
24615         * src/fileio.c (Fdo_auto_save, Fset_binary_mode):
24616         * src/image.c (slurp_file, png_read_from_file, png_load_body)
24617         (our_stdio_fill_input_buffer):
24618         * src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
24619         * src/lread.c (readbyte_from_file):
24620         * src/minibuf.c (read_minibuf_noninteractive):
24621         * src/print.c (printchar_to_stream, strout)
24622         (Fredirect_debugging_output):
24623         * src/sysdep.c (reset_sys_modes, procfs_ttyname)
24624         (procfs_get_total_memory):
24625         * src/term.c (tty_ring_bell, tty_send_additional_strings)
24626         (tty_set_terminal_modes, tty_reset_terminal_modes)
24627         (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
24628         (tty_write_glyphs_with_face, tty_insert_glyphs)
24629         (tty_menu_activate):
24630         * src/xfaces.c (Fx_load_color_file):
24631         Use unlocked stdio when it should be safe.
24632         * src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
24633         (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
24634         (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
24635         (putc_unlocked, putchar_unloced): Provide substitutes if not declared.
24637 2017-06-22  Glenn Morris  <rgm@gnu.org>
24639         * lisp/net/shr.el (shr-fill-text): Actually fill the text.  (Bug#27399)
24641 2017-06-22  Michal Nazarewicz  <mina86@mina86.com>
24643         unidata: don’t check special casing in unidata-check  (bug#26656)
24645         * admin/unidata/unidata-gen.el (unidata-check): Do not test special
24646         casing mapping of characters since that mapping is not constructed from
24647         the unidata.txt file.
24648         Also, check for integer decoder and cons char earlier so that less
24649         unnecessary processing is performed.
24651 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
24653         * lisp/descr-text.el (describe-char): Avoid string-*-multibyte
24655         Avoid string-to-multibyte and string-as-unibyte.
24656         Don't make *Help* unibyte just because the char was in a unibyte buffer.
24658 2017-06-22  Rasmus  <rasmus@gmx.us>
24660         Add Org schemas.xml contents to Emacs schemas.xml
24662         Entries from the Org version of schemas.xml have been added to
24663         the Emacs version of schemas.xml.
24665 2017-06-22  Rasmus  <rasmus@gmx.us>
24667         Update Org to v9.0.9
24669         Please see etc/ORG-NEWS for details.
24671 2017-06-22  Vincent Belaïche  <vincentb1@users.sourceforge.net>
24673         Do not hard code A1 cell reference, as it may be renamed.
24675         * lisp/ses.el (ses-recalculate-all): `A1' -> `(ses-cell-symbol 0 0)'
24677 2017-06-22  Martin Rudalics  <rudalics@gmx.at>
24679         Fix make_hash_table calls in lread.c
24681         * src/lread.c (readevalloop, read_internal_start): Fix
24682         make_hash_table calls to make build succeed.
24684 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
24686         Merge several Lisp reader speedups.
24688 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
24690         Create less garbage to collect while reading symbols.
24692         * src/lread.c (read1): When interning a symbol, only create a new
24693         string object for the name if we're going to use it for a new symbol
24694         object.
24696 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
24698         Replace read_objects assoc list with two hash tables.
24700         For larger input files with lots of shared data structures, an
24701         association list is too slow.
24703         * src/lread.c (read_objects_map, read_objects_completed): New
24704         variables, replacing read_objects.
24705         (readevalloop): Initialize them with hash tables before starting a
24706         top-level read, if they're not already empty hash tables, and reset
24707         them to Qnil afterwards if something was added to the hash tables.
24708         (read_internal_start): Likewise.
24709         (read1): Store first the placeholder and later the newly read object
24710         into read_objects_map under the specified object number.  If the new
24711         object can contain a reference to itself, store it in
24712         read_objects_completed.
24713         (substitute_objects_recurse): Check read_objects_completed instead of
24714         read_objects for the known possibly-recursive objects.
24715         (syms_of_lread): Update initializations.
24717 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
24719         Use getc_unlocked.
24721         * configure.ac: Check for getc_unlocked.
24722         * src/charset.c (read_hex, load_charset_map_from_file): Use
24723         getc_unlocked instead of getc.
24724         (getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
24725         * src/lread.c (readbyte_from_file, Fget_file_char, read1,
24726         getc_unlocked): Likewise.
24728 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
24730         Reduce lread substitutions.
24732         * src/lread.c (read1): After reading an object using the "#n=" syntax,
24733         if the read object is a cons cell, instead of recursively substituting
24734         the placeholder with the new object, mutate the placeholder cons cell
24735         itself to have the correct car and cdr values.
24737 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
24739         Short-circuit substitutions for some simple types.
24741         Values that don't contain other values cannot be circular, so checking
24742         for circular objects is a waste of cycles.
24744         * src/lread.c (substitute_object_recurse): If the subtree being
24745         examined is a symbol, number, or property-less string, just return
24746         it.
24748 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
24750         Limit style_format to MAX_ALLOCA
24752         * src/editfns.c (styled_format): Subtract initial buffer size
24753         from sa_avail, since it is nontrivial.
24755 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
24757         Limit bidi_find_bracket_pairs to MAX_ALLOCA
24759         * src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
24760         Shrink it to allow for the two struct bidi_it objects in
24761         the same frame.
24762         (PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
24763         (bidi_find_bracket_pairs): Use compile-time check instead of runtime.
24765 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
24767         Limit insert-file-contents to MAX_ALLOCA
24769         * src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
24770         MAX_ALLOCA bytes in a single stack array.
24772 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
24774         Remove malloc_find_address relic
24776         * src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
24777         Omit unnecessary initialization.
24779 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
24781         Fix temacs hybrid_malloc core dump
24783         Without this patch, ./temacs would dump core sometimes on Fedora
24784         25 x86-64.  The problem was that the hybrid allocator assumed that
24785         all pointers into bss_sbrk_buffer are allocated via gmalloc.  This
24786         assumption is not true on Fedora, because the standard memory
24787         allocator calls gdefault_morecore, which means its blocks are
24788         interleaved with our blocks.  Usually the code happened to work,
24789         because our data structures agreed with the glibc data structures,
24790         but this was merely luck due to a shared pedigree, and as glibc
24791         mutates our luck has run out.
24792         * src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [HYBRID_MALLOC]:
24793         Remove; no longer needed.
24794         (BLOCK): Use unsigned division, as that does the right thing near zero.
24795         (register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
24796         (_realloc_internal_nolock):
24797         Big blocks now have type -1, not 0, as 0 now means the block is
24798         not ours.
24799         (morecore_nolock): Omit now-unnecessary casts to size_t.
24800         (allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
24801         (hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
24802         avoid calling the wrong free or realloc function in some cases.
24804 2017-06-21  Katsumi Yamaoka  <yamaoka@jpl.org>
24806         Make gnus-article-date-user work
24808         * lisp/gnus/gnus-art.el (article-date-ut):
24809         Work for unfolded multi-line Date header.
24810         (article-transform-date):
24811         Refactor; add header name if it is missing in user-defined date line.
24812         (article-date-user): Fix name of date type.
24814 2017-06-21  Noam Postavsky  <npostavs@gmail.com>
24816         Keep order of completion candidates (Bug#25995, Bug#24676)
24818         * lisp/minibuffer.el (completion-pcm--filename-try-filter)
24819         (completion-pcm--all-completions): Use nreverse to undo the reversing
24820         caused by using push in the loop.
24822 2017-06-21  Glenn Morris  <rgm@gnu.org>
24824         * src/lread.c (syms_of_lread) <load-history>: Doc fix.
24826 2017-06-21  Alex Gramiak  <agrambot@gmail.com>
24828         Mark prolog indent variables as safe (bug#27369)
24830         * lisp/progmodes/prolog.el (prolog-indent-width)
24831         (prolog-left-indent-regexp, prolog-paren-indent-p)
24832         (prolog-paren-indent): Add :safe property.
24834 2017-06-20  Simen Heggestøyl  <simenheg@gmail.com>
24836         Remove `:options' from `css-electric-keys'
24838         * lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
24839         since it just duplicates the default value.
24841 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
24843         Fix crash when built by GNU Gold linker on x86
24845         Problem reported by Andrés Musetti (Bug#27248).
24846         * src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
24847         (emacsFrameClass): Now a function (which initializes the
24848         superclass) instead of a variable.  All uses changed.
24850 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
24852         Simplify autogen.sh version checking
24854         * autogen.sh (get_version): Simplify and make more reliable
24855         by using expr rather than echo | sed.  Check exit status of program.
24856         Run program in subshell in case it cannot be executed.
24857         (check_version): Check exit status of command rather than its output.
24858         Check return status of get_version.
24860 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
24862         Delete old Date header in a simple way
24864         * lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
24865         when searching the old Date header boundary in order to delete it.
24867 2017-06-20  Bastien  <bzg@gnu.org>
24869         Revert "Don't bind org-agenda key to an anonymous function"
24871         This reverts commit 49c0ff29c2e0243ba35ec17e3e3af49369be43db.
24873 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
24875         Bind enable-local-variables to nil globally (fix dbe3e41)
24877         * lisp/gnus/mm-view.el (mm-display-inline-fontify):
24878         Bind enable-local-variables to nil globally instead of making it
24879         buffer-local; remove let-bind of local-enable-local-variables.
24880         cf. <b4mtw3bbfp5.fsf@jpl.org> in the emacs-devel list.
24882 2017-06-20  Glenn Morris  <rgm@gnu.org>
24884         kill-matching-buffers to optionally not confirm
24886         * lisp/files.el (kill-matching-buffers):
24887         Add option to not confirm killing.  (Bug#27286)
24889 2017-06-20  Glenn Morris  <rgm@gnu.org>
24891         * lisp/files.el (local-enable-local-variables): Doc fix.
24893 2017-06-20  Glenn Morris  <rgm@gnu.org>
24895         autogen.sh: try to check for tool being present but broken
24897         * autogen.sh (get_version): Check return status of "--version".
24898         (check_version): Try to distinguish between a missing tool
24899         and a broken one.  (Bug#27288)
24901 2017-06-19  Glenn Morris  <rgm@gnu.org>
24903         Avoid a custom-variable-type error (bug#27363)
24905         * lisp/cus-edit.el (custom-variable-type):
24906         Avoid an error due to plist-put becoming stricter of late.
24908 2017-06-19  Glenn Morris  <rgm@gnu.org>
24910         Don't put deleted packages in the trash (bug#14967)
24912         * lisp/emacs-lisp/package.el (package-delete):
24913         Don't pay attention to delete-by-moving-to-trash.
24915 2017-06-19  Nicolas Petton  <nicolas@petton.fr>
24917         Revert "Add current-line in simple.el"
24919         This reverts commit ae98cdf9431604d0f722f1db217ca06debfbb7b6.
24921 2017-06-19  Damien Cassou  <damien@cassou.me>
24923         Add current-line in simple.el
24925         * lisp/simple.el (current-line): New function.
24926         * test/lisp/simple-tests.el: Add tests for current-line.
24928 2017-06-19  Katsumi Yamaoka  <yamaoka@jpl.org>
24930         Don't try to eval local variables in Gnus article
24932         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.
24934 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
24936         Fix emacs-module.h cleaning
24938         * src/Makefile.in (clean): Do not remove emacs-module.h.in.
24939         (bootstrap-clean): Remove emacs-module.h.
24941 2017-06-18  Andreas Schwab  <schwab@linux-m68k.org>
24943         * lisp/url/url-util.el (url-get-url-at-point): Add missing group
24944         in regex.
24946 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
24948         * lib/gettext.h: Merge from gnulib.
24950 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
24952         Merge from gnulib
24954         This (and my previous patch) incorporate:
24955         2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
24956         2017-06-15 gettext-h: Update comment
24957         * lib/diffseq.h: Copy from gnulib.
24959 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
24961         * test/Makefile.in: Don't suppress test failure for single tests.
24963 2017-06-17  Philipp Stephani  <phst@google.com>
24965         emacs-module.h: Create emacs_env_26
24967         This was part of the original design of the module
24968         API (https://lists.gnu.org/r/emacs-devel/2015-02/msg00960.html),
24969         but I didn't take it into account when adding the should_quit
24970         function.
24972         Instead of duplicating the environment fields or using the C
24973         preprocessor, use configure to build emacs-module.h.
24975         * configure.ac: Expand emacs-module.h template.
24977 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
24979         Improve documentation of replace-buffer-contents
24981         * etc/NEWS (replace-buffer-contents): Fix formatting.
24983         * src/editfns.c (Freplace_buffer_contents): Doc fix.
24985 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
24987         Finish up native display of line numbers
24989         * src/xdisp.c (maybe_produce_line_number): Produce a blank before
24990         the number, for R2L rows.  Increment 'g' in the loop even if
24991         glyph_row is NULL.  Accept 2nd argument FORCE and produce the
24992         line-number glyphs if it is non-zero.
24993         (move_it_in_display_line_to): Account for the space taken by the
24994         line-number glyphs.  Call maybe_produce_line_number with 2nd
24995         argument non-zero.
24996         (set_cursor_from_row): Fix calculation of cursor X coordinate in
24997         R2L rows with display-produced glyphs at the beginning.
24998         (syms_of_xdisp) <line-number>: New face symbol.
24999         <relative, display-line-width>: New symbols.
25000         (maybe_produce_line_number): Use the line-number face for
25001         displaying line numbers.  Support relative line-number display.
25002         Support user-defined width for displaying line numbers.
25003         (try_cursor_movement, try_window_id): Disable these optimizations
25004         when displaying relative line numbers.
25005         * src/dispextern.h (struct it): New member 'pt_lnum'.
25007         * lisp/faces.el (line-number): New face.
25008         * lisp/cus-start.el (standard): Provide customization forms for
25009         display-line-numbers and display-line-width.
25010         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
25011         turn display-line-numbers on and off.
25013         * etc/NEWS: Document the new feature.
25015 2017-06-17  Philipp Stephani  <phst@google.com>
25017         Allow local variables section to begin with a square bracket
25019         Fixes Bug#27391.
25021         * lisp/international/mule.el (find-auto-coding): Fix regular
25022         expression for "Local Variables" section.
25024         * test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
25025         Add unit test.
25027 2017-06-17  Philipp Stephani  <phst@google.com>
25029         Remove unnecessary point motion
25031         * src/editfns.c (Freplace_buffer_contents): Remove unnecessary point
25032         motion.
25034 2017-06-17  Philipp Stephani  <phst@google.com>
25036         Add command to replace buffer contents
25038         Add a new command 'replace-buffer-contents' that uses the Myers diff
25039         algorithm to non-destructively replace the accessible portion of the
25040         current buffer.  The Myers algorithm is implemented in Gnulib.
25042         * src/editfns.c (Freplace_buffer_contents): New command.
25043         (set_bit, bit_is_set, buffer_chars_equal): New helper functions.
25044         (syms_of_editfns): Define new command.
25046         * test/src/editfns-tests.el (replace-buffer-contents-1)
25047         (replace-buffer-contents-2): New unit tests.
25049         * src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.
25051         * admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
25053 2017-06-17  Andreas Schwab  <schwab@linux-m68k.org>
25055         * lisp/international/characters.el: Update list of zero and full
25056         width characters according to Unicode 9.0.0.
25058 2017-06-17  Simen Heggestøyl  <simenheg@gmail.com>
25060         Complete CSS property values less eagerly (Bug#27392)
25062         * lisp/textmodes/css-mode.el (css--complete-property-value): Be less
25063         eager by looking for a colon after the property which values are being
25064         completed for.
25066         * test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
25067         Add a test case ensuring that properties that are prefixes of other
25068         properties don't hinder further completion.
25070 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
25072         Handle integer indices for eshell variables (Bug#26055)
25074         * lisp/eshell/esh-var.el (eshell-index-value): Convert index to number
25075         if it's been marked as one, just like `eshell-lisp-command' does.
25077 2017-06-17  Mark Oteiza  <mvoteiza@udel.edu>
25079         Don't bind org-agenda key to an anonymous function
25081         * lisp/org/org-agenda.el: Bind "g" to named command.
25082         (org-agenda-redo-all): New command.  Extend the previous functionality
25083         through a prefix argument.
25085 2017-06-17  Dmitry Gutov  <dgutov@yandex.ru>
25087         Add test for the fix in the parent commit
25089         * test/src/undo-tests.el (undo-test-skip-invalidated-markers):
25090         New test, for the fix in the parent commit.
25092 2017-06-17  Nitish Chandra  <nitishchandrachinta@gmail.com>  (tiny change)
25094         primitive-undo: Update only the currently valid markers
25096         * lisp/simple.el (primitive-undo):
25097         Update only the currently valid markers (bug#25599).
25099 2017-06-16  Eli Zaretskii  <eliz@gnu.org>
25101         Initial version of native display of line numbers
25103         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: New
25104         buffer-local variable.
25105         Include <math.h>.
25106         (maybe_produce_line_number): New function.
25107         (DISP_INFINITY): Rename from INFINITY, since math.h defines INFINITY.
25108         (try_window_reusing_current_matrix): Don't use this method when
25109         display-line-numbers is in effect.
25110         * src/dispextern.h (struct it): New members 'lnum'.
25112 2017-06-16  Philipp Stephani  <phst@google.com>
25114         Correctly detect URLs surrounded by parentheses in comments
25116         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url):
25117         Make parentheses match work inside comments.
25119         * test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add
25120         unit test.
25122 2017-06-16  Michael Albinus  <michael.albinus@gmx.de>
25124         Fix load-path issue when it contains remote directories
25126         * lisp/net/tramp.el (tramp-file-name-handler): Use `autoloadp'.
25127         (tramp-use-absolute-autoload-file-names): New defun.  Call it
25128         after loading tramp.el.
25130         * test/lisp/net/tramp-tests.el (tramp-test38-remote-load-path):
25131         New test.
25132         (tramp-test39-unload): Rename.
25134 2017-06-16  Alan Mackenzie  <acm@muc.de>
25136         Ensure C++ initializer lists don't get fontified.
25138         * lisp/progmodes/cc-cmds.el (c-block-comment-flag): Move declaration to solve
25139         compiler warning.
25141         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add an extra
25142         clause to handle C++ member initialization lists.
25143         (c-font-lock-single-decl): New function, extracted from
25144         c-font-lock-declarations.
25145         (c-font-lock-declarations): Call c-font-lock-single-decl in place of inline
25146         code.
25147         (c-font-lock-cut-off-declarators): Make more rigorous by calling
25148         c-get-fontification-context, c-forward-decl-or-cast-1, and
25149         c-font-lock-single-decl in place of rather approximate code.
25151 2017-06-16  Alan Mackenzie  <acm@muc.de>
25153         Fix hang in CC Mode when ":" is typed after identifier at EOB.
25155         * lisp/progmodes/cc-engine.el (c-forward-declarator): Fix coding error
25156         confusing ":" and EOB.
25158 2017-06-15  Alan Mackenzie  <acm@muc.de>
25160         Create a toggle between block and line comments in CC Mode.
25162         Also (unrelated change) initialize the modes' keymaps at each loading.
25164         * lisp/progmodes/cc-cmds.el (c-update-modeline): amend for the new information
25165         on the modeline.
25166         (c-block-comment-flag): New variable.
25167         (c-toggle-comment-style): New function.
25169         * lisp/progmodes/cc-langs.el (c-block-comment-starter)
25170         (c-line-comment-starter): Make them c-lang-defvars.
25171         (c-block-comment-is-default): New c-lang-defvar.
25172         (comment-start, comment-end): Make the default values dependent on
25173         c-block-comment-is-default.
25175         * lisp/progmodes/cc-mode.el (c-mode-base-map): Define C-c C-k in this map.
25176         (c-basic-common-init): Initialize c-block-comment-flag.
25177         (c-mode-map, c++-mode-map, objc-mode-map, java-mode-map, idl-mode-map)
25178         (pike-mode-map, awk-mode-map): Make entries in these key maps each time the
25179         mode is loaded rather than just once per Emacs session.
25181         * doc/misc/cc-mode.texi (Comment Commands): Introduce the notion of comment
25182         style.
25183         (Minor Modes): Define comment style.  Describe how comment style influences
25184         the information displayed on the modeline.  Document c-toggle-comment-style.
25185         (FAQ): Add a question about toggling the comment style.
25187 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
25189         Pacify clang without munging C source
25191         * configure.ac (WARN_CFLAGS): With Clang, use
25192         -Wno-tautological-compare regardless of --enable-gcc-warnings.
25193         (WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
25194         * lib/strftime.c: Copy from gnulib, reverting Clang-specific
25195         change which I hope is no longer needed.
25196         * src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
25197         some older non-POSIX hosts.
25199 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
25201         No need to complicate make-docfile.c for Clang
25203         * lib-src/make-docfile.c (put_filename): Undo recent change.
25204         The Clang false alarm occurs only with CFLAGS=-save-temps and
25205         we needn’t worry about pacifying unusual compiler configurations.
25207 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
25209         Port './configure CC=clang' to Fedora 25
25211         * configure.ac (HAVE_IMAGEMAGICK): Disable if even a
25212         standard function like MagickRelinquishMemory does not link.
25214 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
25216         Don’t worry about __STDC_VERSION__ in emacs-module
25218         * src/emacs-module.h: Remove __STDC_VERSION__ check.  In the past
25219         we’ve found that some compilers do not define this symbol even
25220         when they work well enough.  If necessary features like stdbool.h
25221         are missing the compiler will complain eventually anyway.
25223 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
25225         Port cleanup check to Oracle Studio 12.5
25227         * src/conf_post.h (__has_attribute_cleanup): Resurrect.
25228         * src/emacs-module.c: Verify __has_attribute (cleanup), but in an
25229         #if this time.
25231 2017-06-14  Bastien  <bzg@gnu.org>
25233         Fix misformatted changelog entry
25235 2017-06-14  Eli Zaretskii  <eliz@gnu.org>
25237         Avoid compiler warning in image.c on MS-Windows
25239         * src/image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Avoid
25240         compilation warning under -Warray-bounds by temporarily disabling
25241         the -Warray-bounds option.
25243 2017-06-14  Michael Albinus  <michael.albinus@gmx.de>
25245         Fix Bug#27315
25247         * lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
25248         New defvar.
25249         (top): Use it.
25251         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
25252         Check for connected, not for connectable.  (Bug#27315)
25253         (tramp-process-actions):
25254         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
25255         Use `tramp-cache-read-persistent-data'.
25257         * test/lisp/net/tramp-tests.el (top): Set also
25258         `tramp-cache-read-persistent-data'.
25260 2017-06-14  Noam Postavsky  <npostavs@gmail.com>
25262         Give a fixed default value for icomplete-prospects-height (Bug#26939)
25264         * lisp/icomplete.el (icomplete-prospects-height): Default to 2.
25265         (icomplete-prospects-length): Remove.
25266         * etc/NEWS: Announce removal.
25268 2017-06-14  Philipp Stephani  <phst@google.com>
25270         Remove some tautological comparisons involving rlim_t
25272         Clang on macOS warns about these with -Wtautological-compare.  POSIX
25273         guarantees that rlim_t is
25274         unsigned (cf.
25275         http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
25276         so these resource limits can never be negative.
25278         * src/emacs.c (main): Remove tautological comparisons.
25280 2017-06-14  Philipp Stephani  <phst@google.com>
25282         Use --module-assertions if modules are available
25284         Using --module-assertions helps us find bugs in the test module.  But
25285         we can use it only if Emacs was compiled with module support.
25287         * test/Makefile.in (MODULES_EMACSOPT): New variable.
25288         (emacs): Use it.
25290 2017-06-14  Philipp Stephani  <phst@google.com>
25292         Define --module-assertions only of modules are available
25294         Fixes Bug#27352.
25296         * src/emacs.c (usage_message, standard_args): Define
25297         --module-assertions only if Emacs has been compiled with module
25298         support.
25300 2017-06-14  Katsumi Yamaoka  <yamaoka@jpl.org>
25302         gnus-article-read-summary-keys: Don't move point for WDD and WDW commands
25304         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys):
25305         No need to restore window config for WDD and WDW commands.
25307 2017-06-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
25309         lisp/net/soap-client.el: Bump version to 3.1.3
25311         * lisp/net/soap-client.el: Bump version to 3.1.3.
25312         (soap-name-p): Fix checkdoc issue.
25314 2017-06-14  Alex Harsanyi  <AlexHarsanyi@gmail.com>
25316         Fix an HTTP encoding error in soap-client.el
25318         * lisp/net/soap-client.el (soap-invoke-internal): Make
25319         SOAPAction header a UTF-8 encoded string.
25321 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
25323         Port cleanup attribute to Oracle Studio 12.5
25325         * INSTALL (--with-modules): List cleanup attribute as prereq.
25326         * src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
25327         * src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
25328         (__has_attribute (cleanup)), as Oracle Studio 12.5 supports
25329         __has_attribute only inside preprocessor expressions.  The C
25330         compiler should check the cleanup attribute in the next line anyway.
25331         (module_reset_handlerlist): Remove an unnecessary ‘const’
25332         that causes Oracle Studio 12.5 to refuse to compile.
25334 2017-06-14  Glenn Morris  <rgm@gnu.org>
25336         Fix running tests in without-modules builds
25338         * test/Makefile.in (EMACSOPT): Remove option that is only defined
25339         with-modules.  emacs-module-tests.el passes it where needed.
25341 2017-06-13  Glenn Morris  <rgm@gnu.org>
25343         * test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.
25345 2017-06-13  Philipp Stephani  <phst@google.com>
25347         Inline test module Makefile into main test Makefile
25349         The test/data/emacs-module/Makefile only built a single target, and
25350         inlining it into test/Makefile simplifies dependency tracking and
25351         reduces code duplication.
25353         * configure.ac: Don't build test/data/emacs-module/Makefile.
25355         * Makefile.in ($(test_module)): Inline compilation.
25356         (clean): Also clean test module outputs.
25358 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
25360         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.
25362 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
25364         Minor tweaks in Tramp manual
25366         * doc/misc/trampver.texi: Add prefixwithspace flag.
25368         * doc/misc/tramp.texi (Password handling): Harmonize example.
25369         (File name completion): Use prefixwithspace flag.
25370         (Frequently Asked Questions): Explain `tramp-histfile-override'.
25372 2017-06-13  Philipp Stephani  <phst@google.com>
25374         Silence two Clang warnings by introducing additional local variables
25376         * lib/strftime.c (libc_hidden_def):
25377         * lib-src/make-docfile.c (put_filename): Introduce local variables to
25378         silence Clang warnings.
25380 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
25382         Fix wrong indentation after string literal (Bug#27306)
25384         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-state)
25385         (lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead.
25386         * test/lisp/emacs-lisp/lisp-mode-tests.el
25387         (lisp-indent-region-after-string-literal): New test.
25389 2017-06-13  Philipp Stephani  <phst@google.com>
25391         Fix version checks for emacs-module.h
25393         We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we
25394         don't need it at all.
25396 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
25398         Buttonize #<bytecode> part of printed functions (Bug#25226)
25400         * lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'.
25401         (cl-print-compiled-button): New variable.
25402         (help-byte-code): New button type, calls `disassemble' in its action.
25403         (cl-print-object): Use it if `cl-print-compiled-button' is
25404         non-nil.
25406 2017-06-12  Philipp Stephani  <phst@google.com>
25408         Print module structure sizes when initializing test module
25410         * test/data/emacs-module/mod-test.c (emacs_module_init): Print
25411         compile-time and runtime sizes of module structures to ease debugging
25413 2017-06-12  Glenn Morris  <rgm@gnu.org>
25415         Small portability fix for emacs-module.h (bug#27346)
25417         * src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]:
25418         Avoid 'error: missing binary operator before token "("'.
25420 2017-06-12  Glenn Morris  <rgm@gnu.org>
25422         Give a more informative failure in module assertion test
25424         * test/src/emacs-module-tests.el (module--test-assertions):
25425         Rephrase final check to give a more informative failure.
25427 2017-06-12  Philipp Stephani  <phst@google.com>
25429         Fix off-by-one error
25431         * test/data/emacs-module/mod-test.c (emacs_module_init): Fix
25432         off-by-one error.
25434 2017-06-12  Glenn Morris  <rgm@gnu.org>
25436         Clean up after module assertion tests
25438         * test/src/emacs-module-tests.el (module--test-assertions):
25439         Use a temporary directory to contain any core dumps.
25441 2017-06-12  Glenn Morris  <rgm@gnu.org>
25443         Small improvement for module assertion test
25445         * test/src/emacs-module-tests.el (module--test-assertions):
25446         Don't rely on the precise form of an "Abort" message.
25448 2017-06-12  Glenn Morris  <rgm@gnu.org>
25450         Improve previous test/data/emacs-module/Makefile change
25452         * test/data/emacs-module/Makefile.in (clean):
25453         Avoid doing unpleasant things if run in a build without modules.
25455 2017-06-12  Glenn Morris  <rgm@gnu.org>
25457         Small improvements for test/data/emacs-module/Makefile
25459         * test/data/emacs-module/Makefile.in (%.o):
25460         Fix emacs-module dependency.
25461         (SECONDARY): Stop make automatically deleting *.o.
25462         (clean): New rule.
25464 2017-06-12  Glenn Morris  <rgm@gnu.org>
25466         * make-dist: Skip some more generated files in test/.
25468 2017-06-12  Alan Third  <alan@idiocy.org>
25470         Note how fullscreen differs on the NS port
25472         doc/lispref/frames.texi (Size Parameters):
25473         doc/emacs/frames.texi (Tool Bars): Add a description of how macOS
25474         hides the tool-bar and menu-bar in fullscreen.
25476 2017-06-12  Alan Third  <alan@idiocy.org>
25478         Add no-focus-on-map to NS build (bug#25408)
25480         * src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map.
25481         (x-create-frame): Check for no-focus-on-map.
25482         * src/nsterm.h (x_set_no_focus_on_map): New function.
25483         * src/nsterm.m (x_set_no_focus_on_map): New function.
25484         (ns_raise_frame): Add parameter for specifying whether to focus the
25485         frame.
25486         (ns_frame_raise_lower):
25487         (x_make_frame_visible): Handle new parameter for ns_raise_frame.
25489 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
25491         _Noreturn not noreturn
25493         _Noreturn is more portable to non-C11 platforms.  See:
25494         https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html
25495         * src/emacs-module.c: Use _Noreturn, not noreturn.  No need to
25496         include <stdnoreturn.h>.  Reindent to fit in 80 columns.
25498 2017-06-12  Glenn Morris  <rgm@gnu.org>
25500         Update make-dist for recent test/ changes
25502         * make-dist: No longer distribute test/data/emacs-module/Makefile.
25504 2017-06-12  Michael Albinus  <michael.albinus@gmx.de>
25506         Handle port and domain in Tramp's password cache
25508         * doc/misc/tramp.texi (Password handling): Explain port and
25509         domain handling in authinfo.
25511         * lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd):
25512         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword):
25513         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
25514         (tramp-maybe-open-connection):
25515         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
25516         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
25517         (tramp-smb-maybe-open-connection): Handle also domain and port.
25519 2017-06-12  Eli Zaretskii  <eliz@gnu.org>
25521         Avoid compilation warnings with pre-C99 libc
25523         * src/emacs-module.c (module_free_global_ref)
25524         (module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD'
25525         instead of C99 't' format descriptor.
25527 2017-06-12  Philipp Stephani  <phst@google.com>
25529         Flush all output streams before aborting
25531         Maybe the stdout buffer still contains something interesting that
25532         should be flushed.
25534         * src/emacs-module.c (module_abort): Flush all output streams before
25535         aborting.
25537 2017-06-12  Philipp Stephani  <phst@google.com>
25539         Remove an assertion that doesn't test Emacs invariants
25541         * src/emacs-module.c (module_copy_string_contents): Remove an
25542         assertion that doesn't test Emacs invariants.
25544 2017-06-12  Philipp Stephani  <phst@google.com>
25546         Test module: add necessary version checks
25548         * test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary
25549         version checks.
25551 2017-06-12  Philipp Stephani  <phst@google.com>
25553         Use additional CFLAGS from configure
25555 2017-06-12  Philipp Stephani  <phst@google.com>
25557         Use Autoconf to generate the test module Makefile
25559         This makes it easier to pass compilation flags around.
25561         * configure.ac: Also build test module Makefile.
25563         * test/data/emacs-module/Makefile.in: New makefile template.
25565         * test/Makefile.in ($(test_module)): No longer necessary to pass
25566         @MODULES_SUFFIX@ around.
25568         * .gitignore: Test module Makefile can now be ignored.
25570 2017-06-12  Philipp Stephani  <phst@google.com>
25572         Also compile test module as C11
25574         * test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11
25576 2017-06-12  Philipp Stephani  <phst@google.com>
25578         Implement module assertions for users
25580         Add a new command-line option '-module-assertions' that users can
25581         enable developing or debugging a module.  If this option is present,
25582         Emacs performs additional checks to verify that modules fulfill their
25583         requirements.  These checks are expensive and crash Emacs if modules
25584         are invalid, so disable them by default.
25586         This is a command-line option instead of an ordinary variable because
25587         changing it while Emacs is running would cause data structure
25588         imbalances.
25590         * src/emacs.c (main): New command line option '-module-assertions'.
25592         * src/emacs-module.c (module_assert_main_thread)
25593         (module_assert_runtime, module_assert_env, module_assert_value):
25594         New functions to assert module requirements.
25595         (syms_of_module): New uninterned variable 'module-runtimes'.
25596         (init_module_assertions, in_main_thread, module_abort): New helper
25597         functions.
25598         (initialize_environment): Initialize value list.  If assertions are
25599         enabled, use a heap-allocated environment object.
25600         (finalize_environment): Add assertion that environment list is never
25601         empty.
25602         (finalize_runtime_unwind): Pop module runtime object stack.
25603         (value_to_lisp): Assert that the value is valid.
25604         (lisp_to_value): Record new value if assertions are enabled.
25605         (mark_modules): Mark allocated object list.
25606         (MODULE_FUNCTION_BEGIN_NO_CATCH)
25607         (module_non_local_exit_check, module_non_local_exit_clear)
25608         (module_non_local_exit_get, module_non_local_exit_signal)
25609         (module_non_local_exit_throw): Assert thread and environment.
25610         (module_get_environment): Assert thread and runtime.
25611         (module_make_function, module_funcall, module_intern)
25612         (module_funcall, module_make_integer, module_make_float)
25613         (module_make_string, module_make_user_ptr, module_vec_get)
25614         (funcall_module, Fmodule_load): Adapt callers.
25615         (module_make_global_ref): If assertions are enabled, use the global
25616         environment to store global values.
25617         (module_free_global_ref): Remove value from global value list.
25619         * test/Makefile.in (EMACSOPT): Enable module assertions when testing
25620         modules.
25622         * test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
25623         (Fmod_test_invalid_load): New functions to test module assertions.
25624         (emacs_module_init): Bind the new functions.
25626         * test/src/emacs-module-tests.el (mod-test-emacs): New constant for
25627         the Emacs binary file.
25628         (mod-test-file): New constant for the test module file name.
25629         (module--test-assertions): New unit test.
25631 2017-06-12  Philipp Stephani  <phst@google.com>
25633         emacs-module: Use __attribute__((nonnull))
25635         Annotate all parameters with __attribute__((nonnull)) that may not be
25636         NULL.
25638 2017-06-12  Philipp Stephani  <phst@google.com>
25640         Explicitly require C11 or C++11 in emacs-module.h
25642         We already implicitly require them by including stdbool.h.  Just make
25643         the error message a bit clearer, and remove an unnecessary version
25644         comparison.
25646 2017-06-12  Philipp Stephani  <phst@google.com>
25648         Add missing 'require' forms to prevent compiler warnings.
25650         * lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing
25651         requirements.
25653 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
25655         Merge from gnulib
25657         This incorporates:
25658         2017-06-11 getopt-posix: port to glibc 2.25.90
25659         2017-06-04 same-inode: port better to VMS 8.2 and later
25660         * doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
25661         * m4/sys_types_h.m4: Copy from gnulib.
25663 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
25665         Remove Lisp_Misc_Float
25667         * src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float.
25668         * src/lisp.h (Lisp_Misc_Float): Remove.  This placeholder has been
25669         unused for two decades; if we ever want to change floats to be a
25670         misc type we can bring it back then.
25672 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
25674         Make two symbols private to emacs-module.c
25676         * src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION):
25677         Move from here ...
25678         * src/emacs-module.c: ... to here.
25680 2017-06-12  Glenn Morris  <rgm@gnu.org>
25682         Merge from origin/emacs-25
25684         da62c1532e4 (origin/emacs-25) Improve the documentation of filesets
25686 2017-06-12  Glenn Morris  <rgm@gnu.org>
25688         Merge from origin/emacs-25
25690         e80f6a210b0 Describe problems with Microsoft Intellipoint
25691         a73ec1edb07 More accurate documentation of the ':box' face attribute
25693 2017-06-12  Glenn Morris  <rgm@gnu.org>
25695         Merge from origin/emacs-25
25697         eaa00584ceb Improve documentation of 'gnutls-verify-error'
25698         908498cc01b ; etc/PROBLEMS: Describe GTK-related crashes on elementar...
25699         741daec617e ; Describe the problem with ksh when resizing shell window
25701 2017-06-11  Michael Albinus  <michael.albinus@gmx.de>
25703         Some further improvements for tramp-gvfs.el
25705         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
25706         (tramp-gvfs-get-file-attributes)
25707         (tramp-gvfs-maybe-open-connection): Handle davs? properly.
25708         (tramp-gvfs-handler-askquestion): Improve `yes-or-no-p' prompt.
25709         Show question also in batch mode.  Cache result.
25711         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
25712         Support completion for host names and ports.
25714 2017-06-11  Simen Heggestøyl  <simenheg@gmail.com>
25716         Fix highlighting of CSS selectors with double hyphens
25718         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
25719         highlighting of selectors that contain double hyphens.  They would be
25720         mistaken for a variable.
25722 2017-06-11  Philipp Stephani  <phst@google.com>
25724         Support threads in modules
25726         Rather than checking for the main thread, check for the current
25727         thread.
25729         * src/emacs-module.c (check_thread): New function.
25730         (MODULE_FUNCTION_BEGIN_NO_CATCH, module_get_environment)
25731         (module_non_local_exit_check, module_non_local_exit_clear)
25732         (module_non_local_exit_get, module_non_local_exit_signal)
25733         (module_non_local_exit_throw, module_is_not_nil, module_eq): Use it.
25735 2017-06-11  Philipp Stephani  <phst@google.com>
25737         Allow non-local exits in module initializers
25739         Previously signals, throws, and quits from module initialization
25740         functions were ignored.  These function aren't special, and better
25741         errors can be reported using signals than with the initialization
25742         return code, so allow non-local exits.
25744         * src/emacs-module.c (module_signal_or_throw): New helper function.
25745         (Fmodule_load, funcall_module): Use it.
25746         (Fmodule_load): Also allow quitting.
25748 2017-06-11  Noam Postavsky  <npostavs@gmail.com>
25750         Let eshell/sudo handle absolute command names (Bug#27167)
25752         * lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
25753         absolute paths into relative ones.
25755 2017-06-10  Alan Third  <alan@idiocy.org>
25757         Don't wait for toolbar in NS native fullscreen
25759         * src/nsterm.m (EmacsView:updateFrameSize): Don't short-circuit the
25760         function when in fullscreen.
25762 2017-06-10  Alexander Gramiak  <agrambot@gmail.com>
25764         Fix the placement of GTK menus on multi-monitor systems
25766         menu_position_func did not properly use the current monitor's
25767         resolution.  Also see commit '2016-02-06 22:12:53 +0100'.
25769         * lisp/frame.el (frame-monitor-attribute, frame-monitor-geometry)
25770         (frame-monitor-workarea): New functions.
25772         * src/xmenu.c (menu_position_func): Take into account the workarea of
25773         the monitor that contains the mouse.  (Bug#23568)
25775 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
25777         Clarify documentation of 'face-spec-set'
25779         * lisp/faces.el (face-spec-set): Clarify the description of
25780         SPEC-TYPE in the doc string.
25782         * doc/lispref/display.texi (Defining Faces): Clarify the
25783         description of 'face-spec-set's SPEC-TYPE argument.  (Bug#27246)
25785 2017-06-10  Michael Albinus  <michael.albinus@gmx.de>
25787         Fix domain port and handling in tramp-gvfs.el
25789         * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
25790         Return nil if BYTE-ARRAY is nil.
25791         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
25792         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
25793         Fix domain and port handling.
25795         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
25796         Ignore errors.
25798 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
25800         Improve documentation of 'face-spec-set-2'
25802         * lisp/faces.el (face-spec-recalc, face-spec-set-2): Rename 'spec'
25803         to 'face-attrs'.
25804         (face-spec-choose, face-spec-set-2): Doc fix.  (Bug#27238)
25806 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
25808         Fix handling of Python/Guile commands with arguments in gdb-mi.el
25810         * lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp): New
25811         variable.
25812         (gdb-control-commands-regexp): Use it.
25813         (gdb-send): Don't increment gdb-control-level if the command
25814         matches gdb-python-guile-commands-regexp and has non-empty
25815         arguments.  Reported by David Boles <boles@ieee.org> in
25816         https://lists.gnu.org/r/emacs-devel/2017-06/msg00009.html.
25818 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
25820         Preserve point in Dired windows under 'dired-auto-revert-buffer'
25822         * lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
25823         is non-nil, bind switch-to-buffer-preserve-window-point to nil
25824         while calling find-file.  (Bug#27243)
25826 2017-06-09  Philipp Stephani  <phst@google.com>
25828         Give test files a -tests.el suffix
25830         Rename a couple of test files that have the same name as the library
25831         they test.  This harmonizes the naming pattern and makes it possible
25832         to have the tests directories in the load path.
25834 2017-06-09  Philipp Stephani  <phst@google.com>
25836         Fix another compiler warning on macOS
25838         * src/image.c (x_query_frame_background_color): Don't define if we
25839         have NextStep but no image support.
25841 2017-06-09  Philipp Stephani  <phst@google.com>
25843         Add garbage collection support for module environments
25845         * src/emacs-module.c (mark_modules): New function.
25846         (initialize_environment): Properly initialize Lisp objects.
25847         * src/alloc.c (garbage_collect_1): Call it.
25849 2017-06-08  Glenn Morris  <rgm@gnu.org>
25851         Make autogen.sh report relevant environment variables
25853         * autogen.sh (check_version):
25854         Indicate if using an environment variable.
25856 2017-06-08  Noam Postavsky  <npostavs@gmail.com>
25858         Split variable macro env from function env
25860         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove.
25861         (cl-symbol-macrolet): Instead of adding each binding directly into the
25862         main environment with a special key format, put all symbol macro
25863         bindings into a single entry in the main environment under
25864         `:cl-symbol-macros'.
25865         (cl--sm-macroexpand): Look up symbol bindings in the
25866         `:cl-symbol-macros' entry of the environment.
25868 2017-06-07  Glenn Morris  <rgm@gnu.org>
25870         * make-dist: Directory modules/mod-test no longer exists.
25872 2017-06-07  Glenn Morris  <rgm@gnu.org>
25874         More authors.el updates
25876         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
25877         (authors-renamed-files-alist): Additions.
25879 2017-06-07  Glenn Morris  <rgm@gnu.org>
25881         * make-dist: Check a release has a ChangeLog with a release notice.
25883         * make-dist: Use existing ChangeLog if present.
25885 2017-06-07  Michael Albinus  <michael.albinus@gmx.de>
25887         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Fix port handling.
25889 2017-06-07  Lars Ingebrigtsen  <larsi@gnus.org>
25891         (url-cookie-host-can-set-p): Protect against zero-length domains
25893         * lisp/url/url-cookie.el (url-cookie-host-can-set-p): Protect
25894         against zero-length domains.
25896         Backtrace of a real-world site that triggers a bug:
25898         Debugger entered--Lisp error: (args-out-of-range "" 0)
25899           url-cookie-host-can-set-p("www.washingtonpost.com" "")
25900           url-cookie-handle-set-cookie("utm_term=0;Expires=Thursday,
25901           01-January-1970 00:00:00 GMT; path=/; domain=")
25902           url-http-handle-cookies()
25904 2017-06-06  Glenn Morris  <rgm@gnu.org>
25906         More authors.el updates
25908         * admin/authors.el (authors-obsolete-files-regexps)
25909         (authors-valid-file-names, authors-renamed-files-alist)
25910         (authors-renamed-files-regexps): Additions.
25912 2017-06-06  Glenn Morris  <rgm@gnu.org>
25914         More small authors.el updates
25916         * admin/authors.el (authors-aliases): Fix recent addition.
25917         (authors-obsolete-files-regexps, authors-no-scan-regexps)
25918         (authors-ignored-files, authors-valid-file-names)
25919         (authors-renamed-files-alist): Additions.
25921 2017-06-06  Glenn Morris  <rgm@gnu.org>
25923         Make authors.el report names that were ignored
25925         * admin/authors.el (authors-ignored-names): New.
25926         (authors-canonical-author-name): Add file and position arguments.
25927         Record ignored authors.
25928         (authors-scan-change-log, authors-scan-el):
25929         Pass file and position to authors-canonical-author-name.
25930         (authors): Also print authors that were ignored.
25932 2017-06-06  Glenn Morris  <rgm@gnu.org>
25934         * admin/authors.el (authors-aliases): Additions.
25936 2017-06-06  Tino Calancha  <tino.calancha@gmail.com>
25938         * test/lisp/subr-tests.el (subr-tests-bug22027): Add test.
25940 2017-06-06  Noam Postavsky  <npostavs@gmail.com>
25942         * lisp/subr.el (read-passwd): Don't delete return value (Bug#22027).
25944 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
25946         Enable ElDoc messages after the newline command
25948         * lisp/emacs-lisp/eldoc.el:
25949         Add "newline" to the eldoc-add-command-completions call (bug#27228).
25951 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
25953         Enable eldoc-mode explicitly inside read--expression
25955         * lisp/simple.el (read--expression): Call eldoc-mode (bug#27202).
25957 2017-06-06  Andy Moreton  <andrewjmoreton@gmail.com>
25959         Fix check for package-unsigned-archives during retrieval
25961         * lisp/emacs-lisp/package.el (package--download-one-archive):
25962         Fix check for package-unsigned-archives.
25964 2017-06-05  Noah Friedman  <friedman@splode.com>
25966         Merge etc/emacs-buffer.gdb from emacs-25 to master.
25968 2017-06-05  Philipp Stephani  <phst@google.com>
25970         Fix undefined behavior in mapbacktrace
25972         * src/eval.c (Fmapbacktrace): Don't assume that PDL is still valid.
25974 2017-06-05  Eli Zaretskii  <eliz@gnu.org>
25976         Fix emacs-module-tests on MS-Windows
25978         * src/print.c (print_vectorlike): Make sure module function's
25979         address prints with a leading "0x".  This fixes emacs-module-tests
25980         on MS-Windows.  Fix whitespace.
25981         * src/dynlib.c (dynlib_addr): Remove unused variable.  Update
25982         commentary.
25984 2017-06-05  Philipp Stephani  <phst@google.com>
25986         Use unwind protection to clean up data structures in modules
25988         Reuse existing functionality and simplify the code a bit.
25990         * src/emacs-module.c (Fmodule_load): Use unwind protection to clean up
25991         runtime object.
25992         (funcall_module): Use unwind protection to clean up environment
25993         object.
25994         (finalize_environment): Simplify signature.
25995         (finalize_environment_unwind, finalize_runtime_unwind): New functions.
25997 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
25999         Some minor tweaks in tramp-tests.el
26001         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-relative):
26002         Let it pass for all gfvs based methods.
26003         (tramp-test24-file-name-completion): Run method and host
26004         completion for all syntaxes only when expensive tests are enabled.
26005         Do not check host completion for gvfs based methods.
26006         (tramp--test-gvfs-p): Add optional METHOD argument.
26007         (tramp--test-afp-or-smb-p): Remove.
26009 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
26011         Fix error in Tramp rsync method
26013         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-c" argument.
26014         Otherwise, `tramp-test10-write-region' could fail.
26016 2017-06-05  Philipp Stephani  <phst@google.com>
26018         Inline module_has_cleanup
26020         This constant is only used once, and we fail compilation anyway if
26021         it's false.
26023         * src/emacs-module.c (MODULE_SETJMP_1): Inline __has_attribute.
26025 2017-06-05  Philipp Stephani  <phst@google.com>
26027         Add missing dependency to test module source file
26029 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
26031         Omit space that broke ‘make check’
26033         * src/print.c (print_vectorlike): Omit stray space.
26035 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
26037         Remove easserts etc. from emacs-module.c
26039         Most of these seem to run afoul of the comment "Do NOT use
26040         'eassert' for checking validity of user code in the module."
26041         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH)
26042         (module_non_local_exit_check, module_non_local_exit_clear)
26043         (module_non_local_exit_get, module_non_local_exit_signal)
26044         (module_non_local_exit_throw, module_make_string):
26045         Remove unnecessary easserts that pointers are nonnull.
26046         Hardware checks this for us nowadays, and the checks
26047         just clutter up the code.
26048         (module_extract_integer): Remove unnecessary verify that
26049         a C signed integer is in the range INTMAX_MIN..INTMAX_MAX.
26050         The C standard guarantees this.
26051         (module_copy_string_contents): Remove unnecessary eassert
26052         that Lisp strings are null-terminated.
26053         (module_function_arity): Remove unnecessary easserts that
26054         function arities are in range.
26056 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
26058         Remove unnecessary checking in emacs-module.c
26060         * src/emacs-module.c (module_copy_string_contents):
26061         Remove checking, as string lengths are always nonnegative and less
26062         than STRING_BYTES_BOUND, and this is checked elsewhere.
26063         (module_make_string): Check length against STRING_BYTES_BOUND, a
26064         tighter bound than MOST_POSITIVE_FIXNUM.  (funcall_module): Don't
26065         assume that an out-of-range integer is nonnegative.
26067 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
26069         SCHARS and STRING_BYTES are nonnegative
26071         Tell the compiler that SCHARS and STRING_BYTES are nonnegative, in
26072         the hopes that this will optimize a bit better.  Also, check this
26073         at runtime if ENABLE_CHECKING.
26074         * src/lisp.h (SCHARS, STRING_BYTES):
26075         eassume that these functions return nonnegative values.
26076         (STRING_SET_CHARS) [ENABLE_CHECKING]:
26077         eassert that newsize is nonnegative.
26079 2017-06-05  Noam Postavsky  <npostavs@gmail.com>
26081         * lisp/desktop.el (desktop-clear): Skip the daemon's frame (Bug#26912).
26083 2017-06-04  Philipp Stephani  <phst@google.com>
26085         Remove an unused error symbol
26087         * src/emacs-module.c (syms_of_module): Remove unused error symbol
26088         'invalid-module-call'.
26090 2017-06-04  Philipp Stephani  <phst@google.com>
26092         Support quitting in modules
26094         The idea is that modules should call env->should_quit from time to
26095         time and return as quickly as possible if it returns true.
26097         * src/emacs-module.c (module_should_quit): New module function.
26098         (initialize_environment): Use it.
26099         (funcall_module): Process potential pending quit.
26101         * src/eval.c (maybe_quit): Add reference to module_should_quit.
26103 2017-06-04  Philipp Stephani  <phst@google.com>
26105         Use more specific errors for module load failure
26107         * src/emacs-module.c (syms_of_module): Add more specific error
26108         symbols.
26109         (Fmodule_load): Use them.
26111 2017-06-04  Philipp Stephani  <phst@google.com>
26113         Remove an unneeded assertion
26115         * src/emacs-module.c (module_copy_string_contents): Remove unneeded
26116         assertion.  If this assertion triggers, we raise an error anyway.
26118 2017-06-04  Philipp Stephani  <phst@google.com>
26120         Guard against signed integer overflows
26122         * src/emacs-module.c (module_extract_integer)
26123         (module_copy_string_contents, module_make_string): Guard against
26124         signed integer overflows.
26126 2017-06-04  Philipp Stephani  <phst@google.com>
26128         Add a couple more assertions to the module code
26130         These can help module authors debug crashes.
26132         * src/emacs-module.c (module_non_local_exit_check)
26133         (module_non_local_exit_clear, module_non_local_exit_get)
26134         (module_non_local_exit_signal, module_non_local_exit_throw)
26135         (module_copy_string_contents, module_make_string)
26136         (funcall_module, initialize_environment): Add assertions
26138 2017-06-04  Philipp Stephani  <phst@google.com>
26140         Use ATTRIBUTE_MAY_ALIAS where alias violations are likely
26142         In particular, alias violations are likely for the return values of
26143         dlsym(3), which get cast around arbitrarily.
26145         * src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.
26147 2017-06-04  Philipp Stephani  <phst@google.com>
26149         Simplify interface of dynlib_attr.
26151         Instead of returning bool, set the argument pointers to NULL if the
26152         information is not available.
26154         * src/dynlib.c (dynlib_addr): Don't return bool.
26156 2017-06-04  Philipp Stephani  <phst@google.com>
26158         Rationalize environment lifetime management functions
26160         * src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
26161         (finalize_environment): Add parameter for public part of the
26162         environment, like 'initialize_environment'.  Add assertions.
26164 2017-06-04  Philipp Stephani  <phst@google.com>
26166         Rework printing of module functions
26168         Fix a FIXME in emacs-module.c.  Put the printing into print.c, like
26169         other types.
26171         * src/print.c (print_vectorlike): Add code to print module functions.
26173         * src/emacs-module.c (funcall_module): Stop calling
26174         'module_format_fun_env'.  Now that module functions are first-class
26175         objects, they can be added to signal data directly.
26176         (module_handle_signal): Remove now-unused function
26177         'module_format_fun_env'.
26179         * test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.
26181         * src/eval.c (funcall_lambda): Adapt call to changed signature of
26182         'funcall_module'.
26184 2017-06-04  Philipp Stephani  <phst@google.com>
26186         Define helper macro to reduce code duplication
26188         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
26189         macro.
26190         (MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
26191         Use it.
26193 2017-06-04  Philipp Stephani  <phst@google.com>
26195         Remove two FIXMEs that can't be fixed
26197 2017-06-04  Eli Zaretskii  <eliz@gnu.org>
26199         Avoid slow startup in daemon mode when global-linum-mode is on
26201         * lisp/linum.el (linum-on): Don't turn on linum-mode in a
26202         non-client frame of a daemon session.  (Bug#27210)
26204 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
26206         Fix eldoc bug with curved quote
26208         * lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
26209         Substitute quotes in documentation before returning it (Bug#27159).
26211 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
26213         Tune ‘format’ after recent fix
26215         * doc/lispref/strings.texi (Formatting Strings):
26216         * src/editfns.c (Fformat): Format field numbers no longer need
26217         to be unique, reverting the previous doc change since that has
26218         now been fixed.  Also, document that %% should not have modifiers.
26219         * src/editfns.c (styled_format): Improve performance.  Remove
26220         the need for the new prepass over the format string, by using
26221         a typically-more-generous bound for the info array size.
26222         Initialize the info array lazily.  Move string inspection to
26223         the same area to help caching.  Avoid the need for a
26224         converted_to_string bitfield by using EQ.  Cache arg in a
26225         local and avoid some potential aliasing issues to help the
26226         compiler.  Info array is now 0-origin, not 1-origin.
26228 2017-06-04  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
26230         Improve of file-local-name use in vc-git-checkin
26232         * lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
26233         when calling git commit.
26235 2017-06-03  Simen Heggestøyl  <simenheg@gmail.com>
26237         Support a new CSS indentation style
26239         * lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
26240         immediately followed by a newline.
26242         * test/manual/indent/css-mode.css: Add test for the change above.
26244         * test/manual/indent/scss-mode.scss: Ditto.
26246 2017-06-03  Philipp Stephani  <phst@google.com>
26248         Fix a bug when using format field numbers
26250         Previously styled_format overwrite the argument vector.  This is no
26251         longer possible because there might be more than one specification per
26252         argument.  Use the existing auxiliary info array instead.
26254         * src/editfns.c (styled_format): Record arguments in the info
26255         structure instead of overwriting them.
26256         * test/src/editfns-tests.el (format-with-field): Add unit test.
26258 2017-06-03  Paul Eggert  <eggert@cs.ucla.edu>
26260         Document uniqueness limitation of ‘format’
26262         * doc/lispref/strings.texi (Formatting Strings):
26263         * src/editfns.c (Fformat):
26264         Document that field numbers should be unique within a format.
26266 2017-06-03  Glenn Morris  <rgm@gnu.org>
26268         Small rmailmm fix (bug#27203)
26270         * lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
26271         Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.
26273 2017-06-03  Glenn Morris  <rgm@gnu.org>
26275         * admin/authors.el (authors-aliases): Addition.
26277 2017-06-03  Glenn Morris  <rgm@gnu.org>
26279         Add watch for password back to inferior python comint filter
26281         It was removed along with other items for speed (bug#16875),
26282         but doesn't seem to have been causing an issue, and it's useful to
26283         have it there (bug#27154).
26284         * lisp/progmodes/python.el (inferior-python-mode):
26285         Add comint-watch-for-password-prompt to comint-output-filter-functions.
26287 2017-06-03  Ryan  <rct@thompsonclan.org>  (tiny change)
26289         Use completing-read-default in tmm-prompt
26291         tmm uses completing-read, but customizes its behavior so much
26292         that any alternative completing-read-function will almost
26293         certainly break it.  For example, both ido-ubiquitous and ivy have
26294         special code to deactivate themselves for tmm.
26295         * lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
26296         completing-read.  (Bug#27193)
26298 2017-06-02  Mats Lidell  <mats.lidell@cag.se>
26300         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371)
26302 2017-06-02  Glenn Morris  <rgm@gnu.org>
26304         Fix with-todo-test
26306         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
26307         HOME should be a directory, not a file.  Delete it when finished.
26309 2017-06-02  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
26311         Update TUTORIAL.it
26313         * etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.
26315 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
26317         Fix cursor position in Dired buffers after dired-sort-toggle
26319         * src/xdisp.c (display_and_set_cursor): Record cursor coordinates
26320         even if the frame is marked as garbaged.  (Bug#27187)
26322 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
26324         Update TUTORIAL.he
26326         * etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
26328 2017-06-02  Noam Postavsky  <npostavs@gmail.com>
26330         * etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371).
26332 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
26334         Limit format fields to more POSIX-like spec
26336         * doc/lispref/strings.texi (Formatting Strings):
26337         Don’t allow mixing numbered with unnumbered format specs.
26338         * src/editfns.c (styled_format): Don’t bother checking for field 0,
26339         since it doesn’t crash and the behavior is not specified.
26340         * test/src/editfns-tests.el (format-with-field): Adjust tests to
26341         match current doc.  Add more tests for out-of-range fields.
26343 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
26345         Improve performance by avoiding strtoumax
26347         This made (string-to-number "10") 20% faster on my old desktop,
26348         an AMD Phenom II X4 910e running Fedora 25 x86-64.
26349         * admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
26350         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
26351         * lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
26352         * m4/strtoumax.m4: Remove.
26353         * src/editfns.c (str2num): New function.
26354         (styled_format): Use it instead of strtoumax.  Use ptrdiff_t
26355         instead of uintmax_t.  Check for integer overflow.
26356         * src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
26357         Move to private scope and make them enums.
26358         (string_to_number): Compute integer value directly during
26359         first pass instead of revisiting it with strtoumax later.
26361 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
26363         Minor improvements to format field numbers
26365         * src/editfns.c (styled_format): Allow field numbers in a %% spec.
26366         No need for a special diagnostic for field numbers greater than
26367         PTRDIFF_MAX.  Reword diagnostic for field 0.
26368         * test/src/editfns-tests.el (format-with-field): Adjust to match.
26370 2017-06-02  Philipp Stephani  <phst@google.com>
26372         Implement field numbers in format strings
26374         A field number explicitly specifies the argument to be formatted.
26375         This is especially important for potential localization work, since
26376         grammars of various languages dictate different word orders.
26378         * src/editfns.c (Fformat): Update documentation.
26379         (styled_format): Implement field numbers.
26381         * doc/lispref/strings.texi (Formatting Strings): Document field numbers.
26383         * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.
26385         * test/src/editfns-tests.el (format-with-field): New unit test.
26387 2017-06-01  Alexander Gramiak  <agrambot@gmail.com>
26389         Limit scope of local overriding-terminal-local-map
26391         The function `binding' may call isearch-done, which globally sets
26392         overriding-terminal-local-map to nil (Bug#23007).
26393         * lisp/isearch.el (isearch-mouse-2): Don't bind
26394         overriding-terminal-local-map around the call to `binding'.
26396 2017-06-01  Stephen Berman  <stephen.berman@gmx.net>
26398         Correct and isolate the todo-mode test environment
26400         This avoids having to set todo-mode variables globally in the test
26401         file and prevents any exisiting user todo-mode files from influencing
26402         the tests.
26404         * test/lisp/calendar/todo-mode-tests.el:
26405         (with-todo-test): New macro.
26406         (todo-test-todo-quit01, todo-test-todo-quit02)
26407         (todo-test-item-highlighting): Use it.
26409 2017-06-01  Alan Third  <alan@idiocy.org>
26411         Fix build errors on macOS 10.6 (bug#27059)
26413         * src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.
26415 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
26417         Improve testing of octal and hex display of raw bytes
26419         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
26420         (test-redisplay-5): Add a test with a large codepoint.
26422 2017-06-01  Vasilij Schneidermann  <mail@vasilij.de>
26424         Add customizable to display raw bytes as hex
26426         * src/xdisp.c (get_next_display_element): Dispatch used format string
26427         for unprintables based on new display-raw-bytes-as-hex variable.
26428         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
26430         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
26432         * doc/emacs/display.texi: Document the new variable.
26433         * etc/NEWS: Mention display-raw-bytes-as-hex.
26435         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
26436         (test-redisplay-5): New tests.
26437         (test-redisplay): Call test-redisplay-5.
26439 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
26441         Revert "Add customizable to display raw bytes as hex"
26443         This reverts commit 7c9ac111c5e5d92e620b666893993d5dc562e483.
26445 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
26447         Add customizable to display raw bytes as hex
26449         * src/xdisp.c (get_next_display_element): Dispatch used format string
26450         for unprintables based on new display-raw-bytes-as-hex variable.
26451         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
26453         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
26455         * doc/emacs/display.texi: Document the new variable.
26456         * etc/NEWS: Mention display-raw-bytes-as-hex.
26458         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
26459         (test-redisplay-5): New tests.
26460         (test-redisplay): Call test-redisplay-5.
26462 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
26464         Fix linum under text-scaling when leuven-theme is used
26466         * etc/themes/leuven-theme.el (linum): Make the 'linum' face
26467         inherit from 'default' and 'shadow', so that margins are enlarged
26468         as expected under text-scaling.
26470 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
26472         Free cwd when no longer needed
26474         * lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
26476 2017-06-01  Anders Waldenborg  <anders@0x63.nu>  (tiny change)
26478         Fix memory leak of cwd string in emacsclient (Bug#26628)
26480         * lib-src/emacsclient.c (main): emacsclient retrieves the current
26481         working directory using get_current_dir_name which returns a newly
26482         allocated string.  Make sure this string is freed before exiting.
26484 2017-06-01  Glenn Morris  <rgm@gnu.org>
26486         Quieten compilation of some test files
26488         * test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
26489         * test/src/data-tests.el (binding-test-set-constant-t)
26490         (binding-test-set-constant-nil, binding-test-set-constant-keyword)
26491         (binding-test-set-constant-nil): Silence compiler.
26492         * test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.
26494 2017-06-01  Glenn Morris  <rgm@gnu.org>
26496         Use true names for invocation- and source-directory
26498         * src/emacs.c (init_cmdargs) <Vinvocation_directory>:
26499         * src/lread.c (init_lread) <Vsource_directory>: Use true names.
26501 2017-06-01  Glenn Morris  <rgm@gnu.org>
26503         Avoid elisp-mode test failures when source dir has multiple names
26505         * test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
26506         Use the true name of the directory.
26508 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
26510         Fix bug with "%%" in error format
26512         * src/doprnt.c (doprnt): Format "%%" correctly.
26513         Problem reported by Philipp Stephani in:
26514         https://lists.gnu.org/r/emacs-devel/2017-05/msg00901.html
26516 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
26518         * src/editfns.c (Fmessage): Improve doc string (Bug#23425#130).
26520 2017-06-01  Katsumi Yamaoka  <yamaoka@jpl.org>
26522         Revert mml-generate-mime-1 (bug#27141)
26524         * lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
26525         with slight modernizations (bug#27141).
26527 2017-05-31  Michael Albinus  <michael.albinus@gmx.de>
26529         Fix Bug#27108
26531         * lisp/recentf.el (recentf-load-list): Bind `non-essential',
26532         in order to avoid Tramp password requests during Emacs
26533         startup.  (Bug#27108)
26535 2017-05-31  Glenn Morris  <rgm@gnu.org>
26537         * test/Makefile.in (.SECONDARY): Stop make deleting .elc files.
26539 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
26541         Document current-line hscrolling in ELisp manual
26543         * doc/lispref/windows.texi (Horizontal Scrolling): Document the
26544         new mode of auto-hscrolling only the current line.
26546 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
26548         Support lower bound on hscrolling when only current line scrolls
26550         * doc/emacs/display.texi (Horizontal Scrolling): Document the new
26551         mode of auto-hscrolling only the current line.
26553         * src/xdisp.c (init_iterator): When hscrolling only the
26554         current line, apply the window's min_hscroll here, so that
26555         non-current lines will be hscrolled by that minimum.
26556         Suggested by Stephen Berman <stephen.berman@gmx.net>.
26557         (hscroll_window_tree): Account for window's min_hscroll when
26558         deciding whether to recompute the hscroll.
26559         (display_line): Subtract window's min_hscroll from x_incr, as that
26560         was already accounted for in init_iterator.  (Bug#27008)
26562 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
26564         cl-print: handle circular objects when `print-circle' is nil (Bug#27117)
26566         * lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
26567         (cl-print-object): When `print-circle' is nil, bind it to a list of
26568         objects that are currently printing to avoid printing the same object
26569         endlessly.
26570         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.
26572 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
26574         Further simplify test/Makefile, optionally load elc tests
26576         * test/Makefile.in: Use make's error ignoring feature instead of
26577         suppressing test errors with shell.  Compile test files in the main
26578         make invocation instead of a recursive 'make' call.  Optionally load
26579         .elc test files if TEST_LOAD_EL is set to something other than 'yes'.
26580         Remove obsolete commentary.
26582 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
26584         Avoid inflooping in redisplay due to Spacemacs and linum-mode
26586         * src/xdisp.c (redisplay_internal): Limit the number of redisplay
26587         retries when a frame becomes garbaged as result of redisplaying
26588         it.  (Bug#27115)
26590 2017-05-31  Tino Calancha  <tino.calancha@gmail.com>
26592         * src/editfns.c (decode-time): Fix docstring.
26594 2017-05-31  Glenn Morris  <rgm@gnu.org>
26596         * admin/update_autogen: Remove bzr support.
26598 2017-05-31  Glenn Morris  <rgm@gnu.org>
26600         Avoid subr test failure when source dir has multiple names
26602         * test/lisp/subr-tests.el (subr-tests--this-file):
26603         Use the true name of the file.  The following test does a string
26604         comparison of this value with that from method-files, which uses
26605         load-history, which contains true names.
26607 2017-05-31  Dmitry Gutov  <dgutov@yandex.ru>
26609         Extract eldoc--supported-p
26611         * lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
26612         (turn-on-eldoc-mode, eldoc-mode): Use it.
26613         (https://lists.gnu.org/r/emacs-devel/2017-05/msg00865.html)
26615 2017-05-30  Glenn Morris  <rgm@gnu.org>
26617         Make "make check" less verbose by default
26619         * test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
26620         (am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
26621         (am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
26622         New, copied from lisp/Makefile.in.
26623         (%.elc, %.log): Simplify and quieten.
26625 2017-05-30  Alan Mackenzie  <acm@muc.de>
26627         Mode line "%q" construct: Just use one number when both would be the same.
26629         * src/xdisp.c (decode_mode_spec): recode the "%q" bit appropriately.
26631 2017-05-30  Alan Mackenzie  <acm@muc.de>
26633         Merge branch 'master' of /home/acm/emacs/emacs.git/master
26635 2017-05-30  Alan Mackenzie  <acm@muc.de>
26637         c-defun-name: Return fully qualified method names when wanted in C++, etc.
26639         * lisp/progmodes/cc-cmds.el (c-defun-name): Use
26640         c-back-over-compound-identifier in place of c-backward-token-2 near the end
26641         of the function.
26643 2017-05-30  Glenn Morris  <rgm@gnu.org>
26645         Reduce scope of recent test/Makefile HOME change
26647         * test/Makefile.in (%.log): Move setting of HOME here from top-level.
26649 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
26651         Skip .#* temporaries when finding sources
26653         Without this patch, ‘make check’ can fail with the diagnostic
26654         ‘invalid syntax in conditional’ if there is an Emacs temporary
26655         file whose name starts with ‘.#’, because the ‘#’ is treated as
26656         the start of a Make comment.
26657         * lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
26658         * test/Makefile.in (ELFILES):
26659         Skip files starting with ‘.’, so that the .#* files do not cause
26660         trouble.  (We cannot easily skip just files starting with ‘.#’,
26661         since ‘#’ starts a Make comment!)
26663 2017-05-30  Alan Mackenzie  <acm@muc.de>
26665         Merge branch 'master' of /home/acm/emacs/emacs.git/master
26667 2017-05-30  Alan Mackenzie  <acm@muc.de>
26669         Fix the mouse help/key map on the "%p" part of the mode line.
26671         * lisp/bindings.el (mode-line-percent-position): give it a
26672         `risky-local-variable' property.
26673         (mode-line-position): correct the quoting on the mode-line-percent-position
26674         part of the variable, allowing the properties to be properly recognized.
26676 2017-05-30  Alan Mackenzie  <acm@muc.de>
26678         Fix the mouse help/key map on the "%p" part of the mode line.
26680         * lisp/bindings.el (mode-line-percent-position): give it a
26681         `risky-local-variable' property.
26682         (mode-line-position): correct the quoting on the mode-line-percent-position
26683         part of the variable, allowing the properties to be properly recognized.
26685 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
26687         Merge from gnulib
26689         * build-aux/config.guess: Copy from gnulib.
26690         * lib/gnulib.mk.in: Regenerate.
26692 2017-05-30  Glenn Morris  <rgm@gnu.org>
26694         Stop make check interacting with HOME
26696         * test/Makefile.in (HOME): Export a non-existent value.
26698 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
26700         Update .gitattributes to match sources better
26702         * .gitattributes: Remove nt/nmake.defs.  Move dostorture.c, c.C,
26703         algrthms.html.  Use pattern for todo-mode.  Improve patterns for
26704         Ada, C, ObjC, shell.  Add Pascal.  Remove unused pattern *.ruby.
26705         Add config.guess and config.sub as shell files.
26707 2017-05-30  Noam Postavsky  <npostavs@gmail.com>
26709         Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to '--bg-daemon'
26711         * doc/emacs/cmdargs.texi (Initial Options):
26712         * doc/lispref/os.texi (Startup Summary):
26713         * etc/NEWS:
26714         * etc/emacs.service:
26715         * src/emacs.c (main):
26716         * src/lisp.h: Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to
26717         '--bg-daemon'.
26719 2017-05-30  Glenn Morris  <rgm@gnu.org>
26721         todo-mode: don't assume an ordering of tests
26723         * test/lisp/calendar/todo-mode-tests.el (todo-test-todo-quit02)
26724         (todo-test-item-highlighting): Avoid prompting for input file.
26726 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
26728         Improve .gdbinit Lisp value pretty-printing
26730         * src/.gdbinit (to_string): Use an unsigned representation for
26731         Lisp values, as requested by Eli Zaretskii (Bug#27098).
26732         Also, use "make_number(N)" for Lisp integers.
26734 2017-05-30  Dmitry Gutov  <dgutov@yandex.ru>
26736         Turn global-eldoc-mode into a globalized minor mode
26738         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
26739         Turn into globalized mode (bug#19853).
26740         (turn-on-eldoc-mode): Make it into a wrapper instead of alias.
26741         (eldoc-mode): Only show the message when called interactively.
26743 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
26745         Use regexp matching instead of checking exit status
26747         * lisp/progmodes/xref.el (xref-collect-matches):
26748         See if the output buffer contents look like Grep output
26749         instead of checking exit status (bug#23451).
26751 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
26753         Add initial tests for todo-mode.el
26755         *test/lisp/calendar/todo-mode-tests.el:
26756         *test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
26757         *test/lisp/calendar/todo-mode-resources/todo-test-1.todo: New files.
26759         * .gitattributes: Ignore trailing whitespace in todo-mode test
26760         data files, since it is part of the todo-mode file format.
26762 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
26764         Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)
26766         * lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
26767         replacing an anonymous function for the sake of `describe-variable'.
26768         (todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
26769         and remove boundp test of this variable, so its value is available on
26770         invoking `todo-toggle-item-highlighting'.
26772 2017-05-29  Alan Third  <alan@idiocy.org>
26774         Fix build error on macOS 10.6
26776         * src/nsfns.m (compute_tip_xy): Cast NSRect to CGRect and NSPoint to
26777         CGPoint.
26779 2017-05-29  Jules Tamagnan  <jtamagnan@gmail.com>  (tiny change)
26781         Comply with pep 8 style guide for backslash in assignment (Bug#24809)
26783         * lisp/progmodes/python.el (python-indent--calculate-indentation):
26784         Increase indent by `python-indent-offset' after
26785         `:after-backslash-assignment-continuation'.
26787 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
26789         Add suggestion to docstring
26791         * lisp/subr.el (interactive-p): Mention commandp, as this is often
26792           what users are actually looking for.
26794 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
26796         Ensure button-get works in any buffer
26798         * lisp/button.el (button-get): Previously we assumed that button-get
26799           was called in the buffer containing the button.  In other buffers,
26800           button-get always returned nil.  Fix this by passing the relevant
26801           buffer from the marker.
26803 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
26805         Signal error if find-grep returns a nonzero status
26807         * lisp/progmodes/xref.el (xref-collect-matches): Signal error
26808         if find-grep returns a nonzero status (bug#23451).  Remove the
26809         comment: even if some output is present, a non-zero status
26810         means something went wrong and it can't be relied upon.
26812 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
26814         Make sure exiting todo-mode buffer buries it (bug#27121)
26816         This failed due to commit ea3ae33b from 2013-05-16, which prevented
26817         quitting todo-mode buffer after visiting todo-archive buffer from
26818         making the archive buffer current again.  Avoid this now by simply
26819         killing the archive buffer, since there's no need to keep it a live
26820         buffer.  Consequently, quitting a todo-mode buffer can now use
26821         bury-buffer without an argument, which ensures that is will not
26822         becomes current on quitting the buffer that replaced it in the window.
26824         * lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
26825         buffer instead of burying it.  This now allows exiting the
26826         todo-mode buffer by bury-buffer without an argument, so do that.
26828 2017-05-28  Michael Albinus  <michael.albinus@gmx.de>
26830         Some tweaks, almost all for Tramp adb method
26832         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
26833         Use `make-tramp-file-name'.
26834         (tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
26835         (tramp-adb-maybe-open-connection): Set "prompt" property.
26836         (tramp-adb-wait-for-output): Use it.
26838         * lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
26839         (tramp-dump-connection-properties): Check also that there are
26840         properties to be saved.  Don't save "started" property of
26841         "ftp" method.
26843         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
26844         Use `make-tramp-file-name'.
26846         * lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
26847         Host could be empty.
26848         (tramp-file-name-port-or-default): New defun.
26849         (tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
26850         (tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
26851         (tramp-call-process, tramp-call-process-region):
26852         Use `make-tramp-file-name'.
26854         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
26855         Revert change from 2017-05-24.
26856         (tramp-test05-expand-file-name-relative): Let it also pass for
26857         "adb" method.
26859 2017-05-28  Jürgen Hötzel  <juergen@archlinux.org>
26861         Fix Tramp for Android 7
26863         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp):
26864         Username part of prompt is empty on Android 7.
26865         (tramp-adb-ls-toolbox-regexp):
26866         Ignore addition links column on Android 7.
26867         (tramp-adb-get-ls-command):
26868         Dont use --color=none when using toybox (Android 7).  It's not
26869         possible to disable coloring explicitly for toybox ls.
26871 2017-05-27  Svante Carl v. Erichsen  <Svante.v.Erichsen@web.de>  (tiny change)
26873         Fix cl-indent for `loop' with :keywords (Bug#15543)
26875         * lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
26876         ":keywords".
26878 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
26880         Depromiscuify inotify with IN_MASK_ADD
26882         Use IN_MASK_ADD instead of using a no-longer-promiscuous-enough
26883         mask.  This simplifies the code and restores the ability to
26884         use IN_ACCESS, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, and IN_OPEN
26885         in some cases (Bug#26973).
26886         * src/inotify.c (INOTIFY_DEFAULT_MASK): Remove.
26887         (Finotify_add_watch): Use IN_MASK_ADD instead.
26889 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
26891         Restore inotify onlydir support
26893         There was no need to remove it in the 2017-03-26 inotify change,
26894         as it is like IN_DONT_FOLLOW and does not affect other watchers
26895         for the same file.
26896         * src/inotify.c (symbol_to_inotifymask, Finotify_add_watch)
26897         (syms_of_inotify): Bring back onlydir.
26899 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
26901         Simplify computation of inotify mask
26903         * src/inotify.c (add_watch): Accept uint32_t imask instead
26904         of Lisp_Object aspect.  Caller changed.
26905         (Finotify_add_watch): Use aspect_to_inotifymask earlier, to
26906         simplify the code.
26908 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
26910         Improve the documentation of filesets
26912         * doc/emacs/files.texi (Filesets): Fix the description of
26913         fileset-init's effect on the menu bar.  (Bug#27015)
26915 2017-05-27  Philipp Stephani  <phst@google.com>
26917         Don't attempt to recover from undefined behavior in some cases
26919         These functions can only be run in batch mode and exit Emacs on
26920         return, so nothing can be recovered.  Disable unsafe recover
26921         mechanisms so that we get real failures and good stack traces on
26922         fatal signals.
26924         * lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
26925         (batch-byte-recompile-directory):
26926         * lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
26927         (ert-summarize-tests-batch-and-exit): Don't attempt to recover
26928         from undefined behavior.
26930 2017-05-27  Philipp Stephani  <phst@google.com>
26932         Avoid another compiler warning on macOS
26934         When configured with --without-ns, HAVE_NS is not defined on macOS,
26935         thus 'memory-limit' calls the deprecated sbrk(2) function.  Avoid that
26936         by using the pre-defined __APPLE__ preprocessor macro.
26938         * src/alloc.c (Fmemory_limit): Never use sbrk(2) on macOS.
26940 2017-05-27  Luke Yen-Xun Lee  <luke.yx.lee@gmail.com>
26942         Fix ruler-mode text-scaling issues
26944         * lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
26945         for computing scaled text width.
26946         (ruler-mode-text-scaled-window-hscroll)
26947         (ruler-mode-text-scaled-window-width): Compute text scaled
26948         `window-width' value.
26949         (ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
26950         (ruler-mode-ruler): Change `window-hscroll' into
26951         `ruler-mode-text-scaled-window-hscroll', and change `window-width'
26952         into `ruler-mode-text-scaled-window-width'.
26954 2017-05-27  Martin Rudalics  <rudalics@gmx.at>
26956         Minor doc and doc-string fixes (Bug#27091)
26958         * src/window.c (Fset_window_scroll_bars): Fix doc-string.
26960         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
26961         (Display Margins): Mention that `set-window-buffer' may override
26962         settings made by `set-window-fringes', `set-window-scroll-bars'
26963         and `set-window-margins'.
26964         * doc/lispref/windows.texi (Buffers and Windows): Fix doc of
26965         `set-window-buffer'.
26967 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
26969         Avoid args-out-of-range errors on fringe clicks after "C-h k"
26971         * src/keyboard.c (echo_truncate): Don't call Ftruncate if the echo
26972         message is already shorter than NCHARS.  (Bug#27040)
26974 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
26976         Fix GUD "Stop" display when running pdb
26978         * lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
26979         when GUD mode is 'pdb'.  (Bug#27024)
26981 2017-05-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
26983         Support drag and drop of region by mouse (Bug#26725)
26985         * doc/emacs/frames.texi (Drag and Drop): Document support of drag
26986         and drop region by mouse.
26987         * lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
26988         when start-event is on region.
26989         (mouse-drag-and-drop-region): New function, moves the region by
26990         (mouse-drag-and-drop-region): New defcustom.
26991         * etc/NEWS: Mention mouse-drag-and-drop-region.
26993 2017-05-27  Noam Postavsky  <npostavs@gmail.com>
26995         * lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message.
26997 2017-05-27  Alan Third  <alan@idiocy.org>
26999         Check if instancetype supported in ObjC
27001         * configure.ac: Add check for instancetype.
27002         * src/nsterm.h [!NATIVE_OBJC_INSTANCETYPE]: Define instancetype.
27004 2017-05-26  Wilfred Hughes  <me@wilfred.me.uk>
27006         Mark keywordp as a safe, error-free function
27008         * lisp/emacs-lisp/byte-opt.el: Add keywordp to
27009           side-effect-and-error-free-fns.
27011 2017-05-26  Paul Eggert  <eggert@cs.ucla.edu>
27013         * src/inotify.c: Add FIXME comments.
27015 2017-05-26  Andreas Politz  <politza@hochschule-trier.de>
27017         Fix Bug#26973
27019         * src/inotify.c (INOTIFY_DEFAULT_MASK): Removing ACCESS, OPEN
27020         and CLOSE events on order do let other processes also reading
27021         from their descriptors.  (Bug#26973).
27023 2017-05-26  Michael Albinus  <michael.albinus@gmx.de>
27025         Remove Emacs 23 compat code from Tramp
27027         * doc/misc/tramp.texi (Remote processes): Don't mention
27028         Emacs 24 explicitly.
27029         (Frequently Asked Questions): Remove Emacs 23 from
27030         compatibility list.
27032         * lisp/net/tramp.el:
27033         * lisp/net/tramp-adb.el:
27034         * lisp/net/tramp-cache.el:
27035         * lisp/net/tramp-gvfs.el:
27036         * lisp/net/tramp-sh.el:
27037         * lisp/net/tramp-smb.el: Replace compat function calls.
27039         * lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
27040         (tramp-compat-condition-case-unless-debug)
27041         (tramp-compat-copy-file, tramp-compat-copy-directory)
27042         (tramp-compat-delete-file, tramp-compat-delete-directory)
27043         (tramp-compat-process-live-p): Remove them.
27045         * lisp/net/trampver.el: Make version check fit for Emacs 24.
27047 2017-05-26  Katsumi Yamaoka  <yamaoka@jpl.org>
27049         Work for application/x-tar-gz and image/svg+xml
27051         ;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
27052         ;; of bug#27078 in the Emacs bug list using Gnus.
27054         * lisp/gnus/mm-archive.el (mm-archive-decoders):
27055         Add a decoder for application/x-tar-gz.
27056         (mm-dissect-archive): Error out if a decoder is not found.
27058         * lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
27060 2017-05-26  Tino Calancha  <tino.calancha@gmail.com>
27062         test-calc-23889: Skip test on 32-bit platforms
27064         This test fails on some 32-bit platforms as mentioned in
27065         https://lists.gnu.org/r/emacs-devel/2017-05/msg00737.html
27066         * test/lisp/calc/calc-tests.el (test-calc-23889): Skip when
27067         the Lisp integer is not big enough.
27069 2017-05-25  Alan Third  <alan@idiocy.org>
27071         Fix NS tooltips showing in the wrong place (bug#27053)
27073         * src/nsfns.m (compute_tip_xy): Get current mouse position instead of
27074         last recorded position.
27076 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27078         lisp/net/soap-client.el: Bump version to 3.1.2
27080         * lisp/net/soap-client.el: Bump version to 3.1.2.
27082 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27084         Fix soap-inspect.el doc strings
27086         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
27087         string.
27088         (soap-inspect-xs-attribute-group): Likewise.
27090 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27092         Fix two soap-client.el byte compilation warnings
27094         * lisp/net/soap-client.el (url-http-response-status): Add defvar.
27095         (soap-fetch-xml-from-url): Remove special declaration of
27096         url-http-response-status.
27097         (soap-invoke-internal): Likewise.
27099 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27101         lisp/net/soap-client.el: Require cl-lib version 0.6.1
27103         * lisp/net/soap-client.el: Require cl-lib version 0.6.1.
27105 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
27106             Stefan Monnier  <monnier@iro.umontreal.ca>
27108         lisp/net/soap-client.el: Shorten some long lines
27110         * lisp/net/soap-client.el (soap-encode-xs-element): Remove
27111         unnecessary progn.
27112         (soap-xs-add-union): Wrap long line.
27114 2017-05-25  Alex Harsanyi  <AlexHarsanyi@gmail.com>
27115             Stefan Monnier  <monnier@iro.umontreal.ca>
27117         Remove cl dependency in soap-client.el and soap-inspect.el
27119         * lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
27120         with cl-case, destructuring-bind with cl-destructuring-bind and
27121         loop with cl-loop.
27123         * lisp/net/soap-client.el: Replace cl library with cl-lib,
27124         defstruct with cl-defstruct, assert with cl-assert, case with
27125         cl-case, ecase with cl-ecase, loop with cl-loop and
27126         destructuring-bind with cl-destructuring-bind.
27128 2017-05-25  Michael Albinus  <michael.albinus@gmx.de>
27130         Switch Tramp to cl-lib
27132         * lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.
27134         * lisp/net/tramp-ftp.el: Don't require cl.
27136         * lisp/net/tramp-gvfs.el: Don't require cl.
27137         (tramp-gvfs-handler-mounted-unmounted)
27138         (tramp-gvfs-connection-mounted-p): Use `cl-*' macros.
27140         * lisp/net/tramp-sh.el: Don't require cl.
27141         (tramp-set-file-uid-gid): Use `shell-quote-argument'.
27142         (tramp-sh-gvfs-monitor-dir-process-filter)
27143         (tramp-sh-inotifywait-process-filter): Use `cl-*' macros.
27145         * lisp/net/tramp-smb.el: Don't require cl.
27146         (tramp-smb-read-file-entry): Use `cl-*' macros.
27148         * lisp/net/tramp.el (cl-lib): Require it rather than cl.
27149         (tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
27150         (tramp-parse-passwd, tramp-parse-etc-group)
27151         (tramp-parse-putty): Use `cl-*' macros.
27153 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
27155         * CONTRIBUTE: Suggest autogen.sh's 'all' operand.
27157 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
27159         Port ATTRIBUTE_MAY_ALIAS to recent icc
27161         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS) [__ICC]:
27162         Define to empty.  Otherwise, icc (ICC) 17.0.4 20170411 says
27163         “warning #2621: attribute "__may_alias__" does not apply here”
27164         for constructs like ‘struct sockaddr *sa = (whatever);
27165         struct sockaddr_in __attribute__ ((__may_alias__)) *sin
27166         = (struct sockaddr_in *) sa;’.
27168 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
27170         Merge from gnulib
27172         This incorporates:
27173         2017-05-25 port to recent icc
27174         * lib/intprops.h: Copy from gnulib.
27176 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
27178         Fix Tramp for python.el
27180         * lisp/net/tramp.el (tramp-get-connection-process): Check,
27181         that VEC is a `tramp-file-name' structure.
27183 2017-05-24  Alan Third  <alan@idiocy.org>
27185         Raise version of macOS we define instancetype for (bug#27059)
27187         * src/nsterm.m: Increase supported version number.
27189 2017-05-24  Alan Third  <alan@idiocy.org>
27191         Define new types on macOS 10.6 (bug#27041)
27193         * src/nsterm.h: Enable instancetype typedef for older macOS, and use
27194         correct NSUInteger instead of int.
27196 2017-05-24  Glenn Morris  <rgm@gnu.org>
27198         Don't autoload new dns-mode command
27200         * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
27201         Remove autoload cookie.
27203 2017-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
27205         * src/fns.c (sxhash): Fix records hashing (bug#27057, bug#26639)
27207         (sxhash_vector): Make it work on pseudo vectors as well.
27208         (sxhash): Treat records like vectors.
27210 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
27212         Adapt tramp-tests.el according to new defstruct
27214         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
27215         Fix test according to new defstruct.
27216         (tramp-test29-environment-variables-and-port-numbers):
27217         Expect it now as passed.  Cleanup at the end.
27219 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
27221         Introduce a defstruct `tramp-file-name' as central data structure.
27223         This solves also Bug#27009.
27225         * lisp/net/tramp.el (tramp-current-domain)
27226         (tramp-current-port): New defvars.
27227         (tramp-file-name): New defstruct.
27228         (tramp-file-name-user-domain, tramp-file-name-host-port)
27229         (tramp-file-name-equal-p): New defuns.
27230         (tramp-file-name-p, tramp-file-name-method)
27231         (tramp-file-name-user, tramp-file-name-host)
27232         (tramp-file-name-localname, tramp-file-name-hop)
27233         (tramp-file-name-real-user, tramp-file-name-domain)
27234         (tramp-file-name-real-host, tramp-file-name-port):
27235         Remove defuns.  They are provided by the defstruct, or not
27236         needed anymore.
27237         (tramp-dissect-file-name, tramp-buffer-name)
27238         (tramp-make-tramp-file-name, tramp-get-buffer)
27239         (tramp-set-connection-local-variables)
27240         (tramp-debug-buffer-name, tramp-message)
27241         (tramp-error-with-buffer, with-parsed-tramp-file-name)
27242         (tramp-completion-dissect-file-name1)
27243         (tramp-handle-file-name-as-directory)
27244         (tramp-handle-file-name-directory)
27245         (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
27246         (tramp-handle-find-backup-file-name)
27247         (tramp-handle-insert-file-contents, tramp-process-actions)
27248         (tramp-check-cached-permissions, tramp-local-host-p)
27249         (tramp-get-remote-tmpdir, tramp-call-process)
27250         (tramp-call-process-region, tramp-read-passwd)
27251         (tramp-clear-passwd):
27252         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
27253         (tramp-adb-handle-expand-file-name)
27254         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
27255         (tramp-adb-handle-process-file)
27256         (tramp-adb-maybe-open-connection):
27257         * lisp/net/tramp-cache.el (tramp-get-hash-table)
27258         (tramp-get-file-property, tramp-set-file-property)
27259         (tramp-flush-file-property, tramp-flush-directory-property)
27260         (tramp-get-connection-property)
27261         (tramp-set-connection-property, tramp-connection-property-p)
27262         (tramp-flush-connection-property, tramp-cache-print)
27263         (tramp-list-connections, tramp-dump-connection-properties)
27264         (tramp-parse-connection-properties):
27265         * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
27266         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
27267         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
27268         (tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
27269         (tramp-gvfs-handler-mounted-unmounted)
27270         (tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
27271         (tramp-gvfs-get-remote-gid)
27272         (tramp-gvfs-maybe-open-connection):
27273         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
27274         (tramp-do-copy-or-rename-file-out-of-band)
27275         (tramp-sh-handle-expand-file-name)
27276         (tramp-sh-handle-start-file-process)
27277         (tramp-sh-handle-process-file, tramp-compute-multi-hops)
27278         (tramp-maybe-open-connection)
27279         (tramp-make-copy-program-file-name, tramp-get-remote-path)
27280         (tramp-get-inline-coding):
27281         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
27282         (tramp-smb-handle-expand-file-name)
27283         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
27284         (tramp-smb-handle-set-file-acl)
27285         (tramp-smb-maybe-open-connection): Adapt according to defstruct.
27287 2017-05-24  Stephen Berman  <steve@rosalinde.fritz.box>
27289         Fix and improve UI of scroll bar menu (bug#27047)
27291         In addition, since the Emacs manual writes "scroll bar", "tool
27292         bar" and "menu bar", use this convention in the Show/Hide menues
27293         and tooltips as well.
27295         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
27296         pressing a radio button in the menu actually show that it was
27297         pressed.  Replace the two radio buttons to turn the horizontal
27298         scroll bar on and off with a single check-box toggle and add a
27299         separator between this and the vertical scroll bar radio
27300         buttons.  Use conventional spelling.
27301         (menu-bar-horizontal-scroll-bar)
27302         (menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
27303         (menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
27304         (menu-bar-mode): Use conventional spelling.
27306 2017-05-24  Katsumi Yamaoka  <yamaoka@jpl.org>
27308         Remove string-as-unibyte
27310         * lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
27311         (canlock-make-cancel-key): No need to use string-as-unibyte.
27313 2017-05-24  Tino Calancha  <tino.calancha@gmail.com>
27315         Fix concatenation of "^" with diff-file-junk-re
27317         This regexp contains "\\|", thus a concatenation
27318         of "^" with it just matches the beginning of line for the
27319         first alternative in diff-file-junk-re.
27320         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
27321         diff-file-junk-re wrapped in a shy group.
27323 2017-05-24  Glenn Morris  <rgm@gnu.org>
27325         Suppress intermittent test failure on hydra
27327         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
27328         (eieio-test-37-obsolete-name-in-constructor): Skip on hydra.
27330 2017-05-24  Peder O. Klingenberg  <peder@klingenberg.no>
27332         New dns-mode command for IPv6 address conversion
27334         This converts IPv6 addresses to a format suitable for
27335         reverse lookup zone files.  (Bug#26820)
27336         * lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
27337         Add dns-mode-ipv6-to-nibbles.
27338         (dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
27339         New functions.
27340         * test/lisp/dns-mode-tests.el: New file.
27342 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
27344         Protect *Backtrace* from being killed (Bug#26650)
27346         * lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
27347         `kill-buffer-hook'.
27349 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
27351         Give a name to lisp-mode's adaptive-fill-function (Bug#22730)
27353         * lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
27354         (lisp-mode-variables): Use it.
27356 2017-05-23  Philipp Stephani  <phst@google.com>
27358         vc-hg.el: Silence byte compiler warning
27360         * lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
27362 2017-05-23  Paul Eggert  <eggert@cs.ucla.edu>
27364         Don't warn about missing brances on macOS
27366         On macOS, removing -Wmissing-braces is not enough; the warning has to
27367         be disabled explicitly.
27369 2017-05-23  Wilfred Hughes  <me@wilfred.me.uk>
27371         Don't treat ' as a string delimiter in RPM spec files
27373         ' is commonly used as an apostrophe in the prose sections of spec
27374         files, which was erroneously highlighted as strings. See for example
27375         http://kmymoney2.sourceforge.net/phb/rpm-example.html
27377         * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
27378           punctuation in RPM spec files.
27380 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
27382         * lisp/emacs-lisp/cl-indent.el: Don't require CL.  Use lexical-binding.
27384         (common-lisp-indent-function-1): Remove unused var `last-point`.
27385         (lisp-indent-error-function): Move defvar before first use.
27387 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
27389         * lisp/international/rfc1843.el: Don't require CL.  Use lexical-binding.
27391         * lisp/international/utf7.el: Don't require CL.  Use lexical-binding.
27393         * lisp/net/shr.el: Use cl-lib instead of cl.
27395 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
27397         * test/src/fns-tests.el, test/src/data-tests.el: Don't use `cl`
27399         * test/src/data-tests.el (binding-test-manual, binding-test-setq-default)
27400         (binding-test-makunbound, data-tests-varalias-watchers)
27401         (data-tests-local-variable-watchers): Silence compiler warnings.
27403 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
27405         * lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler.
27407 2017-05-23  Alan Third  <alan@idiocy.org>
27409         Fix GNUstep build
27411         * src/nsterm.h [NS_IMPL_GNUSTEP]: Add typedefs for Cocoa-only types.
27412         (NSWindowStyleMaskUtilityWindow): #define to NSUtilityWindowMask in
27413         GNUstep and old versions of macOS.
27414         * src/nsfns.m (ns-set-mouse-absolute-pixel-position): Function only
27415         works in cocoa, not GNUstep.
27417 2017-05-23  Michael Albinus  <michael.albinus@gmx.de>
27419         Add test for Bug#27009 in tramp-tests.el
27421         * lisp/net/tramp-sh.el (tramp-compute-multi-hops):
27422         Check `tramp-file-name-real-host' for being a local host.
27424         * lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.
27426         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
27427         Declare default host for mock method.
27428         (tramp-test29-environment-variables-and-port-numbers): New test.
27430 2017-05-23  Glenn Morris  <rgm@gnu.org>
27432         Don't advertise s_client in tls.el docs
27434         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
27435         Don't mention s_client in docs.
27437         (cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)
27439 2017-05-23  Rob Browning  <rlb@defaultvalue.org>
27441         Remove s_client usage from tls.el
27443         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
27444         Ref http://bugs.debian.org/766397
27445         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
27448         (cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
27450 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
27452         * lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set `words` to nil.
27454 2017-05-22  Sam Steingold  <sds@gnu.org>
27456         Fix "g" in hg&git push&pull buffers
27458         lisp/vc/vc-git.el (vc-git--pushpull): Set locally
27459         `compilation-directory' and `compilation-arguments'.
27460         lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
27462 2017-05-22  Eli Zaretskii  <eliz@gnu.org>
27464         Fix current-line hscrolling in buffers with header-line
27466         * src/xdisp.c (display_line): When testing the glyph row's
27467         vertical position against the cursor position, account for header
27468         line, if any.  (Bug#27014)
27470 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
27472         * lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning
27474         (rfc2047-decode-encoded-words): Use dolist.
27475         (rfc2047-decode-string): Avoid string-to-multibyte.
27476         (rfc2047-pad-base64): Use pcase.
27478 2017-05-21  Dima Kogan  <dima@secretsauce.net>
27480         Make ff-find-other-file symmetric for C++ (Bug#20192)
27482         `cc-other-file-alist' has a mapping of file extensions to switch
27483         between headers and sources, but the mappings weren't completely
27484         symmetric.  In particular .cpp would map to .hh, but .hh would NOT map
27485         to .cpp.
27487         * lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
27488         C++ extensions to make them symmetric with the C++ extensions that map
27489         to them.  This lets repeated invocations of `ff-find-other-file'
27490         toggle between all pairs of sources/headers.
27492 2017-05-21  Philipp Stephani  <phst@google.com>
27494         Fix definition of whitespace in JSON
27496         See
27497         https://lists.gnu.org/r/emacs-devel/2017-05/msg00115.html.
27499         * lisp/json.el (json-skip-whitespace): Fix definition.
27500         * test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
27501         test.
27503 2017-05-21  Philipp Stephani  <phst@google.com>
27505         Improve module function terminology
27507         Module functions were previously called "function environments" when
27508         the functions created by module_make_functions were lambdas.  Now we
27509         can adapt the terminology and rename "function environments" to
27510         "module functions" everywhere.  This also removes the name clash
27511         between "function environments" and "module environments."
27513         * src/emacs-module.c (module_make_function): Adapt comment to reality;
27514         stop using "function environment" terminology.
27515         (funcall_module): Stop using "function environment" terminology.
27517 2017-05-21  Philipp Stephani  <phst@google.com>
27519         Avoid uninitialized read
27521         * src/nsterm.m (ns_read_socket): Don't read uninitialized variable 'nevents'.
27523 2017-05-21  Philipp Stephani  <phst@google.com>
27525         Fix call of registerServicesMenuSendTypes
27527         * src/nsterm.m (initFrameFromEmacs:): nil is not allowed for
27528         returnTypes; pass an empty array instead.
27530 2017-05-21  Philipp Stephani  <phst@google.com>
27532         Clean up code around 'ns-list-services'
27534         * src/nsfns.m (Fns_list_services): Remove unreachable code.  In this
27535         branch NS_IMPL_COCOA cannot be defined.
27536         (interpret_services_menu): Define only if called to avoid compiler
27537         warnings about unused static functions.
27539 2017-05-21  Philipp Stephani  <phst@google.com>
27541         Remove unused automatic variables
27543         * src/nsterm.m (ns_read_socket):
27544         * src/macfont.m (macfont_open): Remove unused automatic variables.
27546 2017-05-21  Philipp Stephani  <phst@google.com>
27548         Nextstep: Replace deprecated enumerators
27550         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:): Replace
27551         deprecated enumerator.
27553 2017-05-21  Philipp Stephani  <phst@google.com>
27555         Nextstep: remove some deprecated method calls
27557         * src/nsterm.m (mouseDown:):
27558         * src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
27559         deprecated method.  The return value is always nil.
27560         * src/macfont.m (mac_font_shape_1): Replace call to deprecated method.
27562 2017-05-21  Philipp Stephani  <phst@google.com>
27564         Remove trailing semicolons in method definitions
27566         These semicolons are ignored and cause compiler warnings.
27568         * src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
27569         * src/nsterm.m (init, updateFrameSize:):
27570         (setFrame:): Remove trailing semicolon.
27572 2017-05-21  Philipp Stephani  <phst@google.com>
27574         Remove calls to deprecated setUsesScreenFonts
27576         * src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
27577         (mac_font_shape_1): Remove screen_font_p parameter.
27578         (mac_screen_font_shape): Remove screen_font_p argument.
27580 2017-05-21  Philipp Stephani  <phst@google.com>
27582         Make a function static that isn't used outside this file
27584         * src/kqueue.c (kqueue_directory_listing): Make static.
27586 2017-05-21  Philipp Stephani  <phst@google.com>
27588         Use NSCharacterCollection instead of CTCharacterCollection
27590         This should not cause behavior changes, but fixes a compiler warning
27591         due to implicit conversions between the enums.
27593         * src/macfont.m (macfont_cache, macfont_lookup_cache)
27594         (macfont_get_glyph_for_cid, macfont_get_uvs_table)
27595         (macfont_variation_glyphs): Use NSCharacterCollection.
27597 2017-05-21  Philipp Stephani  <phst@google.com>
27599         Remove unused function print_regions
27601 2017-05-21  Philipp Stephani  <phst@google.com>
27603         Declare Nextstep unexec functions in lisp.h
27605         This removes compiler warnings about missing prototypes on macOS.
27607 2017-05-21  Philipp Stephani  <phst@google.com>
27609         Nextstep: Use instancetype explicit return type
27611         This removes compiler warnings on macOS and improves type safety.
27613         * src/nsterm.m (initFrameFromEmacs:):
27614         (menuDown:):
27615         (toolbarClicked:):
27616         (toggleToolbar:):
27617         (setMiniwindowImage:):
27618         (initFrame:window:):
27619         (condemn, reprieve, setPosition:portion:whole:):
27620         (repeatScroll:):
27621         * src/nsmenu.m (initWithTitle:):
27622         (initWithTitle:frame:):
27623         (initForView:withIdentifier:):
27624         (init, initWithContentRect:styleMask:backing:defer:):
27625         (initFromContents:isQuestion:):
27626         * src/nsimage.m (allocInitFromFile:):
27627         (initFromXBM:width:height:fg:bg:):
27628         (setXBMColor:):
27629         (initForXPMWithDepth:width:height:): Use instancetype as return
27630         type instead of implicit id.
27632 2017-05-21  Tino Calancha  <tino.calancha@gmail.com>
27634         * lisp/emacs-lisp/package.el (package-delete): Delete readme file as well.
27636 2017-05-21  Alan Mackenzie  <acm@muc.de>
27638         Enhance mode-line percentage offset facility, with "%o" and "%q"
27640         "%o" will display the percentage "travel" of the window through the buffer.
27641         "%q" will display a combination of the percentage offsets of the top and
27642         bottom of the window.  The new user option mode-line-percent-position will
27643         facilitate selecting a setting for this part of the mode line.
27645         * lisp/bindings.el (mode-line-percent-position): New customizable user option.
27646         (mode-line-position): Use mode-line-percent-position in place of "%p", etc.
27648         * src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".
27650         * doc/lispref/modes.texi (Mode Line Variables): Document
27651         mode-line-percent-position.
27652         (%-Constructs): Document %o and %q.
27654         * etc/NEWS: Add an entry for these new facilities.
27656 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
27658         Work around macOS bug in create_process, too
27660         * src/process.c (create_process) [DARWIN_OS]:
27661         Reset SIGCHLD after vfork here, too.
27663 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
27665         Work around macOS bug with vforked child
27667         * src/callproc.c (call_process) [DARWIN_OS]:
27668         Include workaround for apparent macOS bug.
27670 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
27672         Pacify --enable-gcc-warnings without modules
27674         * src/print.c (print_vectorlike): New function, taken from
27675         part of print_object.  This one is indented properly, and
27676         pacifies --enable-gcc-warnings by using a default case
27677         instead of listing all the enum values, sometimes
27678         incompletely.
27679         (print_object): Use it.
27681 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
27683         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code
27685         It does not appear to be needed (Bug#24441).
27686         * etc/PROBLEMS: Remove DARWIN_OS_CASE_SENSITIVE_FIXME stuff.
27687         * src/fileio.c (file_name_case_insensitive_p):
27688         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code.
27690 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
27692         Narrow DARWIN_OS_CASE_SENSITIVE_FIXME to 1 choice
27694         * etc/PROBLEMS: Document this (Bug#24441).
27695         * src/fileio.c (file_name_case_insensitive_p): Prefer pathconf
27696         with _PC_CASE_SENSITIVE, if it works, to
27697         DARWIN_OS_CASE_SENSITIVE_FIXME code.
27698         Support just one method for DARWIN_OS_CASE_SENSITIVE_FIXME,
27699         which matches the Apple documentation more precisely.
27701 2017-05-21  Tom Tromey  <tom@tromey.com>
27703         Fix mhtml-mode fontification bug
27705         Bug#26922
27706         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
27707         sgml-syntax-propertize-inside if not in a submode.
27708         * test/manual/indent/html-multi-4.html: New file.
27710 2017-05-21  Ryan  <rct@thompsonclan.org>  (tiny change)
27712         Fix ido-enable-dot-prefix for empty choice (Bug#26997)
27714         * lisp/ido.el (ido-set-matches-1): Only check first character of
27715         item if it's non-empty.
27717 2017-05-21  Ari Roponen  <ari.roponen@gmail.com>
27719         * lisp/svg.el (svg-line): Fix x/y typo.  (Bug#26953)
27721 2017-05-21  Glenn Morris  <rgm@gnu.org>
27723         Prevent loading vc-bzr writing to ~/.bzr.log
27725         * lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
27727 2017-05-21  Glenn Morris  <rgm@gnu.org>
27729         Prevent running vc-tests writing to ~/.bzr.log
27731         * test/lisp/vc/vc-tests.el (vc-test--create-repo)
27732         (vc-test--register, vc-test--working-revision)
27733         (vc-test--checkout-model): Set temporary BZR_HOME, to disable logging.
27735 2017-05-21  Noam Postavsky  <npostavs@gmail.com>
27737         Don't end non-hook variable with "-hook" (Bug#26623)
27739         * lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
27740         follow-inside-post-command-hook, update uses.
27742 2017-05-21  Charles A. Roelli  <charles@aurox.ch>
27744         Fix macOS mouse movement
27746         * lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
27747         function (Lisp).
27748         (set-mouse-absolute-pixel-position): Change it to call
27749         `ns-set-mouse-absolute-pixel-position' on macOS.
27750         * src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
27751         function.
27752         * src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
27753         screen's height as a base for calculating global coordinates.
27754         * src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
27755         * test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
27756         movement of mouse relative to frame.
27758 2017-05-21  Alan Third  <alan@idiocy.org>
27760         Show tooltip on correct screen (bug#26905)
27762         * src/nsfns.m (compute_tip_xy): Find the correct screen for the
27763         tooltip and constrain it to that screen.
27765 2017-05-21  Andreas Politz  <politza@hochschule-trier.de>
27767         Don't save unrelated buffers before recompiling directory (Bug#25964)
27769         * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
27770         buffers visiting lisp files under the directory being compiled.
27772 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
27774         Minor fixes for arity ranges in emacs modules
27776         * src/emacs-module.c (module_make_function):
27777         Check that arities fit into fixnums, for func-arity’s benefit.
27778         (funcall_module): Avoid unnecessary conversion to EMACS_INT.
27779         (module_function_arity): Allow arities greater than SHRT_MAX.
27781 2017-05-20  Philipp Stephani  <phst@google.com>
27783         Reimplement module functions
27785         Instead of a lambda, create a new type containing all data required to
27786         call the function, and support it in the evaluator.  Because this type
27787         now also needs to store the function documentation, it is too big for
27788         Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
27789         that we don't have to add special support to the garbage collector.
27791         Since the new type is user-visible, give it a predicate.
27793         Now we can easily support 'help-function-args' and 'func-arity'; add
27794         unit tests for these.
27796         * src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
27797         (XMODULE_FUNCTION): New pseudovector type 'module function'.
27799         * src/eval.c (FUNCTIONP): Also treat module functions as functions.
27800         (funcall_lambda, Ffuncall, eval_sub): Add support for calling module
27801         functions.
27802         (Ffunc_arity): Add support for detecting the arity of module
27803         functions.
27805         * src/emacs-module.c (module_make_function): Adapt to new structure.
27806         Return module function object directly instead of wrapping it in a
27807         lambda; remove FIXME.
27808         (funcall_module): New function to call module functions.  Replaces
27809         `internal--module-call' and is called directly from eval.c.
27810         (syms_of_module): Remove internal helper function, which is no longer
27811         needed.
27812         (module_function_arity): New helper function.
27814         * src/data.c (Ftype_of): Adapt to new implementation.
27815         (Fmodule_function_p, syms_of_data): New user-visible function.  Now
27816         that module functions are first-class objects, they deserve a
27817         predicate.  Define it even if not compiled with --enable-modules so
27818         that Lisp code doesn't have to check for the function's existence.
27820         * src/doc.c (Fdocumentation): Support module functions.
27822         * src/print.c (print_object): Adapt to new implementation.
27824         * src/alloc.c (mark_object): Specialized garbage collector support is
27825         no longer needed.
27827         * lisp/help.el (help-function-arglist): Support module functions.
27828         While there, simplify the arity calculation by using `func-arity',
27829         which does the right thing for all kinds of functions.
27831         * test/data/emacs-module/mod-test.c: Amend docstring so we can test
27832         the argument list.
27834         * test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
27835         new docstring.
27836         (mod-test-non-local-exit-signal-test): Because `internal--module-call'
27837         is gone, the backtrace has changed and no longer leaks the
27838         implementation.
27839         (module--func-arity): New test for `func-arity'.
27840         (module--help-function-arglist): New test for `help-function-arglist'.
27842 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
27844         Avoid crashes in GC due to unescaped characters warning
27846         * src/lread.c (load_warn_unescaped_character_literals): Don't cons
27847         Lisp objects from stack-based variables.  (Bug#26961)
27849 2017-05-20  Charles A. Roelli  <charles@aurox.ch>
27851         New commands: find-library-other-window, find-library-other-frame
27853         * lisp/emacs-lisp/find-func.el (find-library-other-window)
27854         (find-library-other-frame): New commands to complement the
27855         existing 'find-library' command.  (Bug#26712)
27856         (read-library-name): New function to read a library name.
27857         * etc/NEWS: Mention 'find-library-other-window' and
27858         'find-library-other-frame'.
27860 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
27862         Fix automatic hscrolling of only the current line
27864         * src/xdisp.c (display_line): When hscrolling only the current
27865         line, increment iterator's first_visible_x and last_visible_x
27866         values to account for the hscroll.  This propagates the hscroll
27867         effect on the iterator geometry all the way down to the
27868         subroutines called by display_line, and avoids scrolling bugs
27869         under large hscroll values.  (Bug#26994)
27871 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
27873         Add handlerlist assertion to module code
27875         * src/emacs-module.c (module_reset_handlerlist):
27876         Check handlerlist.  Suggested by Philipp Stephani in:
27877         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
27879 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
27881         Port --enable-gcc-warnings to clang 3.9.1
27883         * configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
27884         to shut off a false alarm.  Problem reportd by Philipp Stephani in:
27885         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
27887 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
27889         Limit integers printed as characters (Bug#16828)
27891         * lisp/simple.el (eval-expression-print-maximum-character): New
27892         variable.
27893         (eval-expression-print-format): Only display value as character if
27894         it's less than or equal to `eval-expression-print-maximum-character'.
27895         (eval-expression-get-print-arguments): Check
27896         eval-expression-print-maximum-character, allow negative arg to
27897         override it.
27898         (eval-expression):
27899         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
27900         (elisp--eval-last-sexp-print-value): Handle new variable.
27901         * doc/emacs/building.texi (Lisp Eval): Document new variable and
27902         behavior.
27903         * etc/NEWS: Announce it.
27904         * test/lisp/progmodes/elisp-mode-tests.el
27905         (eval-last-sexp-print-format-small-int)
27906         (eval-last-sexp-print-format-small-int-echo)
27907         (eval-last-sexp-print-format-large-int)
27908         (eval-last-sexp-print-format-large-int-echo):
27909         * test/lisp/simple-tests.el (eval-expression-print-format-small-int)
27910         (eval-expression-print-format-small-int-echo)
27911         (eval-expression-print-format-large-int)
27912         (eval-expression-print-format-large-int-echo): New tests.
27914 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
27916         Refactor lisp eval result printing
27918         * lisp/simple.el (eval-expression-print-format): Don't check
27919         `standard-output' or `current-prefix-arg'.
27920         (eval-expression-get-print-arguments): New function, centralizes
27921         decision about how to print results of `eval-expression' and
27922         `eval-last-sexp'.
27923         (eval-expression):
27924         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
27925         Use it.
27927 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
27929         Check that signed right shift is arithmetic
27931         * src/data.c (ash_lsh_impl): Verify that signed right shift is
27932         arithmetic; if we run across a compiler that uses a logical shift
27933         we’ll need to complicate the code before removing this
27934         compile-time check.  Help the compiler do common subexpression
27935         elimination better.
27937 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
27939         Minor .gitignore fixes
27941         * .gitignore: modules/mod-test/Makefile was renamed to
27942         test/data/emacs-module/Makefile.
27943         Omit [0-9]*.core, subsumed by *.core.
27944         test/indent/*.new was renamed to test/manual/indent/*.new.
27945         Add *.swp, for Vim.
27947 2017-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
27949         * lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings
27951 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
27953         Describe problems with Microsoft Intellipoint
27955         * etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
27956         mouse-2 events.  For the details, see
27957         https://lists.gnu.org/r/help-emacs-windows/2017-05/msg00009.html.
27959 2017-05-19  Nick Helm  <nick@tenpoint.co.nz>  (tiny change)
27961         Fix turning off whitespace-mode
27963         * lisp/whitespace.el (whitespace-display-char-on): Correct the way
27964         the original buffer-display-table is saved and restored when
27965         global-whitespace-mode is active.  (Bug#26892)
27967         * test/lisp/whitespace-tests.el
27968         (whitespace-tests-whitespace-mode-on): New function.
27969         (whitespace-tests-display-tables): New test.
27971 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
27973         Minor tweaks in tramp-tests.el
27975         * test/lisp/net/tramp-tests.el (tramp--test-afp-or-smb-p): New defun.
27976         (tramp-test05-expand-file-name-relative): Use it.
27977         (tramp-test38-unload): Run only in batch mode.
27979 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
27981         Fix a problem with OpenSSH 7 in Tramp
27983         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
27984         "ConnectTimeout" during test.  Otherwise, OpenSSH 7 will hang.
27986 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
27988         Improve documentation of 'split-string'
27990         * doc/lispref/strings.texi (Creating Strings): Rearrange text to
27991         make it more readable.  (Bug#26925)
27993 2017-05-19  Ruslan Bekenev  <furyinbox@gmail.com>
27995         Fix typos in doc strings
27997         * lisp/mail/rfc2231.el (rfc2231-encode-string):
27998         * lisp/mail/rfc2047.el (rfc2047-encode-parameter):
27999         * lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
28000         strings.  (Bug#26103)
28002 2017-05-19  Philipp Stephani  <phst@google.com>
28004         Fix module tests on some systems
28006         If dladdr(3) isn't available or didn't work, the printed
28007         representation of a module function will not include the file name,
28008         but only the address.  Make the tests pass in that case.
28010         * test/src/emacs-module-tests.el (module-function-object): Fix match for
28011         module function printed representation
28013 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
28015         Add an optional arguments to string-trim
28017         * lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
28018         (string-trim): Add optional args that serve as defaults per the
28019         original behavior.  (Bug#26908)
28021 2017-05-19  Stephen Berman  <steve@rosalinde.fritz.box>
28023         Fix typo in last change to auto-hscroll-mode
28025         * lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.
28027 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
28029         Support remote editing in emacsclient via Tramp
28031         * lib-src/emacsclient.c (main, decode_options)
28032         (print_help_and_exit, longopts): New option '--tramp' / '-T' which
28033         specifies how emacs should use tramp to find remote files.
28035         * doc/emacs/misc.texi (TCP Emacs server): New subsection describing
28036         the various knobs to tune server.el for TCP opereation.
28037         (emacsclient Options): Reference "TCP Emacs server" from description of
28038         --server-file.  Document the new '--tramp' / '-T' options.
28039         * doc/emacs/emacs.texi (Top): Update the top-level menu.
28041         * etc/NEWS: Mention the new option.
28043 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
28045         * lisp/replace.el (query-replace-regexp-eval): Doc fix.
28047 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
28049         Attempt to work around macOS vfork bug
28051         Problem reported by YAMAMOTO Mitsuharu in:
28052         https://lists.gnu.org/r/emacs-devel/2017-05/msg00342.html
28053         This is related to the fix for Bug#26397.
28054         * src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
28055         Report internal error if wait_for_termination fails.
28056         * src/sysdep.c (get_child_status): Return -1 if waitpid is
28057         buggy, instead of aborting.
28058         (wait_for_termination): Return bool success value.
28059         All callers changed.
28061 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
28063         Adjust defcustom form for 'auto-hscroll-mode'
28065         * lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
28066         defcustom form.  Suggested by Stephen Berman <stephen.berman@gmx.net>.
28068 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
28070         Fix DARWIN_OS_CASE_SENSITIVE_FIXME==2 false alarm
28072         * src/fileio.c (file_name_case_insensitive_p):
28073         Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
28074         code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
28075         Problem reported by Philipp Stephani in:
28076         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
28078 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
28080         Port --enable-gcc-warnings to clang 3.9.1
28082         * configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
28083         Problem reported by Philipp Stephani in:
28084         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
28086 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
28088         Clean up compiler warning in emacs-module.c
28090         * src/emacs-module.c (MODULE_SETJMP_1): Use the local var
28091         instead of leaving it unused, to pacify picky compilers.
28092         (module_reset_handlerlist): Now takes a dummy pointer to a struct
28093         handler *, instead of a dummy pointer to an int.  All uses changed.
28095 2017-05-19  Philipp Stephani  <phst@google.com>
28097         Clean up some compiler warnings
28099         * src/sysdep.c (system_process_attributes) [DARWIN_OS]:
28100         Remove unused locals.
28102 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
28104         Support hscrolling only the current line
28106         * src/xdisp.c (hscrolling_current_line_p): New function.
28107         (init_iterator): If auto-hscrolling just the current line, don't
28108         increment the iterator's first_visible_x and last_visible_x
28109         variables.
28110         (hscroll_window_tree): Recompute window's hscroll when moving
28111         vertically to another screen line.
28112         (redisplay_window): If we are hscrolling only the current line,
28113         disable the optimizations that rely on the current matrix being
28114         up-to-date.
28115         (display_line): Accept an additional argument CURSOR_VPOS, the
28116         vertical position of the current screen line which might need
28117         hscrolling; all callers changed.  Compute first_visible_x and
28118         last_visible_x specially when auto-hscrolling current line, by
28119         repeating the calculation that is done in init_iterator in other
28120         modes.
28121         (syms_of_xdisp) <auto-hscroll-mode>: No longer boolean, it can now
28122         accept a 3rd value 'current-line, to turn on the mode where
28123         only the current line is hscrolled.
28125         * etc/NEWS: Mention the new auto-hscroll-mode value.
28127 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
28129         Fix last change in line-move-finish
28131         * lisp/simple.el (line-move-finish): Fix last change.  This corrects a
28132         regression in C-n and C-p when lines are truncated, introduced by the
28133         change in 2017-05-10.
28135 2017-05-18  Simen Heggestøyl  <simenheg@gmail.com>
28137         Expand docstring for CSS mode
28139         * lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
28140         Expand docstrings.
28142 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
28144         Use the expression angle units while simplifying it
28146         Don't use the angle mode, use the angle units included
28147         in the expression instead (Bug#23889).
28148         * lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
28149         (math-simplify): Use it.
28150         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
28151         Don't use calc-angle-mode if math-simplifying-units is non-nil.
28152         * lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
28153         (math-to-radians-2, math-from-radians-2): Don't convert angle
28154         to radians if math-simplifying-units is non-nil.
28155         * test/lisp/calc/calc-tests.el (test-calc-23889): Add test.
28157 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
28159         Revert "Ignore angle mode while simplifying units"
28161         This reverts commit 713e922243fb60d850f7b0ff83f3e2a3682f1832.
28162         This commit causes Bug#25652.
28164 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
28166         Avoid undefined behavior in struct sockaddr
28168         Problem noted by Philipp Stephani in:
28169         https://lists.gnu.org/r/emacs-devel/2017-05/msg00391.html
28170         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
28171         New macros.
28172         * src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
28173         (connect_network_socket, network_interface_info)
28174         (server_accept_connection): Use it when aliasing non-char objects.
28176 2017-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
28178         * lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs
28180         Rename from smerge-refine-subst.  Allow the `beg's to be markers.
28181         Add autoload cookie.
28182         (smerge--refine-forward): Rename from smerge-refine-forward.
28183         (smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
28184         Assume that its `beg` arg is a marker.
28185         (smerge--refine-highlight-change): Rename from
28186         smerge-refine-highlight-change.  Remove `buf` arg.
28187         (smerge-refine-subst): Redefine as an obsolete alias.
28189 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
28191         Work around AddressSanitizer bug with vfork
28193         Problem reported by Jim Meyering in:
28194         https://lists.gnu.org/r/emacs-devel/2017-05/msg00246.html
28195         * src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
28196         Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
28197         vforked child messes up the parent’s shadow memory.  This is too
28198         bad, as we’d rather have AddressSanitizer catch memory-access bugs
28199         related to vfork.
28201 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
28203         Catch IPv4/IPv6 issues at compile time
28205         * src/process.c (connect_network_socket): Use verify,
28206         not eassert, so that any problems are caught at compile-time.
28207         Avoid dodgy cast by using a local var of the correct type.
28209 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
28211         Pacify --enable-gcc-warnings --with-x-toolkit=no
28213         * src/composite.c (autocmp_chars) [!HAVE_WINDOW_SYSTEM]:
28214         Avoid unused local.
28216 2017-05-17  Glenn Morris  <rgm@gnu.org>
28218         * admin/update_autogen (commit): Pull before push.
28220 2017-05-17  Glenn Morris  <rgm@gnu.org>
28222         autoload-rubric no longer provides a feature by default
28224         * lisp/emacs-lisp/autoload.el (autoload-rubric):
28225         Stop providing a feature unless explicitly requested.
28226         (autoload-find-generated-file): Update autoload-rubric call.
28228 2017-05-17  Eli Zaretskii  <eliz@gnu.org>
28230         Remove redundant code in connect_network_socket
28232         * src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
28233         Remove redundant type-casting and variables.  Don't call
28234         'getsockname' to find the port for AF_LOCAL sockets.
28235         [AF_INET6]: Add an assertion to verify that the ports in the IPv4
28236         and IPv6 structures are at the same offset and have the same size.
28238 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
28240         Fix minor timezone memory leak
28242         * src/editfns.c (wall_clock_tz): Remove; unused.
28244 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
28246         Do not discard AddressSanitizer stderr
28248         * src/emacs.c (close_output_streams) [ADDRESS_SANITIZER]:
28249         Do not close stderr.
28251 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
28253         Simplify procname code to avoid GCC bug
28255         * src/process.c (server_accept_connection): Simplify and avoid
28256         multiple calls and struct literals in the last case of a switch.
28257         The old code ran afoul of GCC bug 80659, which caused an internal
28258         compiler error.  Problem reported by Jim Meyering in:
28259         https://lists.gnu.org/r/emacs-devel/2017-05/msg00182.html
28260         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
28262 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
28264         Pacify GCC 7 with --enable-gcc-warnings
28266         * src/regex.c (regex_compile): Swap labels, so that the
28267         FALLTHROUGH immediately precedes the case label.
28269 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
28271         Merge with gnulib, pacifying GCC 7
28273         This incorporates:
28274         2017-05-16 manywarnings: update for GCC 7
28275         2017-05-15 sys_select: Avoid "was expanded before it was required"
28276         * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
28277         -Wformat-overflow=2 options, due to too many false alarms.
28278         * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
28279         Copy from gnulib.
28280         * m4/gnulib-comp.m4: Regenerate.
28281         * src/coding.c (decode_coding_iso_2022):
28282         Fix bug uncovered by -Wimplicit-fallthrough.
28283         * src/conf_post.h (FALLTHROUGH): New macro.
28284         Use it to mark all switch cases that fall through.
28285         * src/editfns.c (styled_format): Use !, not ~, on bool.
28286         * src/gtkutil.c (xg_check_special_colors):
28287         When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
28288         (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
28289         this bug was actually caught by Clang.
28290         * src/search.c (boyer_moore):
28291         Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
28292         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
28293         Tell GCC that glyph->u.glyphless.ch must be a character.
28295 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
28297         Make autoloading Tramp more robust
28299         * lisp/net/tramp.el (tramp-file-name-for-operation):
28300         Use `default-directory' where appropriate.
28301         (tramp-file-name-handler): Do not autoload.
28302         (tramp-autoload-file-name-handler): Reintroduce function.
28303         (tramp-register-autoload-file-name-handlers): Use it.
28305 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
28307         Extend tramp-tests.el
28309         * test/lisp/net/tramp-tests.el (tramp-change-syntax):
28310         Remove declaration, not needed anymore.
28311         (tramp-test05-expand-file-name-relative): New test.
28312         (tramp-test10-write-region): Extend test.
28314 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
28316         * lisp/net/tramp.el: Avoid recursive load of Tramp.  (Bug#26943)
28318 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
28320         Make `indent-line-to' respect field boundaries (Bug#26891)
28322         * lisp/indent.el (indent-line-to): Use `back-to-indentation' instead
28323         of `backward-to-indentation'.
28325 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
28327         Make sure indent-sexp stops at end of sexp (Bug#26878)
28329         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before
28330         indenting.
28331         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New
28332         test.
28334 2017-05-16  Glenn Morris  <rgm@gnu.org>
28336         Stop some epg tests failing on rhel7 with gpg 2.0.22 (bug#23619)
28338         * test/lisp/epg-tests.el (with-epg-tests):
28339         Also set GNUPGHOME in the environment of child processes.
28340         This avoids problems if gpg does not pass --homedir to spawned agent.
28342 2017-05-16  Glenn Morris  <rgm@gnu.org>
28344         Add oldxmenu to system-configuration-features
28346         * configure.ac (HAVE_OLDXMENU): New.
28347         (emacs_config_features): Add oldxmenu.
28349 2017-05-15  Ted Zlatanov  <tzz@lifelogs.com>
28351         * .gitlab-ci.yml: Adjust disclaimer as per RMS.
28353 2017-05-15  Eli Zaretskii  <eliz@gnu.org>
28355         Remove unneeded stuff from nt/inc/sys/time.h
28357         * nt/inc/sys/time.h (_TIMEVAL_DEFINED, struct timevat, timerisset)
28358         (timercmp, timerclear): Don't define.  Instead, include the system
28359         header sys/time.h, and add only the interval timers stuff.  This
28360         avoids compiler warnings about 'gettimeofday's prototype, and also
28361         avoids redefinition of macros from system headers.
28363 2017-05-15  Paul Eggert  <eggert@cs.ucla.edu>
28365         Fix address violation found by AddressSanitizer
28367         * src/process.c (connect_network_socket):
28368         Use struct sockaddr_storage, not struct sockaddr_in, to store info
28369         about a socket address.  Problem reported by Philipp Stephani in:
28370         https://lists.gnu.org/r/emacs-devel/2017-05/msg00314.html
28371         This fix is based on a patch by Philipp in:
28372         https://lists.gnu.org/r/emacs-devel/2017-05/msg00357.html
28374 2017-05-14  Gemini Lasswell  <gazally@runbox.com>
28376         Make edebug-step-in work on generic methods (Bug#22294)
28378         * lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
28379         New function to implement the edebug-form-spec property of
28380         the symbol cl-generic-method-args.
28381         (edebug-instrument-function): If the function is a generic
28382         function, find and instrument all of its methods. Return a list
28383         instead of a single symbol.
28384         (edebug-instrument-callee): Now returns a list. Update docstring.
28385         (edebug-step-in): Handle the list returned by edebug-instrument-callee.
28386         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
28387         cl-generic-method-args in its Edebug spec.
28388         * lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
28389         cl-generic-method-args in its Edebug spec.
28390         * lisp/subr.el (method-files): New function.
28391         * test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
28392         (subr-tests--method-files--nonexistent-methods): New tests.
28394 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
28396         Merge from gnulib
28398         This incorporates:
28399         2017-05-14 same-inode: Adapt for windows-stat-inodes
28400         2017-05-14 windows-stat-inodes: New module
28401         2017-05-14 stat-time: Adapt for windows-stat-timespec
28402         * lib/gnulib.mk.in: Regenerate.
28403         * lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
28404         Copy from gnulib.
28406 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
28408         Remove gettimeofday from w32 sources
28410         * lib-src/ntlib.c (gettimeofday):
28411         * nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused
28412         function 'gettimeofday' and all of its supporting code.
28414 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
28416         Fix the MS-Windows build
28418         * nt/inc/sys/time.h (gettimeofday):
28419         * src/w32.c (gettimeofday): Adjust signature to match Gnulib.
28421 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
28423         More accurate documentation of the ':box' face attribute
28425         * doc/lispref/display.texi (Face Attributes): Fix the description
28426         of negative width of the ':box' attribute.  (Bug#26920)
28428 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
28430         Merge from gnulib
28432         This incorporates:
28433         2017-05-13 largefile: Simplify
28434         2017-05-13 largefile: Improve and document
28435         2017-05-13 truncate: New module
28436         2017-05-13 windows-stat-timespec: New module
28437         2017-05-13 windows-stat-override: New module
28438         2017-05-11 getopt-posix: port to mingw
28439         2017-05-11 gettimeofday: Increase precision on mingw
28440         2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
28441         2017-05-10 Implement a way to opt out from MSVC support
28442         2017-05-09 tzset: Expand comment about TZ problem on native Windows
28443         * build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
28444         * lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
28445         * lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
28446         * lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
28447         * m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
28448         * m4/unistd_h.m4: Copy from gnulib.
28449         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
28451 2017-05-14  Marcin Borkowski  <mbork@mbork.pl>
28453         Merge branch 'fix/bug-21072'
28455 2017-05-14  Ted Zlatanov  <tzz@lifelogs.com>
28457         * .gitlab-ci.yml: Add setup for GitLab CI builds.
28459 2017-05-13  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
28461         New minor mode 'pixel-scroll-mode'
28463         * lisp/pixel-scroll.el: New file.
28465         * etc/NEWS: Mention pixel-scroll-mode.
28467 2017-05-13  Philipp  <phst@google.com>
28469         Make `old-style-backquotes' variable internal
28471         * src/lread.c (load_warn_old_style_backquotes, Fload, read1)
28472         (syms_of_lread): Rename `old-style-backquotes' to
28473         `lread--old-style-backquotes', and clarify that it's for internal
28474         use only.
28475         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
28476         variable.
28477         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Add
28478         unit test.
28479         * test/lisp/emacs-lisp/bytecomp-tests.el
28480         (bytecomp-tests--old-style-backquotes): Add unit test.
28482 2017-05-13  Philipp Stephani  <phst@google.com>
28484         Improve unescaped character literal warnings
28486         * src/lread.c (load_warn_unescaped_character_literals)
28487         (syms_of_lread):
28488         lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve
28489         formatting of unescaped character literal warnings.
28491         * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
28492         test/lisp/emacs-lisp/bytecomp-tests.el
28493         (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
28495 2017-05-12  Alan Mackenzie  <acm@muc.de>
28497         Fontify C++ for loop variable as variable, even when followed by parentheses
28499         In the following: "for (auto *Friend : Class->friends()) {", "Friend" was
28500         getting fontified as a function, due to insufficient checking of the tokens
28501         between it and "()".
28503         * lisp/progmodes/cc-langs.el (c-:-op-cont-tokens, c-:-op-cont-regexp): New
28504         lang-consts/vars.
28506         * lisp/progmodes/cc-engine.el (c-forward-declarator): After finding a putative
28507         declarator's identifier, check for a ":" token inside a for's parentheses, and
28508         abort the search for "(" if this is found.
28510 2017-05-12  Michael Albinus  <michael.albinus@gmx.de>
28512         Make Tramp backward compatible
28514         * lisp/net/tramp-cmds.el (tramp-change-syntax):
28515         Set tramp-autoload cookie.
28517         * lisp/net/tramp-compat.el: Run `tramp-change-syntax' at
28518         startup, if necessary.
28520         * lisp/net/tramp.el (tramp-syntax): Use `tramp-compat-user-error'.
28521         (tramp-register-autoload-file-name-handlers): Do not mark
28522         `operations' for `tramp-file-name-handler'.
28523         (tramp-register-file-name-handlers): Remove also
28524         `tramp-autoload-file-name-handler' for backward compatibility.
28525         (tramp-register-foreign-file-name-handler): Use `delete-dups'.
28527         * test/lisp/net/tramp-tests.el (tramp-change-syntax): Declare.
28529 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
28531         Modify `beginning-of-defun-comments'
28533         * lisp/emacs-lisp/lisp.el (beginning-of-defun-comments): Try not to stop
28534         in the middle of a multiline comment.
28536 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
28538         Fix elisp-tests-with-temp-buffer compilation
28540         * test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer):
28541         Don't refer to the =!NAME= as "markers" since they produce variables
28542         with just plain positions, not marker objects.  Explicitly specify
28543         that CONTENTS is evaluated at compile time.  Don't re-evaluate
28544         CONTENTS at runtime.  Fix debug specification.  Suppress warnings due
28545         to BODY not using =!NAME= variables.
28546         (elisp-test-point-position-regex): Rename from
28547         `elisp-test-point-marker-regex'.
28548         (mark-defun-test-buffer): Wrap in `eval-and-compile'.
28550 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
28552         * lisp/emacs-lisp/lisp.el (mark-defun): Simplify moving the point.
28554 2017-05-12  Marcin Borkowski  <mbork@mbork.pl>
28556         Fix Bug#21072 and rework `mark-defun'
28558         * test/lisp/progmodes/elisp-mode-tests.el (mark-defun-test-buffer):
28559           New variable
28560         (mark-defun-no-arg-region-inactive)
28561         (mark-defun-no-arg-region-active)
28562         (mark-defun-arg-region-active)
28563         (mark-defun-pos-arg-region-inactive)
28564         (mark-defun-neg-arg-region-inactive, mark-defun-bob): Add tests for
28565         the new `mark-defun'.
28567         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p):
28568           New function.
28569         (beginning-of-defun-comments): New function.
28570         (mark-defun): Fix bug#21072, also rewrite large parts of `mark-defun'
28571         to accept a numerical prefix argument.
28573 2017-05-12  Alfred M. Szmidt  <ams@gnu.org>
28575         * lisp/mail/rmail.el (rmail-ignored-headers): Add 3 headers to ignore.
28577 2017-05-12  Eli Zaretskii  <eliz@gnu.org>
28579         Improve doc strings in net-utils.el
28581         * lisp/net/net-utils.el (ifconfig, iwconfig, netstat, arp)
28582         (route, traceroute, nslookup, ftp, smbclient)
28583         (smbclient-list-shares, finger, whois)
28584         (network-connection-to-service, network-service-connection)
28585         (network-connection-reconnect): Improve doc strings.
28587 2017-05-12  Andrew Robbins  <contact@andrewrobbins.info>
28589         Extend DNS lookup commands to allow specifying the name server
28591         * lisp/net/net-utils.el (ffap-string-at-point): Removed due to
28592         'net-utils-machine-at-point' obviating this autoloaded
28593         function (Bug#25426).
28594         (dig-program-options): New customization variable.
28595         (nslookup-host, dns-lookup-host, run-dig): Can now specify
28596         optional name server argument interactively (by prefix arg) and
28597         non-interactively.
28599         * etc/NEWS: Mention the extension of DNS lookup commands.
28601 2017-05-12  Glenn Morris  <rgm@gnu.org>
28603         Don't hard-code loaddefs files in lisp/Makefile
28605         * lisp/Makefile.in (loaddefs): New variable.
28606         (AUTOGENEL): Use $loaddefs, and include directory.
28607         (bootstrap-clean): Update for AUTOGENEL change.
28609 2017-05-11  Katsumi Yamaoka  <yamaoka@jpl.org>
28611         Kill modified buffers silently when quitting (bug#26862)
28613         * lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make
28614         sure that latest drafts are saved, and kill modified buffers silently.
28616 2017-05-10  Perry E. Metzger  <perry@piermont.com>
28618         Implement 1-based column numbering in mode line
28620         * src/xdisp.c (decode_mode_spec): Implement the %C construct.
28622         * lisp/bindings.el (column-number-indicator-zero-based): New
28623         defcustom.
28624         (mode-line-position): Use %C when
28625         column-number-indicator-zero-based is nil.
28627         * src/xdisp.c (syms_of_xdisp) <frame-title-format>:
28628         * src/buffer.c (syms_of_buffer) <mode-line-format>:
28629         * doc/lispref/modes.texi (%-Constructs):
28630         * doc/lispref/frames.texi (Frame Titles): Document the %C
28631         construct.
28633         * doc/emacs/display.texi (Optional Mode Line): Document
28634         'column-number-indicator-zero-based'.
28636         * etc/NEWS: Mention 'column-number-indicator-zero-based' and the
28637         %C construct.
28639 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
28641         Ensure cursor's foreground color is in sync with 'default' face
28643         * src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its
28644         foreground color is different from the background of the glyph
28645         string's face.  (Bug#26851)
28647 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
28649         Fix vertical cursor motion when columns are of unequal size
28651         * lisp/simple.el (line-move-finish): In line-move-visual mode, use
28652         vertical-motion to move to the goal column, as the goal column
28653         should in that case be interpreted in units of frame's canonical
28654         character width.  (Bug#26852)
28656 2017-05-10  Glenn Morris  <rgm@gnu.org>
28658         Fix finding test .el files
28660         * test/Makefile.in (ELFILES): Exclude the data/ directory.
28661         * test/src/lread-tests.el (lread-test-bug26837): Revert previous.
28663 2017-05-10  Tino Calancha  <tino.calancha@gmail.com>
28665         Tweak a recent test
28667         This test fails in my local machine because the data files
28668         are compiled, and the test doesn't expect that.
28669         * test/src/lread-tests.el (lread-test-bug26837): Match a suffix
28670         ending with '.elc' when the data files are compiled.
28672 2017-05-10  Glenn Morris  <rgm@gnu.org>
28674         Put license information in each generated uni-*.el
28676         * admin/unidata/unidata-gen.el (unidata-gen-file):
28677         Get Copyright line from copyright.html.
28678         Put information in file header, not separate README.
28679         (unidata-gen-charprop): Mention the source location.
28680         * lisp/international/README: Remove file.
28682 2017-05-10  Noam Postavsky  <npostavs@gmail.com>
28684         Fix lisp-indent-region and indent-sexp (Bug#26619)
28686         The new lisp-indent-region introduced in 2017-04-22 "Add new
28687         `lisp-indent-region' that doesn't reparse the code." is broken because
28688         it doesn't save the calculated indent amounts for already seen sexp
28689         depths.  Fix this by unifying the indent-sexp and lisp-indent-region
28690         code.  Furthermore, only preserve position 2 of the running parse
28691         when the depth doesn't change.
28692         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that
28693         corresponds with the start point when calling parse-partial-sexp.
28694         (lisp-indent-state): New struct.
28695         (lisp-indent-calc-next): New function, extracted from indent-sexp.
28696         (indent-sexp, lisp-indent-region): Use it.
28697         (lisp-indent-line): Take indentation, instead of parse state.
28698         * test/lisp/emacs-lisp/lisp-mode-tests.el
28699         (lisp-mode-tests--correctly-indented-sexp): New constant.
28700         (lisp-indent-region, lisp-indent-region-defun-with-docstring):
28701         (lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New
28702         tests.
28704 2017-05-10  Dmitry Gutov  <dgutov@yandex.ru>
28706         Simplify url-encode-url and add a test
28708         * lisp/url/url-util.el (url-encode-url): Simplify.
28709         url-generic-parse-url copes with multibyte strings just fine
28710         (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24117#185).
28712         * test/lisp/url/url-parse-tests.el
28713         (url-generic-parse-url/multibyte-host-and-path): New test.
28715 2017-05-10  Glenn Morris  <rgm@gnu.org>
28717         More informative error when required feature missing
28719         * src/fns.c (Frequire): Include file name in missing feature error.
28720         * doc/lispref/loading.texi (Named Features): Don't quote actual error.
28722 2017-05-10  Glenn Morris  <rgm@gnu.org>
28724         Put re-loaded file back at start of load-history (bug#26837)
28726         * src/lread.c (readevalloop): Fix the "whole buffer" check to
28727         operate in the correct buffer.
28728         (Feval_buffer): Move point back to the start after checking
28729         for lexical binding.
28730         * test/src/lread-tests.el (lread-test-bug26837): New test.
28731         * test/data/somelib.el, test/data/somelib2.el: New test data files.
28733 2017-05-09  Eli Zaretskii  <eliz@gnu.org>
28735         Improve documentation of 'gnutls-verify-error'
28737         * lisp/net/gnutls.el (gnutls-verify-error): Improve and expand
28738         doc string.  (Bug#26845)
28740 2017-05-09  Glenn Morris  <rgm@gnu.org>
28742         Don't duplicate autoload code in package.el
28744         * lisp/emacs-lisp/autoload.el (autoload-rubric): Add a package option.
28745         * lisp/emacs-lisp/package.el (autoload-rubric): Declare.
28746         (package-autoload-ensure-default-file): Use autoload-rubric.
28748 2017-05-09  Michael Albinus  <michael.albinus@gmx.de>
28750         * test/lisp/net/tramp-tests.el: Keep additional test.
28752 2017-05-09  Marcin Borkowski  <mbork@mbork.pl>
28754         Add elisp-tests-with-temp-buffer, a new testing macro
28756         * test/lisp/emacs-lisp/lisp-tests.el
28757         (elisp-test-point-marker-regex) New variable.
28758         (elisp-tests-with-temp-buffer): New macro to help test functions
28759         moving the point and/or mark.
28761 2017-05-09  Noam Postavsky  <npostavs@gmail.com>
28763         Revert "Output number of characters added to file (Bug#354)"
28765         The extra message text turned out to be quite annoying in practice,
28766         and is generally more trouble than it's worth.  Also revert several
28767         related changes.
28769         Partially revert "Handle `write-region' messages in Tramp properly"
28770         Revert "New var write-region-verbose, default nil"
28771         Revert "* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)"
28772         Revert "Minor tuneup of write-region change"
28773         Revert "Adjust write-region so file name is at the beginning again"
28774         Revert "Fix handling of non-integer START param to write-region"
28775         Revert "Output number of characters added to file (Bug#354)"
28777         * doc/emacs/files.texi (Misc File Ops):
28778         * etc/NEWS:
28779         * lisp/epa-file.el (epa-file-write-region):
28780         * lisp/gnus/mm-util.el (mm-append-to-file):
28781         * lisp/jka-compr.el (jka-compr-write-region):
28782         * lisp/net/ange-ftp.el (ange-ftp-write-region):
28783         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
28784         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
28785         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
28786         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
28787         * lisp/net/tramp.el (tramp-handle-write-region-message):
28788         * src/fileio.c (write_region, syms_of_fileio):
28789         * test/lisp/net/tramp-tests.el (tramp-test10-write-region): Remove
28790         extra characters from file writing messages.
28792 2017-05-09  Noah Friedman  <friedman@splode.com>
28794         (ybuffer-list): $alist must be ptr-unmasked at the end of the loop,
28795         because $ptr is modified by ygetptr and we use $ptr immediately at the
28796         beginning.
28798 2017-05-08  Ken Brown  <kbrown@cornell.edu>
28800         Skip a test from filenotify-tests.el on Cygwin
28802         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
28803         Skip the last part of the test on Cygwin; it fails due to timing
28804         issues.
28805         (file-notify--test-read-event):  Remove `sit-for' that was added
28806         for Cygwin.
28808 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
28810         Merge from gnulib
28812         This incorporates:
28813         2017-05-08 intprops: don’t depend on ‘verify’
28814         2017-05-07 utimens: on native Windows, improve resolution if fd < 0
28815         2017-05-07 utimens: Improve error code on native Windows
28816         * lib/intprops.h, lib/utimens.c: Copy from gnulib.
28818 2017-05-08  Wilson Snyder  <wsnyder@wsnyder.org>
28820         Fix various verilog-mode.el issues.
28822         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix SystemVerilog
28823         2012 import breaking AUTOINST.  Reported by Johannes Schaefer.
28824         (verilog-auto-wire-type, verilog-insert-definition): Fix AUTOWIRE using
28825         logic in top-level non-SystemVerilog module, bug1142.  Reported by Marcin K.
28826         (verilog-define-abbrev-table) (verilog-mode-abbrev-table): Don't expand
28827         abbrev inside comment/strings, bug1102. Reported by Slava Yuzhaninov.
28828         (verilog-auto): Fix AUTORESET widths pulling from AUTOREGINPUT,
28829         msg2143. Reported by Galen Seitz.
28830         (verilog-modify-compile-command): Fix expansion of __FLAGS__ when
28831         compile-command is globally set, bug1119.  Reported by Galen Seitz.
28833 2017-05-08  Michael Albinus  <michael.albinus@gmx.de>
28835         Handle `write-region' messages in Tramp properly
28837         * lisp/net/tramp.el (tramp-handle-write-region-message): New defsubst.
28838         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
28839         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
28840         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
28841         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use it.
28843         * lisp/net/tramp.el (tramp-password-prompt-regexp)
28844         (tramp-completion-mode-p):
28845         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
28846         (tramp-append-tramp-buffers):
28847         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
28848         Use `bound-and-true-p'.
28850         * lisp/net/tramp-compat.el (tramp-compat-delete-file):
28851         Don't check for `boundp' anymore.
28853         * test/lisp/net/tramp-tests.el (ert-x): Require it.
28854         (tramp--test-messages): New defvar.
28855         (tramp-test10-write-region): Extend test.
28857 2017-05-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
28859         Fix glyph string generation for multi-font compositions (Bug#26742)
28861         * src/xdisp.c (glyph_string_containing_background_width): New function.
28862         (draw_glyphs): Use it to get correct background width.
28863         (compute_overhangs_and_x): Don't change x in the middle of composite
28864         characters.
28866 2017-05-07  Philipp Stephani  <phst@google.com>
28868         Fix all unescaped character literals
28870 2017-05-07  Alan Mackenzie  <acm@muc.de>
28872         CC Mode internal cache: Handle a cache pos being inside a two-char construct.
28874         Cache c-state-semi-nonlit-pos-cache was failing when a cache position was,
28875         e.g., between the two characters of an opening comment "/*", and additionally
28876         there were an odd number of quote marks (apostrophes) in the comment.  This
28877         happened in .../src/xdisp.c in the Emacs master branch around 2017-05-02 at
28878         buffer position 615001.
28880         * lisp/progmodes/cc-defs.el (c-emacs-features): Repurpose symbol
28881         pps-extended-state to mean that there are at least 11 elements in the parser
28882         state.
28884         * lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state)
28885         (c-parse-ps-state-to-cache): Rewrite these to use enhanced cache element list
28886         types which indicate potentially being inside two-char constructs.
28887         (c-parse-ps-state-below): Rewrite to use the new versions of the above two
28888         functions.
28890 2017-05-07  Glenn Morris  <rgm@gnu.org>
28892         Silence an mh-compat compiler warning
28894         * lisp/mh-e/mh-compat.el (mh-url-unreserved-chars): Always define.
28896 2017-05-07  Glenn Morris  <rgm@gnu.org>
28898         Evaluate mh-require when compiling
28900         * lisp/mh-e/mh-alias.el, lisp/mh-e/mh-folder.el:
28901         * lisp/mh-e/mh-gnus.el, lisp/mh-e/mh-search.el:
28902         Evaluate mh-require when compiling, as require is automatically.
28903         * lisp/mh-e/mh-gnus.el: No longer disable byte-compilation.
28905 2017-05-07  Glenn Morris  <rgm@gnu.org>
28907         Remove obsolete method of changing byte-compile-dest-file
28909         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
28910         Define unconditionally.
28912 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
28914         New var write-region-verbose, default nil
28916         By popular demand, write-region char counts are now off by default
28917         (Bug#26796).
28918         * src/fileio.c (write-region-verbose): New Lisp var.
28919         (write_region): Output char count only if the var is non-nil.
28920         * doc/emacs/files.texi (Misc File Ops), etc/NEWS: Document this.
28922 2017-05-07  Glenn Morris  <rgm@gnu.org>
28924         Write autoloads file atomically
28926         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
28927         New function, to save buffer atomically.
28928         (autoload-save-buffers, update-directory-autoloads):
28929         Use autoload--save-buffer.
28930         * lisp/Makefile.in ($(lisp)/loaddefs.el):
28931         No longer write to a temp file by hand.
28933 2017-05-07  Glenn Morris  <rgm@gnu.org>
28935         Write autoloads file once only
28937         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
28938         Simplify.  Don't bother about ensuring the output file exists.
28939         (autoload-generated-file): Add doc.
28940         (autoload-ensure-writable): Update doc.
28941         (autoload-ensure-file-writeable): Handle non-existing file.
28942         (autoload-ensure-default-file): Remove function.
28944 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
28946         Port .gdbinit to GDB 7.11.1 + Python 2.7.12
28948         * src/.gdbinit (Lisp_Object_Printer.to_string):
28949         Explicitly convert integer val to 'int', so that
28950         older GDBs do not complain about the conversion.
28951         * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]:
28952         Give the struct a tag, so that older GDB pretty-printers have a
28953         tag to hang their hat on.
28955 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
28957         Pretty-print const Lisp_Objects in .gdbinit
28959         * src/.gdbinit (Emacs_Pretty_Printers.__call__):
28960         Compare unqualified type to Lisp_Object, to do the right thing
28961         when the expression has type ‘Lisp_Object const’.
28962         Problem reported by Eli Zaretskii in:
28963         https://lists.gnu.org/r/emacs-devel/2017-05/msg00138.html
28965 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
28967         Pacify GCC setjmp/longjmp warning
28969         * src/eval.c (internal_lisp_condition_case): Do not modify local
28970         var VAR, to pacify GCC’s setjmp/longjmp warning which in some
28971         cases mistakenly diagnoses VAR possibly being modified between a
28972         setjmp and a longjmp.
28974 2017-05-06  Philipp  <phst@google.com>
28976         Fix bootstrap build of files.el
28978         * lisp/files.el (file-name-non-special): Don't use cl-letf.
28980 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
28982         Fix last change for MS-Windows
28984         * test/src/emacs-module-tests.el (module-function-object): Port to
28985         MS-Windows.
28987 2017-05-06  Philipp Stephani  <phst@google.com>
28989         Introduce new misc type for module function
28991         This resolves a couple of FIXMEs in emacs-module.c.
28993         * src/lisp.h (MODULE_FUNCTIONP, XMODULE_FUNCTION): New functions.
28995         * src/alloc.c (make_module_function): New function.
28996         (mark_object): GC support.
28998         * src/data.c (Ftype_of, syms_of_data): Handle module function type.
29000         * src/print.c (print_object): Print support for new type.
29002         * src/emacs-module.c (module_make_function, Finternal_module_call):
29003         Use new module function type, remove FIXMEs.
29004         (module_format_fun_env): Adapt and give it external linkage.
29006         * test/src/emacs-module-tests.el (module-function-object): Add unit
29007         test.
29009 2017-05-06  Philipp Stephani  <phst@google.com>
29011         Fix quoted files for 'verify-visited-file-modtime'
29013         Fixes Bug#25951.
29015         * lisp/files.el (file-name-non-special): Set the file name for the
29016         correct buffer.
29018         * test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
29019         Add unit test.
29020         (files-tests--with-advice, files-tests--with-temp-file): New helper
29021         macros.
29023 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
29025         * src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)
29027 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
29029         Turn on GC_CHECK_MARKED_OBJECTS by default under ENABLE_CHECKING
29031         * src/alloc.c (GC_CHECK_MARKED_OBJECTS): Define to 1 by default of
29032         ENABLE_CHECKING is defined.
29033         (mark_object): Test for GC_CHECK_MARKED_OBJECTS being non-zero,
29034         instead of being defined.
29036 2017-05-06  Tom Tromey  <tom@tromey.com>
29038         Fix erc-join with channel password
29040         Bug#25349
29041         * lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
29042         server names.
29043         (erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
29044         Likewise.
29045         (erc-server-join-channel): Move to erc.el.
29046         * lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
29047         (erc-cmd-JOIN): Use erc-server-join-channel.
29049 2017-05-06  Tino Calancha  <tino.calancha@gmail.com>
29051         Ensure the created temp file in a test is new
29053         * test/lisp/buff-menu-tests.el (buff-menu-24962): Use `make-temp-file'
29054         to create the temp file.
29056 2017-05-06  Glenn Morris  <rgm@gnu.org>
29058         Decruftify dns-mode.el a little bit
29060         * lisp/textmodes/dns-mode.el (dns-mode-control-entities):
29061         New constant.
29062         (dns-mode-control-entity, dns-mode-bad-control-entity)
29063         (dns-mode-type, dns-mode-class): New faces.
29064         (dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
29065         (dns-mode-type-face, dns-mode-class): Make these variables use the
29066         new faces, and mark as obsolete.
29067         (dns-mode-font-lock-keywords): Use dns-mode-control-entities.
29069 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
29071         Pretty-print Lisp_Object values in GDB
29073         * src/.gdbinit: Add a pretty-printer for Lisp_Object values.  Now,
29074         GDB displays them as "XIL(0xXXX)" rather than displaying them
29075         as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
29076         otherwise.
29078 2017-05-05  Peder O. Klingenberg  <peder@klingenberg.no>
29080         Tweak dns-mode font-lock
29082         * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
29083         Highlight $TTL as a control entity.  (Bug#26780)
29085 2017-05-05  Glenn Morris  <rgm@gnu.org>
29087         Fontify the doc-string in some CL forms as such
29089         * lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter):
29090         Add the doc-string-elt property.  (Bug#26778)
29092 2017-05-05  Glenn Morris  <rgm@gnu.org>
29094         * lisp/emacs-lisp/cl-lib.el (cl-mapcar): Remove recent autoload cookie.
29096 2017-05-05  Dmitry Gutov  <dgutov@yandex.ru>
29098         cl-defmethod: Make the edebug spec more technically correct
29100         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
29101         edebug spec part for qualifiers as [&rest atom], per
29102         https://lists.gnu.org/r/emacs-devel/2017-05/msg00053.html.
29104 2017-05-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
29106         Fix MH-E not to load cl at runtime (Bug#25552)
29108         * lisp/mh-e/mh-acros.el (defun-mh): Check at runtime, not
29109         compile time, whether the target is bound.
29110         * lisp/mh-e/mh-compat.el: Enable compilation.  Pull in
29111         mh-acros at compile time.
29112         Authored-by: Glenn Morris <rgm@gnu.org>, Noam Postavsky
29113         <npostavs@users.sourceforge.net>
29115 2017-05-04  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
29117         Multiline support in NS "Open Selected File" service.
29119         * lisp/term/ns-win.el (ns-open-file-service): new function. Wraps the
29120         original call in a (split-string) to create as many calls as there
29121         are lines.
29122         (ns-spi-service-call): Call `ns-open-file-service' instead of
29123         `dnd-open-file'.
29125 2017-05-04  Göktuğ Kayaalp  <self@gkayaalp.com>
29127         Require cl-lib at runtime in vc-hg
29129         * lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).
29131 2017-05-04  Tino Calancha  <tino.calancha@gmail.com>
29133         Inherit incompatible/obsolete package faces from error
29135         Don't use the same face for installed packages as for incompatible
29136         or obsolete ones.
29137         * lisp/emacs-lisp/package.el (package-status-incompat): Inherit from error.
29139 2017-05-04  Michael Albinus  <michael.albinus@gmx.de>
29141         Set process property `adjust-window-size-function' to `ignore' in Tramp
29143         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
29144         (tramp-adb-maybe-open-connection):
29145         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
29146         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
29147         (tramp-maybe-open-connection):
29148         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
29149         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
29150         (tramp-smb-maybe-open-connection): Set process property
29151         `adjust-window-size-function' to `ignore'.
29153 2017-05-04  Nicolas Petton  <nicolas@petton.fr>
29155         * lisp/emacs-lisp/seq.el: Bump seq version.
29157 2017-05-04  Damien Cassou  <damien@cassou.me>
29159         Add seq-set-equal-p to test for set equality
29161         * lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
29162           two lists as if they were sets.
29164         * test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
29165           for seq-set-equal-p.
29167 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
29169         Spelling fixes
29171         * lisp/gnus/nndiary.el (nndiary-last-occurrence):
29172         Rename from nndiary-last-occurence.
29173         (nndiary-next-occurrence):
29174         Rename from nndiary-next-occurence.  All uses changed.
29176 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
29178         Merge from pkg-config
29180         * m4/pkg.m4: Copy from pkg-config 0.29.1.
29182 2017-05-04  Tom Tromey  <tom@tromey.com>
29184         Add color highlighting to css-mode
29186         Bug#25525
29187         * lisp/textmodes/css-mode.el (css--color-map): New constant.
29188         (css-value-class-alist): Use css--color-map.
29189         (css--number-regexp, css--percent-regexp)
29190         (css--number-or-percent-regexp, css--angle-regexp): New constants.
29191         (css--color-skip-blanks, css--rgb-color, css--hsl-color): New
29192         functions.
29193         (css--colors-regexp): New constant.
29194         (css--hex-color, css--named-color, css--compute-color)
29195         (css--contrasty-color, css--fontify-colors)
29196         (css--fontify-region): New functions.
29197         (css-mode): Set font-lock-fontify-region-function.
29198         (css-mode-syntax-table): Set syntax on more characters.
29199         (css-fontify-colors): New defcustom.
29200         (scss-mode-syntax-table): Define syntax for ?$ and ?%.
29201         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
29202         Update.
29203         (css-test-rgb-parser, css-test-hsl-parser)
29204         (css-test-named-color): New tests.
29205         * etc/NEWS: Add entry.
29207 2017-05-03  Michael Albinus  <michael.albinus@gmx.de>
29209         Fix Bug#26763
29211         * lisp/files.el (delete-directory): Call file name handler
29212         with `trash' argument.
29214         * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
29215         * lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory):
29216         Add TRASH arg.  Implement it.  (Bug#26763)
29217         (tramp-get-remote-trash): Check for `delete-by-moving-to-trash'.
29219         * lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory):
29220         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
29221         Add _TRASH arg.
29223 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
29225         Use ptrdiff_t, not int, for stack sizes
29227         * src/thread.c (invoke_thread_function):
29228         * src/xterm.c (x_cr_export_frames):
29229         Don’t assume SPECPDL_INDEX fits in ‘int’.
29231 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
29233         Check list object type if --enable-gcc-warnings
29235         * configure.ac (--enable-check-lisp-object-type):
29236         Default to "yes" if --enable-gcc-warnings is not "no".
29237         * etc/NEWS: Mention this.
29238         * src/eval.c (internal_lisp_condition_case): Fix some glitches
29239         with 'volatile' uncovered by the above: in particular, 'clauses'
29240         should be a pointer to volatile storage on the stack, and need not
29241         be volatile itself.  Use an int, not ptrdiff_t, to count clauses.
29242         Don’t bother gathering binding count if VAR is nil.  Use
29243         more-specific local names to try to clarify what’s going on.
29245 2017-05-02  Glenn Morris  <rgm@gnu.org>
29247         Tweak auth-source-pass.el to avoid run-time subr-x
29249         * lisp/auth-source-pass.el (auth-source-pass--parse-data):
29250         Avoid needing subr-x at run-time.
29252 2017-05-02  Charles A. Roelli  <charles@aurox.ch>
29254         Constrain non-child frames to screen area in OS X
29256         * src/nsterm.m (constrainFrameRect:toScreen:): Constrain non-child
29257         frames in OS X, if they would otherwise go offscreen.
29259         (Bug#25818)
29261 2017-05-02  Michael Albinus  <michael.albinus@gmx.de>
29263         Fix error in completion for separate Tramp syntax
29265         * lisp/net/tramp.el (tramp-completion-file-name-regexp-separate):
29266         Tweak regexp.
29268         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
29269         Run method and host name completion for all syntaxes.
29271 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
29273         Avoid compilation warnings
29275         * src/w32fns.c (Fx_file_dialog, w32_parse_and_hook_hot_key):
29276         * src/w32term.c (x_draw_glyph_string):
29277         * src/w32fns.c (compute_tip_xy):
29278         * src/w32font.c (w32font_text_extents):
29279         * src/w32menu.c (set_frame_menubar):
29280         * src/search.c (Freplace_match): Avoid compiler warnings in
29281         optimized builds.
29283 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
29285         Merge from gnulib
29287         This incorporates:
29288         2017-05-02 utimens: port to Emacs + MS-Windows
29289         * lib/utimens.c: Copy from gnulib.
29291 2017-05-02  Gemini Lasswell  <gazally@runbox.com>
29293         Fix Edebug specs for 'cl-defmethod' and 'defmethod'
29295         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
29296         to make Edebug generate a new symbol for each method (Bug#24753) and
29297         to support a string following :extra (Bug#23995).
29298         * lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
29299         make Edebug generate a new symbol for each method (Bug#24753).
29301 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
29303         Temporary fix for the MS_Windows build
29305         * nt/inc/ms-w32.h (WIN32_LEAN_AND_MEAN): Define to an empty value,
29306         to be consistent with Gnulib's utimens.c.  This is because utimens.c
29307         unconditionally defines WIN32_LEAN_AND_MEAN to an empty value, so the
29308         previous definition here conflicted with that.
29310 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
29312         Port format-time-string to MS-Windows better
29314         * test/src/editfns-tests.el (format-time-string-with-zone):
29315         Port test cases to MS-Windows.
29317 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
29319         Merge from gnulib
29321         This incorporates:
29322         2017-05-01 New module 'localtime-buffer'
29323         2017-04-30 utimens: Add support for native Windows
29324         * admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
29325         * configure.ac (tzset): No need for Emacs itself to check now.
29326         * lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
29327         * m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
29328         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
29329         * lib/localtime-buffer.c, lib/localtime-buffer.h:
29330         * m4/localtime-buffer.m4: New files, copied from gnulib.
29331         * src/editfns.c (init_editfns): Assume tzset is callable.
29333 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
29335         Speed up project-find-regexp for simple regexps
29337         * lisp/progmodes/xref.el (xref--regexp-syntax-dependent-p):
29338         New function.
29339         (xref--collect-matches): Use it.  Don't try to enable the
29340         appropriate major mode and file-local variables if the regexp
29341         does not depend on the buffer's syntax (bug#26710).
29342         (xref--collect-matches-1): Don't syntax-propertize in that
29343         case either.
29345 2017-05-01  Philipp Stephani  <phst@google.com>
29347         Warn about missing backslashes during load
29349         * src/lread.c (load_warn_unescaped_character_literals, Fload, read1)
29350         (syms_of_lread): Warn if unescaped character literals are
29351         found (Bug#20152).
29352         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for
29353         unescaped character literals during byte compilation.
29354         * test/src/lread-tests.el (lread-tests--unescaped-char-literals): New
29355         unit test.
29356         (lread-tests--with-temp-file, lread-tests--last-message): Helper
29357         functions for unit test.
29358         * test/lisp/emacs-lisp/bytecomp-tests.el
29359         (bytecomp-tests--unescaped-char-literals): New unit test.
29360         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
29361         Helper macro for unit test.
29363 2017-05-01  Ken Brown  <kbrown@cornell.edu>
29365         * configure.ac: Suggest Mailutils on Cygwin.
29367 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
29369         Don’t stress-test time zones near the Epoch
29371         * test/src/editfns-tests.el (format-time-string-with-zone)
29372         (format-time-string-with-outlandish-zone): Don’t format
29373         timestamps near the Epoch, as this runs into bugs on MS-Windows,
29374         and we don’t want to worry about those bugs.
29376 2017-05-01  Glenn Morris  <rgm@gnu.org>
29378         Tweak vc-tests.el for bzr
29380         * test/lisp/vc/vc-tests.el (vc-test--working-revision):
29381         Handle test environments where HOME does not exist.
29383 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
29385         vc-git-state: Return `ignored' as appropriate with newer Git
29387         * lisp/vc/vc-git.el
29388         (vc-git--program-version): New variable.
29389         (vc-git--program-version): New function.
29390         (vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
29392 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
29394         vc-git-state: Bring back CentOS 6 compatibility
29396         * lisp/vc/vc-git.el (vc-git-state):
29397         Bring back CentOS 6 compatibility (bug#19343).
29399 2017-05-01  Martin Rudalics  <rudalics@gmx.at>
29401         Rewrite w32fns.c's `x_set_menu_bar_lines'
29403         * src/w32fns.c (x_set_menu_bar_lines): Redraw frame immediately
29404         regardless of whether menu bar is added or removed.  Clear
29405         under internal border iff a W32 window exists.  Store either 0
29406         or 1 as new parameter value.
29407         (x_change_tool_bar_height): Use FRAME_W32_WINDOW instead of
29408         FRAME_X_WINDOW.
29410 2017-05-01  Michael Albinus  <michael.albinus@gmx.de>
29412         Fix filenotify-tests.el for cygwin
29414         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
29415         Add an additional `sit-for'.
29416         (file-notify-test02-rm-watch): Add an additional
29417         `file-notify--test-read-event' call.
29419 2017-05-01  Jonathan Ganc  <jonganc@gmail.com>
29421         Speed up vc-git-status and make it more precise
29423         * lisp/vc/vc-git.el (vc-git-state)
29424         (vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
29425         'git status', so that 'vc-git-state' can now return 'ignored',
29426         'conflict', or 'unregistered' when appropriate.  Discussed in
29427         bug#26066.  Fixes bug#19343.
29429 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
29431         Fix Git revision navigation in currently removed directories
29433         * lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
29434         default-directory because FILE's parent directory might not exist
29435         anymore (bug#26345).
29437 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
29439         Merge from gnulib
29441         This incorporates:
29442         2017-04-30 strftime-fixes: New module
29443         2017-04-30 mktime: Work around TZ problem on native Windows
29444         2017-04-30 ctime, localtime: New modules
29445         2017-04-30 gettimeofday: Provide higher resolution on native Windows
29446         2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
29447         2017-04-29 Make use of module 'utime-h'
29448         2017-04-30 Fix a few typos
29449         * admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
29450         * lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
29451         * m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
29452         * m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
29453         Copy from gnulib.
29454         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
29456 2017-04-30  Eli Zaretskii  <eliz@gnu.org>
29458         Don't lose key bindings on mis-spelled text in flyspell-mode
29460         * lisp/textmodes/flyspell.el (flyspell-mouse-map): Bind mouse-2
29461         explicitly.
29462         (make-flyspell-overlay): If the mis-spelled text already has a
29463         'keymap' property, make that keymap the parent of
29464         flyspell-mouse-map, so as not to lose the parent's bindings.
29465         (Bug#26672)
29467 2017-04-30  Martin Rudalics  <rudalics@gmx.at>
29469         Fix `delete-frame' behavior including Bug#26682
29471         * src/frame.c (other_frames): Accept two arguments now.  Don't
29472         care about minibuffer window.  Don't care about visibility when
29473         called from delete_frame with FORCE true (Bug#26682).
29474         (delete_frame, Fmake_frame_invisible): Adjust other_frames
29475         calls.
29476         * src/w32term.c (w32_read_socket): Don't add a move frame event
29477         for an invisible frame.
29478         * lisp/frame.el (handle-delete-frame): Don't kill Emacs when
29479         attempting to delete a surrogate minibuffer frame.
29481 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
29483         Merge from gnulib
29485         This avoids incorporating the following, which I suspect are
29486         more trouble for Emacs than they’re worth:
29487         2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
29488         * admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
29489         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
29490         * lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.
29492 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
29494         Fix buffer overflow in make-docfile
29496         * lib-src/make-docfile.c (scan_c_stream): Check for buffer
29497         overflow when reading an identifier.  Use a static buffer for NAME
29498         rather than a small dynamically-allocated buffer.
29500 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
29502         Merge from gnulib
29504         This incorporates:
29505         2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
29506         * lib/getopt-pfx-ext.h: Copy from gnulib.
29507         * lib/gnulib.mk.in: Regenerate.
29509 2017-04-30  Tino Calancha  <tino.calancha@gmail.com>
29511         Fix dependency error during bootstrap
29513         * lisp/files.el: Require pcase and easy-mmode at compile time.
29515 2017-04-30  Mats Lidell  <mats.lidell@cag.se>
29517         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
29519 2017-04-29  Philipp Stephani  <phst@google.com>
29521         Reimplement auto-saving to visited files
29523         This reacts to confusing behavior of 'auto-save-visited-file-name',
29524         cf. Bug#25478.
29526         * lisp/files.el (auto-save-visited-interval): New customization option.
29527         (auto-save-visited-mode): New global minor mode.
29528         (auto-save-visited-file-name): Make obsolete.
29529         (auto-save--timer): New internal helper variable.
29531         * doc/emacs/files.texi (Auto Save Files): Document
29532         'auto-save-visited-mode' instead of obsolete
29533         'auto-save-visited-file-name'.
29534         (Auto Save Control): Document customization option
29535         'auto-save-visited-interval'.
29537 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
29539         Allow bypassing of some checks when merging
29541         * build-aux/git-hooks/pre-commit: Don't check merged-in changes.
29543 2017-04-29  Philipp Stephani  <phst@google.com>
29545         Integrate module test with normal test suite
29547         * test/Makefile.in (ELFILES): Exclude module test if modules aren't
29548         configured.
29549         (EMACS_TEST_DIRECTORY): Expand test directory so that it's set
29550         correctly even if Emacs changes the current directory.
29551         ($(srcdir)/src/emacs-module-tests.log)
29552         ($(test_module)): Proper dependency tracking for test module.
29554         * test/data/emacs-module/Makefile (ROOT): Adapt to new location.
29555         Remove 'check' target and EMACS variable, which are no longer
29556         necessary.
29557         (SO): Change to include period.
29559         * test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
29560         environment variable to reliably find test data.
29562         * configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
29563         substitutions.
29565 2017-04-28  Glenn Morris  <rgm@gnu.org>
29567         Broaden comint-password-prompt-regexp
29569         * lisp/comint.el (comint-password-prompt-regexp):
29570         Broaden the regexp, for non-English locales.  (Bug#26698)
29572 2017-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
29574         * lisp/auth-source.el (auth-source-backend-parse): `return' -> cl-return.
29576 2017-04-28  Bartosz Duszel  <bartosz.duszel@gmail.com>
29578         Don't pass the value of point to 'push-mark', as that's the default.
29580         * lisp/textmodes/bib-mode.el (mark-bib):
29581         * lisp/simple.el (mark-whole-buffer, yank):
29582         * lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
29583         * lisp/progmodes/xscheme.el (xscheme-yank):
29584         * lisp/progmodes/verilog-mode.el (verilog-mark-defun):
29585         * lisp/progmodes/perl-mode.el (perl-mark-function):
29586         * lisp/progmodes/pascal.el (pascal-mark-defun):
29587         * lisp/progmodes/meta-mode.el (meta-mark-defun):
29588         * lisp/progmodes/icon.el (mark-icon-function):
29589         * lisp/progmodes/cc-cmds.el (c-mark-function):
29590         * lisp/obsolete/vip.el (ex-goto):
29591         * lisp/obsolete/vi.el (vi-put-before):
29592         * lisp/mouse.el (mouse-yank-primary):
29593         * lisp/menu-bar.el (menu-bar-select-yank):
29594         * lisp/mail/sendmail.el (mail-yank-original):
29595         * lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
29596         * lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
29597         (viper-mark-end-of-buffer):
29598         * lisp/cedet/semantic/senator.el (senator-mark-defun):
29599         * lisp/allout.el (allout-mark-topic): Remove unnecessary argument
29600         `(point)' from calls to `push-mark'.  (Bug#25565)
29602 2017-04-28  Glenn Morris  <rgm@gnu.org>
29604         Merge from origin/emacs-25
29606         784602b1050 (origin/emacs-25) ; Add release notice
29607         3a34412caae (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
29608         56a4461a48d ; Move stray item from admin/notes/repo to CONTRIBUTE
29609         2b0d1118199 ; CONTRIBUTE: Remove stray header.
29610         f2ab09ec60d Fix a typo in indexing the user manual
29611         bc55a574235 * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
29612         a6d50401b4b Document 'line-pixel-height'
29613         0c55cf43e61 * search.c (Fre_search_forward, Fre_search_backward): Imp...
29614         c7ed57eaef4 Mention that processes start in default-directory (Bug#18...
29615         856ec9ffa1f * src/xdisp.c (vmessage, message): Clarify commentary.
29616         849a0aaa1c9 Belated fixes for admin.el's M-x make-manuals-dist
29617         84938d79698 default-directory: Remark that it must be a directory name
29618         3f0d047d2eb Delete confuse statement in manual
29619         ee1bd94dd0c Improve packaging documentation
29620         fb18bff91f0 Expand manual section on quitting windows
29621         9a737079645 Fix docstring of dabbrev-abbrev-char-regexp
29622         afe8849bac1 * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
29623         ada79442c07 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
29624         d38fd9229c0 Narrow scope of modification hook renabling in org-src fo...
29625         e0e9db4c84a ; Spelling fix
29627         # Conflicts:
29628         #       README
29629         #       etc/AUTHORS
29630         #       etc/HISTORY
29631         #       lisp/ldefs-boot.el
29633 2017-04-28  Glenn Morris  <rgm@gnu.org>
29635         * doc/misc/auth.texi: Commas don't work in node names.
29637         * test/lisp/auth-source-pass-tests.el: Fix loading of cl-lib.
29639 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
29641         Test format-time-string with zone arg
29643         * test/src/editfns-tests.el (format-time-string-with-zone)
29644         (format-time-string-with-outlandish-zone): New tests.
29646 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
29648         Merge from gnulib
29650         This incorporates:
29651         2017-04-24 time_rz: fix heap buffer overflow vulnerability
29652         2017-04-23 stat-time: Update comments.
29653         2017-04-22 ftoastr: cite a newer paper
29654         2017-04-21 gettext-h: Avoid -Wundef warning.
29655         * lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
29656         * m4/getopt.m4: Copy from gnulib.
29657         * m4/gnulib-comp.m4: Regenerate.
29659 2017-04-27  Damien Cassou  <damien@cassou.me>
29661         auth-source-pass: Add documentation; fix tests and indentation.
29663         * doc/misc/auth.texi: Document new integration with Pass. Use @itemize
29664           instead of @enumerate.
29665         * lisp/auth-source-pass.el: Fix indentation.
29666           (auth-source-pass--remove-directory-name): Remove.
29667         * test/lisp/auth-source-pass-tests.el: Adjust test macros.
29669 2017-04-27  foudfou  <foudil.newbie+git@gmail.com>
29671         auth-source-pass: Enable finding entries by "host/username"
29673         * lisp/auth-source-pass.el: Enable finding entries by "host/username".
29674         * test/lisp/auth-source-pass-tests.el: Adjust tests to check it.
29676 2017-04-27  Damien Cassou  <damien@cassou.me>
29678         Integrate auth-source with password-store
29680         * lisp/auth-source-pass.el: auth-source backend for password-store.
29681         * test/lisp/auth-source-pass-tests.el: Tests for auth-source-pass
29682           behavior.
29684 2017-04-27  Damien Cassou  <damien@cassou.me>
29686         * lisp/auth-source.el: Document parser functions.
29688 2017-04-27  Ted Zlatanov  <tzz@lifelogs.com>
29690         auth-source: factor out parsers and add tests
29692         * lisp/auth-source.el: Factor out the source parsers. Clean up comments.
29693         * test/lisp/auth-source-tests.el: Add tests.
29695 2017-04-27  Martin Rudalics  <rudalics@gmx.at>
29697         Fix doc and customization type of `window-combination-limit' (Bug#26673)
29699         * src/window.c (Vwindow_combination_limit): Fix doc-string.
29700         * lisp/cus-start.el (window-combination-limit): Fix
29701         customization type.
29702         * doc/lispref/windows.texi (Recombining Windows): Fix
29703         documentation of `window-combination-limit'.
29705 2017-04-27  Tino Calancha  <tino.calancha@gmail.com>
29707         Drop face from hi-lock--unused-faces only when used
29709         * lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is already
29710         highlighted, then push FACE into hi-lock--unused-faces (Bug#26666).
29711         * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
29713 2017-04-26  Alan Third  <alan@idiocy.org>
29715         Fix macOS version check (bug#26664)
29717         * src/nsterm.m (initFrameFromEmacs): Prevent window tabbing mode on
29718         macOS versions 10.12+.
29720 2017-04-26  Glenn Morris  <rgm@gnu.org>
29722         Make charprop.el provide a feature
29724         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
29725         Provide a feature.
29726         * lisp/loadup.el: Use the charprop feature.
29728 2017-04-26  Glenn Morris  <rgm@gnu.org>
29730         * lisp/loadup.el: Get charprop.el into etc/DOC again.
29732 2017-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
29734         * lisp/ido.el (ido-everywhere): Use add-function.
29736 2017-04-26  Martin Rudalics  <rudalics@gmx.at>
29738         Try to fix latest fix of w32_mouse_position
29740         * src/w32term.c (w32_mouse_position): Fix a bug introduced by
29741         latest fix and try to make the affected code more rigorous.
29743 2017-04-26  Eli Zaretskii  <eliz@gnu.org>
29745         Avoid segfaults when 'find-font' is invoked for a TTY frame
29747         * src/font.c (font_pixel_size): Don't call GUI functions if F is a
29748         text-mode frame.  (Bug#26646)
29750 2017-04-26  Michael Albinus  <michael.albinus@gmx.de>
29752         * lisp/net/tramp.el (tramp-set-connection-local-variables-for-buffer):
29754         New defun.
29756 2017-04-26  Glenn Morris  <rgm@gnu.org>
29758         * src/Makefile.in (leimdir): Remove variable, no longer used.
29760 2017-04-26  Glenn Morris  <rgm@gnu.org>
29762         Generate leim-list via lisp/Makefile, not src/Makefile
29764         * src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
29765         (emacs$(EXEEXT)): Don't depend on leim-list.
29766         * lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.
29768 2017-04-25  Alan Third  <alan@idiocy.org>
29770         Fix define for GNUstep builds
29772         * src/nsterm.m (initFrameFromEmacs): Fix the ifdef so that GNUstep
29773         doesn't see the code.
29775 2017-04-25  Glenn Morris  <rgm@gnu.org>
29777         Suppress intermittent test failure on hydra
29779         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
29780         (eieio-test-method-order-list-6): Skip on hydra.
29782 2017-04-25  Alan Third  <alan@idiocy.org>
29784         Fix some NS frame handling issues
29786         * src/nsterm.m (FRAME_DECORATED_FLAGS, FRAME_UNDECORATED_FLAGS): New
29787         defines intended to make things tidier.
29788         (x_set_undecorated): Use the new defines.
29789         (windowWillResize): Don't use new macOS 12+ only feature.
29790         (initFrameFromEmacs): Use the new defines, and disable automatic
29791         window tabbing feature in macOS 12.
29792         (x_set_undecorated, x_set_parent_frame, x_set_no_accept_focus,
29793         x_set_z_group): Add NSTRACE notices.
29795 2017-04-25  Glenn Morris  <rgm@gnu.org>
29797         Avoid parallel race condition
29799         * lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.
29801 2017-04-25  Glenn Morris  <rgm@gnu.org>
29803         Generate each unicode lisp file independently
29805         This is better for parallel builds, eg it eliminates race
29806         conditions from having one process write multiple files.
29807         * admin/unidata/Makefile.in (lparen, unifiles): New variables.
29808         Parse unidata-gen.el, not charprop.el, to get the list of uni- files.
29809         (all): Explicitly list the output lisp files.
29810         (PHONY_EXTRAS): Remove.
29811         (${unidir}/charprop.el): Change rule to just be for this file.
29812         (${unifiles}): New rule to write each unicode lisp file.
29813         (extraclean): Simplify.
29814         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
29815         Quieten in batch mode.
29816         (unidata-gen-files): Remove, no longer used.
29817         * lisp/loadup.el: Update command-line parser.
29819 2017-04-25  Glenn Morris  <rgm@gnu.org>
29821         Further refactoring in unidata-gen.el
29823         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
29824         New function, split from unidata-gen-files.
29825         (unidata-gen-files): Use unidata-gen-charprop.
29827 2017-04-25  Glenn Morris  <rgm@gnu.org>
29829         Allow unidata-gen-file to work independently
29831         * admin/unidata/unidata-gen.el (unidata-gen-file):
29832         Make it work as a stand-alone function in batch mode.
29833         (unidata-gen-files): Pass extra arguments to unidata-gen-file.
29835 2017-04-25  Glenn Morris  <rgm@gnu.org>
29837         Preparatory refactoring in unidata-gen.el
29839         * admin/unidata/unidata-gen.el (unidata-gen-file):
29840         New function, split from unidata-gen-files.
29841         (unidata-gen-files): Use unidata-gen-file.
29843 2017-04-25  Glenn Morris  <rgm@gnu.org>
29845         Write each generated character property lisp file only once
29847         * admin/unidata/unidata-gen.el (unidata-file-alist):
29848         Rename from unidata-prop-alist.  All users changed.
29849         Use file name rather than property name as the key.
29850         (unidata-prop-prop): New function.
29851         (unidata-prop-index, unidata-prop-generator, unidata-prop-docstring)
29852         (unidata-prop-describer, unidata-prop-default, unidata-prop-val-list):
29853         Change to parse the argument rather than unidata-prop-alist.
29854         (unidata-gen-table-character, unidata-gen-table)
29855         (unidata-gen-table-symbol, unidata-gen-table-integer)
29856         (unidata-gen-table-numeric, unidata-gen-table-word-list)
29857         (unidata-gen-table-name, unidata-gen-table-decomposition)
29858         (unidata-gen-table-special-casing): Pass index as an argument.
29859         (unidata-check): Adapt to unidata-file-alist.
29860         Pass index to generator functions.
29861         (unidata-gen-files): Adapt to unidata-file-alist.
29862         Write each output file once only.  Overwrite rather than delete.
29864 2017-04-25  Andrew G Cohen  <cohen@andy.bu.edu>
29866         Fix requesting sparse articles in gnus
29868         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Delete the
29869         sparse article number from the list, not its id.
29871 2017-04-25  Glenn Morris  <rgm@gnu.org>
29873         Don't advertise s_client in tls.el docs
29875         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
29876         Don't mention s_client in docs.
29878 2017-04-25  Rob Browning  <rlb@defaultvalue.org>
29880         Remove s_client usage from tls.el
29882         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
29883         Ref http://bugs.debian.org/766397
29884         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
29886 2017-04-25  Glenn Morris  <rgm@gnu.org>
29888         Further robustify cedet bootstrap to loaddefs not yet built
29890         * lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
29891         Avoid void-function error when bootstrapping and semantic/loaddefs.el
29892         does not yet exist.
29894 2017-04-24  Alan Third  <alan@idiocy.org>
29896         Fix XBM color rendering in NS port (bug#22060)
29898         src/nsimage.m (setXBMColor): Fix calculation of xbm_fg.
29900 2017-04-24  Vibhav Pant  <vibhavp@gmail.com>
29902         Add support for IRCv3 message tags.
29904         * lisp/erc/erc-backend.el:
29905           erc-response: Add `tags' element.
29906           Add (erc-parse-tags).
29907           (erc-parse-server-response): Use (erc-parse-tags) to parse message
29908           tags (if any), and store them in `erc-resopnse' struct.
29910         * lisp/erc/erc.el: (erc-display-message): Expose message tags with text
29911           properties of the corresponding message line.
29913 2017-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
29915         Add image sizing tests for an image that's narrow
29917         Needlessly refactor tests for clarity
29919 2017-04-23  Philipp Stephani  <phst@google.com>
29921         Add missing remappings for Ido mode
29923         Among others, add a remapping for C-x 4 d, cf. Bug#26360.
29925         * lisp/ido.el (ido-mode): Remap missing commands.
29926         (ido-file-internal, ido-visit-buffer): Add support for new
29927         methods.
29928         (ido-display-buffer-other-frame)
29929         (ido-find-alternate-file-other-window, ido-dired-other-window)
29930         (ido-dired-other-frame): New commands.
29932         * test/lisp/ido-tests.el (ido-tests--other-window-frame): Add unit
29933         test for the bindings.
29935 2017-04-23  Martin Rudalics  <rudalics@gmx.at>
29937         Let w32_mouse_position pick a child window only if it has a child frame
29939         * src/w32term.c (w32_mouse_position): When using a frame found
29940         by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
29941         maybe).
29943 2017-04-23  Noam Postavsky  <npostavs@gmail.com>
29945         Don't require bytecomp for running ert tests
29947         "Fix ert-tests when running compiled" 2016-12-06 accidentally
29948         introduced a dependency on `bytecomp' into `ert'.  As mentioned in
29949         "Avoid ert test failures" 2017-04-18, the accidental dependency of ert
29950         on bytecomp was masked by loading other libraries until recently.
29952         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
29953         `byte-compile-macro-environment' if it's bound.
29954         * test/src/eval-tests.el: Add defvar for dynamic variable
29955         `byte-compile-debug'.
29957 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
29959         Eliminate unneeded warp-to-article in gnus article referral
29961         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
29962         (gnus-summary-refer-article): Remove gnus-warp-to article call.
29964 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
29966         Allow limiting gnus summary buffers to a thread
29968         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
29969         an optional argument to allow limiting the summary buffer to just the
29970         thread-related articles.
29971         (gnus-refer-thread-limit-to-thread): Introduce customizable variable
29972         to control whether thread-referral adds the thread to the summary
29973         buffer or limits to just the thread.
29974         (gnus-summary-refer-thread): Use the new variable.
29976 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
29978         Correct gnus-newsgroup-limits in gnus when including thread
29980         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
29981         only add one list of thread-related articles to gnus-newsgroup-limits
29982         rather than two.
29984 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
29986         Improve gnus thread matching of similar subjects
29988         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
29989         Use the more liberal gnus-general-simplify-subject regexp to
29990         find thread articles with similar subjects.
29992 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
29994         Add new `lisp-indent-region' that doesn't reparse the code.
29996         Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
29997         to get initial state, so they will no longer indent string literal
29998         contents.
30000         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
30001         `syntax-ppss', but with a more dependable item 2.
30002         (lisp-indent-region): New function, like `indent-region-line-by-line'
30003         but additionally keep a running parse state to avoid reparsing the
30004         code repeatedly.  Use `lisp-ppss' to get initial state.
30005         (lisp-indent-line): Take optional PARSE-STATE argument, pass it to
30006         `calculate-lisp-indent', use `lisp-ppss' if not given.
30007         (lisp-mode-variables): Set `indent-region-function' to
30008         `lisp-indent-region'.
30010 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
30012         Remove ignored argument from lisp-indent-line
30014         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
30015         argument, the behavior has long since been handled in
30016         `indent-for-tab-command'.  Also remove redundant `beg' and `shift-amt'
30017         variables and use `indent-line-to'.
30019 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
30021         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.
30023 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
30025         Don't reparse the sexp in indent-sexp (Bug#25122)
30027         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
30028         PARSE-START be a parse state that can be reused.
30029         (indent-sexp): Pass the running parse state to calculate-lisp-indent
30030         instead of the sexp beginning position.  Saving the
30031         CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
30032         needed.  Don't bother stopping if we don't descend below init-depth,
30033         since we now alway scan the whole buffer (via syntax-ppss) anyway.
30034         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
30035         line to test case.
30037 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
30039         Add cond test cases for singleton clauses.
30041         * test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
30042           the default clause is a single non-nil expression.
30044 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
30046         b-c--cond-jump-table-info: Use correct body for singleton clauses
30048         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
30049         When a clause's body consists of a single constant expression, use
30050         that expression as the body to be compiled. This fixes switch bytecode
30051         evaluating to nil to such clauses.
30053 2017-04-22  Philipp Stephani  <phst@google.com>
30055         ffap: Don't switch window unless needed
30057         When using ffap-other-window, don't change the window configuration
30058         unless a new buffer has actually been created (Bug#25352).
30060         * lisp/ffap.el (ffap-other-frame): Don't change the window
30061         configuration if no new buffer has been created.
30062         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
30063         test.
30065 2017-04-22  Alan Mackenzie  <acm@muc.de>
30067         Fix fontification of C++ declaration with type FOO::FOO.
30069         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
30070         cfd-top-level properly.
30071         (c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
30072         before deciding it is a constructor.
30074         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
30075         result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
30076         (simple bug fix).
30078 2017-04-22  Philipp Stephani  <phst@google.com>
30080         Fix usage of FRAME_Z_GROUP
30082         * src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
30083         Lisp object, cf. Bug#26597.
30085 2017-04-22  Alan Third  <alan@idiocy.org>
30087         Fix GNUstep build
30089         * src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
30090         compatibility.
30091         * src/nsmenu.m (update_frame_tool_bar): Remove unused variable.
30093 2017-04-21  Alan Third  <alan@idiocy.org>
30095         Add no-accept-focus and frame-list-z-order to NS port
30097         * lisp/frame.el (frame-list-z-order): Add NS.
30098         * src/nsfns.m: Add x_set_no_accept_focus to handler struct.
30099         (Fx_create_frame): Handle no-accept-focus parameter.
30100         (ns_window_is_ancestor):
30101         (Fns_frame_list_z_order): New functions.
30102         * src/nsterm.m (x_set_no_accept_focus): New function.
30103         (initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
30104         non-fullscreen windows.
30105         (EmacsWindow:canBecomeKeyWindow): New function.
30107 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
30109         Improve prefix handling for dash.el
30111         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
30112         Don't drop dash's "-<letter>" prefixes.
30114 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
30116         * lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet
30118         Revert 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (to fix bug#26325)
30119         and use a different fix for bug#26068.
30120         (cl--symbol-macro-key): New function.
30121         (cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
30122         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
30123         Failure is not expected any more.
30125 2017-04-21  Eli Zaretskii  <eliz@gnu.org>
30127         Avoid infinite loop in redisplay when header-line-format is invalid
30129         * src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
30130         string has an invalid %-construct in it and is displayed as part
30131         of mode-line or header-line.  (Bug#26586)
30133 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
30135         Add tests to check image scaling functionality
30137         This is in preparation to doing further work in this area to avoid
30138         regressions.
30140         * test/data/image/blank-200x100.png: New file for testing
30141         image scaling.
30143         * test/manual/image-size-tests.el: New file.
30145 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
30147         Allow svg-image to take all create-image PROPS
30149         * lisp/svg.el (svg-image): Allow passing in PROPS when
30150         creating an image for convenience.
30152 2017-04-21  George D. Plymale II  <georgedp@orbitalimpact.com>  (tiny change)
30154         Treat non-erroring lisp call as successful eshell command (Bug#26161)
30156         This lets a compound command like 'cd .. && echo ok' print 'ok',
30157         similar to how most other shells behave.
30159         * lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
30160         last exit code was zero, rather than first checking whether the last
30161         command returned nil.
30162         (eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.
30164 2017-04-21  Reuben Thomas  <rrt@sc3d.org>
30166         Fix reading of tab settings in whitespace-mode
30168         lisp/whitespace.el (whitespace-indent-tabs-mode)
30169         whitespace-tab-width): Remove these variables. The underlying
30170         variables `indent-tabs-mode' and `tab-width' are already buffer-local
30171         when needed, and whitespace-mode never changes them.
30172         (whitespace-ensure-local-variables): Remove this function, which only
30173         existed to set the above variables.
30174         (whitespace-cleanup-region, whitespace-regexp)
30175         (whitespace-indentation-regexp, whitespace-report-region)
30176         (whitespace-turn-on, whitespace-color-on): Adjust these functions to
30177         use `indent-tabs-mode' and `tab-width' directly, and not call
30178         `whitespace-ensure-local-variables'.
30180 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
30182         * lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning
30184         by simplifying ascii-test.
30186 2017-04-20  Vibhav Pant  <vibhavp@gmail.com>
30188         bytecomp: Don't inline functions that use byte-switch (Bug#26518)
30190         * lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Don't inline
30191           FORM if the bytecode uses the byte-switch instruction. It is
30192           impossible to guess the correct stack depth while inlining such
30193           bytecode, resulting in faulty code.
30195 2017-04-20  Nicolas Petton  <nicolas@petton.fr>
30197         Set Emacs version to 25.2 and update AUTHORS file
30199         * README: Set Emacs version to 25.2.
30200         * etc/HISTORY: Add release log.
30201         * lisp/ldefs-boot.el:
30202         * etc/AUTHORS:
30203         * ChangeLog.2: Update.
30205 2017-04-20  Noam Postavsky  <npostavs@gmail.com>
30207         Don't register "def" as an autoload prefix (Bug#26412)
30209         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Don't
30210         accept "def" as a prefix.
30212 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
30214         Use substring completion for Info menus and index
30216         * lisp/info.el (Info-complete-menu-item): Add `category' metadata.
30217         (Info-menu): Simplify now that we use the `default' arg of completing-read.
30218         * lisp/minibuffer.el (completion-category-defaults): Use substring
30219         completion for `info-menu`.
30221 2017-04-19  Glenn Morris  <rgm@gnu.org>
30223         Remove some explicit runtime loads of pcase
30225         Pcase is macros, so these should have used eval-when-compile.
30226         Anyway, pcase entry points are autoloaded, so the compiler handles it.
30227         * lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
30228         * lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
30229         * lisp/progmodes/xref.el: No need to require pcase.
30231 2017-04-19  Glenn Morris  <rgm@gnu.org>
30233         Stop cl-lib loading pcase at runtime
30235         The cause was an unexpanded pcase-defmacro in cl-loaddefs.
30236         * lisp/emacs-lisp/autoload.el (make-autoload):
30237         Treat pcase-defmacro like defmacro.
30239 2017-04-19  Alan Third  <alan@idiocy.org>
30241         Note frame documentation exceptions for NS builds
30243         * doc/lispref/frames.texi (Management Parameters, Child Frames): Note
30244         NS differences.
30246 2017-04-19  Alan Third  <alan@idiocy.org>
30248         Fix bug introduced by my last commit
30250         * src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.
30252 2017-04-19  Alan Third  <alan@idiocy.org>
30254         Add new frame functionality to NS port
30256         * lisp/frame.el (frame-restack): Call ns-frame-restack.
30257         * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
30258         MOVE_FRAME_EVENT handling.
30259         * src/frame.h:
30260         * src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
30261         definitions.
30262         * src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
30263         x_set_undecorated (Cocoa only) to handler struct.
30264         (Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
30265         frame parameter.
30266         (Fns_frame_restack): New function.
30267         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
30268         FRAME_TOOLBAR_HEIGHT is no longer a variable.
30269         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS, NS_PARENT_WINDOW_TOP_POS):
30270         Add #defines to find the screen position of the parent frame.
30271         (NS_TOP_POS): Remove defun.
30272         (EmacsView): Remove redundant toolbar variables and add createToolbar
30273         method.
30274         (FRAME_NS_TITLEBAR_HEIGHT, FRAME_TOOLBAR_HEIGHT): Always calculate the
30275         values instead of storing them in a variable.
30276         * src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
30277         position into account when positioning frames.
30278         (initFrameFromEmacs): Remove toolbar creation code and handle new
30279         frame parameters.
30280         (x_set_window_size): Remove toolbar height calculation.
30281         (x_set_z_group):
30282         (x_set_parent_frame):
30283         (x_set_undecorated) [NS_IMPL_COCOA]: New function.
30284         (x_destroy_window): Detach parent if child closes.
30285         (updateFrameSize): Change NSTRACE message to reflect new reality and
30286         no longer reset frame size.
30287         (windowWillResize): Don’t change NS window name when the titlebar
30288         is invisible.
30289         (createToolbar): Move toolbar creation code into it’s own method.
30290         (toggleFullScreen): FRAME_TOOLBAR_HEIGHT and FRAME_NS_TITLEBAR_HEIGHT
30291         are no longer variables.
30292         (windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.
30294 2017-04-19  Glenn Morris  <rgm@gnu.org>
30296         Tweak bytecomp's loading of cl-extra
30298         * lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
30299         post-bootstrap emacs where cl-loaddefs does exist.
30301 2017-04-19  Glenn Morris  <rgm@gnu.org>
30303         Avoid unnecessary loading of subr-x at run-time
30305         * lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
30306         * lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
30307         * lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
30308         No need to load subr-x at run-time.
30309         * lisp/gnus/nnheader.el: No need to load subr-x.
30311 2017-04-18  michael schuldt  <mbschuldt@gmail.com>  (tiny change)
30313         Use iteration in math-factorial-iter
30315         * lisp/calc/calc-comb.el (math-factorial-iter):
30316         Use iteration instead of recursion to avoid max-specpdl-size problem.
30318 2017-04-18  Glenn Morris  <rgm@gnu.org>
30320         * test/lisp/kmacro-tests.el: Require seq, for seq-concatenate.
30322 2017-04-18  Glenn Morris  <rgm@gnu.org>
30324         Avoid ert test failures
30326         * lisp/emacs-lisp/ert.el (ert--expand-should-1):
30327         Avoid errors related to undefined byte-compile-macro-environment.
30328         Somehow masked until very recently because loading seq (eg)
30329         loads bytecomp.  http://hydra.nixos.org/build/51730765
30331 2017-04-18  Eli Zaretskii  <eliz@gnu.org>
30333         Fix a typo in indexing the user manual
30335         * doc/emacs/cmdargs.texi (General Variables): Fix a horrible typo.
30337 2017-04-18  Noam Postavsky  <npostavs@gmail.com>
30339         Fix find-library-name for load-history entries with nil FILE-NAME (Bug#26355)
30341         * lisp/emacs-lisp/find-func.el (find-library--from-load-history):
30342         Rename from find-library--from-load-path.  Check for `load-history'
30343         entries with nil FILE-NAMEs.  Simplify by not double
30344         checking for suffixes and making use of `locate-file'.
30346 2017-04-18  Alan Third  <alan@idiocy.org>
30347             YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
30349         Use vfork if possible on Darwin (bug#26397)
30352         * src/conf_post.h (HAVE_WORKING_VFORK): Don't undef.
30353         (vfork): Don't define.
30354         * src/process.c (create_process) [DARWIN_OS]: Use fork if pty_flag is
30355         set, otherwise vfork.
30356         * src/callproc.c (call_process) [DARWIN_OS]: Use TIOCNOTTY to detach
30357         the controlling terminal instead of setsid.
30359 2017-04-18  Fran Litterio  <flitterio@gmail.com>
30361         Small erc-kill-channel fix (bug#23700)
30363         * lisp/erc/erc.el (erc-kill-channel): Handle null erc-default-target.
30365 2017-04-18  Glenn Morris  <rgm@gnu.org>
30367         ediff: use user-error rather than debug-ignored-errors
30369         * lisp/vc/ediff-diff.el (ediff-prepare-error-list):
30370         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
30371         * lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
30372         (ediff-check-version):
30373         * lisp/vc/ediff-merg.el (ediff-shrink-window-C):
30374         * lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
30375         (ediff-append-custom-diff, ediff-meta-show-patch)
30376         (ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
30377         (ediff-get-meta-info, ediff-patch-file-form-meta):
30378         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
30379         * lisp/vc/ediff-util.el (ediff-toggle-autorefine)
30380         (ediff--check-ancestor-exists, ediff-toggle-read-only)
30381         (ediff-toggle-wide-display, ediff-toggle-multiframe)
30382         (ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
30383         (ediff-next-difference, ediff-previous-difference)
30384         (ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
30385         (ediff-save-buffer):
30386         * lisp/vc/ediff-wind.el (ediff-make-wide-display):
30387         * lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
30388         (ediff-directories-internal, ediff-directory-revisions-internal)
30389         (ediff-regions-wordwise, ediff-regions-linewise)
30390         (ediff-load-version-control): Use user-error.
30391         (debug-ignored-errors): No longer modify.
30393 2017-04-18  Glenn Morris  <rgm@gnu.org>
30395         mh-e: use user-error rather than debug-ignored-errors
30397         * lisp/mh-e/mh-alias.el (mh-alias-grab-from-field):
30398         * lisp/mh-e/mh-utils.el (mh-get-msg-num): Use user-error.
30399         (debug-ignored-errors): No longer modify.
30401 2017-04-18  Glenn Morris  <rgm@gnu.org>
30403         ispell.el: use user-error rather than debug-ignored-errors
30405         * lisp/textmodes/ispell.el (ispell-get-word): Use user-error.
30406         (debug-ignored-errors): No longer modify.
30408 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
30410         * src/xterm.c (x_fill_rectangle): Now static.
30412 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
30414         Tighten recently-added UTF-8 check
30416         * src/coding.c (encode_coding_utf_8): Now extern.
30417         * src/terminal.c (terminal_glyph_code) [HAVE_STRUCT_UNIPAIR_UNICODE]:
30418         Check for UTF-8, not just for multibyte.
30420 2017-04-17  David Engster  <deng@randomsample.de>
30422         xml: Properly handle symbol-qnames for attribute parsing
30424         * lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
30425           xml-ns argument (reverts aea67018) (Bug#26533).
30426           (xml-maybe-do-ns): Properly handle default namespace by not
30427           interning new symbol when 'special' flag is set.
30429         * test/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
30430           (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.
30432 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
30434         * src/lisp.h (STRING_SET_CHARS): Simplify assertion.
30436 2017-04-17  Eli Zaretskii  <eliz@gnu.org>
30438         Fix assertion violations when displaying thread-related error
30440         * src/process.c (Faccept_process_output): Don't assume a thread's
30441         name is always a string.
30443 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
30445         dired ‘M’ should not complain about ‘.’ and ‘..’
30447         * lisp/dired-aux.el (dired-do-redisplay):
30448         Allow redisplay of ‘.’ and ‘..’ (Bug#26528).
30450 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
30452         Remove unused coding enums
30454         * src/coding.h (enum coding_system_type, enum end_of_line_type):
30455         Remove; unused.
30457 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
30459         Work around bug with unibyte Linux consoles
30461         * src/terminal.c (terminal_glyph_code): Skip the UTF-8 stuff if
30462         the terminal's coding system is unibyte (Bug#26396).
30464 2017-04-16  Teemu Likonen  <tlikonen@iki.fi>
30466         Fix org-agenda's command for calendar-lunar-phases
30468         Function org-agenda-phases-of-moon tries to call a non-existing
30469         function calendar-phases-of-moon. The correct function is
30470         calendar-lunar-phases.
30472 2017-04-16  Michael Albinus  <michael.albinus@gmx.de>
30474         Tuning for `separate' Tramp syntax
30476         * lisp/net/tramp.el (tramp-method-regexp): Fix it for `separate' syntax.
30477         (tramp-completion-file-name-regexp-separate): Simplify.
30479         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect-separate):
30480         Extend test.
30482 2017-04-16  Alan Mackenzie  <acm@muc.de>
30484         Fix bug #26529: C-h k errors with a lambda function bound to a key.
30486         * lisp/help-fns.el (help-fns--signature, describe-function-1): Check
30487         `function' is a symbol before trying to get property `reader-construct' from
30488         it.
30490 2017-04-16  Simen Heggestøyl  <simenheg@gmail.com>
30492         Fix highlighting of short selectors in CSS mode
30494         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Highlight
30495         selectors where the part before a colon is only one character long,
30496         such as `a:hover'.
30498 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
30500         Fix redisplay performance problems with some fonts
30502         * src/font.c (font_list_entities): Revert part of the changes
30503         introduced on Apr 2, 2014 to fix bug#17125.  It turns out having
30504         zero_vector in the font-cache is an important indication that
30505         cannot be removed.  (Bug#21028)
30507 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
30509         Add assertion to STRING_SET_CHARS
30511         * src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
30512         to prevent incorrect usage.  For details, see this discussion:
30513         https://lists.gnu.org/r/emacs-devel/2017-04/msg00412.html.
30515 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
30517         Avoid compilation warnings on MS-Windows
30519         * src/w32term.c (w32_read_socket): Avoid compiler warnings about
30520         parentheses around assignment.
30521         * src/w32fns.c (w32_createwindow): Remove unused variable
30522         dwStyle.  Use "|=" where appropriate.
30524 2017-04-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
30526         Merge from gnulib
30528         This incorporates:
30529         2017-04-14 intprops: try to avoid tickling similar bugs
30530         2017-04-14 intprops: port to Oracle Studio 12.3 x86
30531         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
30533 2017-04-15  Martin Rudalics  <rudalics@gmx.at>
30535         Fix bugs in `with-displayed-buffer-window' and `fit-window-to-buffer'
30537         * lisp/window.el (with-displayed-buffer-window): When a
30538         'window-height' action alist entry specifies a function, call
30539         `temp-buffer-window-show' with a '(window-height . t)' dummy
30540         entry so `window--try-to-split-window' will bind
30541         `window-combination-limit' to t and that function does not
30542         resize any other window but the one we split this one off
30543         (Bug#25055, Bug#25179).
30544         (fit-window-to-buffer): Call `window-max-delta' with NOUP t so
30545         we steal space only from windows in the same combination.
30546         Stealing space from other windows would not allow us to return
30547         that space later when this window is deleted (Bug#25055,
30548         Bug#25179).
30550 2017-04-15  Glenn Morris  <rgm@gnu.org>
30552         Avoid userlock queries hanging forever in batch mode
30554         * lisp/userlock.el (ask-user-about-lock)
30555         (ask-user-about-supersession-threat): Abort in batch mode.
30557 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
30559         Fix segfault when calling frame_ancestor_p (Bug#26493)
30561         * src/xterm.c (handle_one_xevent): Check that hf was not reset
30562         before calling frame_ancestor_p (Bug#26493).
30564 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
30566         A few additional copy-edits in documentation of frames
30568         * doc/lispref/frames.texi (Frame Layout)
30569         (Implied Frame Resizing): Windows -> MS-Windows.
30570         (Deleting Frames): Fix typo.
30572 2017-04-14  Glenn Morris  <rgm@gnu.org>
30574         Use user-error for some ert.el errors
30576         * lisp/emacs-lisp/ert.el (ert-read-test-name, ert-delete-all-tests)
30577         (ert-results-find-test-at-point-other-window, ert-describe-test):
30578         Use user-error.
30580 2017-04-14  Glenn Morris  <rgm@gnu.org>
30582         Use user-error for customize's "invalid face" error
30584         * lisp/cus-edit.el (customize-face): Use user-error.
30585         (debug-ignored-errors): No more need to add "Invalid face".
30587 2017-04-14  Glenn Morris  <rgm@gnu.org>
30589         Remove duplicate lisp-eval-defun definition
30591         * lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun):
30592         Autoload rather than defining a stub.
30594 2017-04-14  Glenn Morris  <rgm@gnu.org>
30596         * lisp/Makefile.in (check-defun-dups): Ignore obsolete files.
30598 2017-04-14  Glenn Morris  <rgm@gnu.org>
30600         Create generated lisp files before main loaddefs.el
30602         This should improve reproducibility of lisp/loaddefs.el.
30603         * lisp/Makefile.in (gen-lisp): New phony target.
30604         ($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
30605         * src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
30606         * lisp/cedet/semantic.el (semantic-mode):
30607         * lisp/cedet/semantic/fw.el (top-level):
30608         * lisp/emacs-lisp/eieio-core.el (top-level):
30609         Robustify to generated input files maybe not yet existing.
30611 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
30613         Fix minor quoting issues in Makefile.in
30615         * Makefile.in (install-arch-dep, uninstall):
30616         Quote EMACS and EMACS_NAME more consistently.
30618 2017-04-13  Glenn Morris  <rgm@gnu.org>
30620         * Makefile.in (install-etc): Use existing Makefile variables.
30622 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
30624         Minor copyedits of recent changes in documentation
30626         * doc/lispref/frames.texi (Frame Layout, Frame Position)
30627         (Frame Size, Frame Interaction Parameters, Input Focus)
30628         (Raising and Lowering, Child Frames): Improve wording and indexing.
30629         * doc/emacs/cmdargs.texi (Borders X): Improve indexing.
30631 2017-04-13  Glenn Morris  <rgm@gnu.org>
30633         Small src/Makefile simplification
30635         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc)
30636         ($(lispsource)/term/ns-win.elc): Combine rules.
30638 2017-04-13  Simen Heggestøyl  <simenheg@gmail.com>
30640         Add grid layout module to CSS property list
30642         * lisp/textmodes/css-mode.el (css-property-alist)
30643         (css-value-class-alist): Add new properties and value classes from CSS
30644         Grid Layout Module.
30646 2017-04-13  Martin Rudalics  <rudalics@gmx.at>
30648         Describe recent frame and window changes in manuals
30650         * doc/emacs/emacs.texi (Top):
30651         * doc/emacs/cmdargs.texi (Borders X): Clearly separate the terms
30652         "outer border" (for the X border which can be set from within
30653         Emacs) and "external border" (for the border which is added by
30654         the window manager).
30655         * doc/lispref/display.texi (Tooltips): Clarify slightly.
30656         * doc/lispref/elisp.texi (Top): Update node and section names.
30657         * doc/lispref/frames.texi (Frames): Describe difference between
30658         top-level and child frames.
30659         (Frame Layout): Describe outer border.  Add more details about
30660         how Emacs obtains the outer size and position of a frame and
30661         about menu bar/tool bar wrapping.  Add references to new frame
30662         parameters.
30663         (Size and Position): Remove subsection.
30664         (Frame Position): New subsection excerpted from the earlier Size
30665         and Position subsection.  Clarify positioning concepts and
30666         some of their shortcomings.  Describe `move-frame-functions'.
30667         (Frame Size): New subsection excerpted from the earlier Size
30668         and Position subsection.  Describe how to track frame size
30669         changes and the new function `frame-size-changed-p'.
30670         (Position Parameters): Describe child frame positioning.  Warn
30671         about negative offsets.  Describe 'z-group' parameter.
30672         (Size Parameters): Describe 'text-pixels' specification
30673         facility and new 'min-width' and 'min-height' parameters.
30674         (Layout Parameters): Clarify description of 'tool-bar-lines' and
30675         'menu-bar-lines' parameters.
30676         (Frame Interaction Parameters): New subsubsection describing
30677         'parent-frame', 'delete-before', 'mouse-wheel-frame' and
30678         'no-other-frame' parameters.
30679         (Management Parameters): Describe 'skip-taskbar',
30680         'no-focus-on-map', 'no-accept-focus', 'undecorated' and
30681         'override-redirect' parameters.
30682         (Deleting Frames): Describe handling of 'delete-before'
30683         parameter and child frames for `delete-frame' and
30684         `delete-other-frames'.
30685         (Finding All Frames): Describe `frame-list-z-order' and handling
30686         of 'no-other-frame' parameter by `next-frame'.
30687         (Minibuffers and Frames): Minor clarifications.
30688         (Input Focus): Document `x-focus-frame'.  Clarify descriptions
30689         of `focus-in-hook', `focus-out-hook' and `focus-follows-mouse'.
30690         (Visibility of Frames): Describe mapping and how the visibility
30691         of a parent frame affects that of its child frames.
30692         (Raising and Lowering): Describe restacking of frames and
30693         z-groups.
30694         (Child Frames): New section.
30695         * doc/lispref/windows.texi (Selecting Windows): Describe
30696         additional semantics of NORECORD argument of `select-window' and
30697         how `buffer-list-update-hook' can emulate a "select window
30698         hook".
30699         (Mouse Window Auto-selection): New section.
30701 2017-04-13  Damien Cassou  <damien@cassou.me>
30703         Fix imenu--sort-by-position for non-pairs parameters (bug#26457)
30705         * lisp/imenu.el (imenu--sort-by-position): Fix to accept lists beyond
30706           pairs.
30707         * test/lisp/imenu-tests.el: Add 2 tests for `imenu--sort-by-position`.
30709 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
30711         Avoid unnecessary regeneration of the entire loaddefs.el
30713         * lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
30714         why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
30715         ($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
30716         loaddefs.tmp before running 'batch-update-autoloads' on it, to
30717         avoid slow regeneration of the full contents.  (Bug#26459)
30718         Use 'move-if-change' instead of 'mv', to avoid producing a new
30719         Emacs binary when not necessary.
30721 2017-04-13  Dmitry Gutov  <dgutov@yandex.ru>
30723         Handle indentation of nested ternary operators in JS
30725         * lisp/progmodes/js.el (js--looking-at-operator-p):
30726         Handle nested ternary operators.
30728 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
30730         Don't call 'kill-this-buffer' outside of menus
30732         * lisp/simple.el (kill-current-buffer): New function.
30733         (completion-list-mode-map): Use it instead of kill-this-buffer.
30734         * lisp/type-break.el (type-break-mode):
30735         * lisp/term/ns-win.el (global-map):
30736         * lisp/progmodes/gdb-mi.el (gdb-memory-mode-map)
30737         (gdb-disassembly-mode-map, gdb-frames-mode-map)
30738         (gdb-locals-mode-map, gdb-registers-mode-map):
30739         * lisp/org/org-mhe.el (org-mhe-follow-link):
30740         * lisp/net/secrets.el (secrets-mode-map):
30741         * lisp/net/eudc.el (eudc-mode-map):
30742         * lisp/net/eudc-hotlist.el (eudc-hotlist-mode-map): Use
30743         kill-current-buffer instead of kill-this-buffer.  (Bug#26466)
30745 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
30747         * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
30749 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
30751         New internal-border face and args for select-window and x-focus-frame
30753         Add `internal-border' face and handle it whenever clearing the
30754         internal border.  If NORECORD equals the symbol
30755         'mark-for-redisplay', `select-window' will not record the window
30756         but still mark it for redisplay.  The new argument NOACTIVATE
30757         for `x-focus-frame' tries to not activate FRAME when set.
30759         * lisp/faces.el (internal-border): New face.
30760         * lisp/mwheel.el (mwheel-scroll): Select window to scroll with
30761         `mark-for-redisplay'.
30762         * lisp/scroll-bar.el (scroll-bar-drag)
30763         (scroll-bar-horizontal-drag, scroll-bar-scroll-down)
30764         (scroll-bar-scroll-up, scroll-bar-toolkit-scroll)
30765         (scroll-bar-toolkit-horizontal-scroll): Select window to scroll
30766         with `mark-for-redisplay'.
30767         * lisp/window.el (handle-select-window): When
30768         `focus-follows-mouse' is not 'auto-raise' try to not activate
30769         FRAME.
30770         * src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID.
30771         * src/frame.c (Fx_focus_frame): New argument NOACTIVATE.
30772         * src/frame.h (x_focus_frame): Update extern declaration.
30773         * src/gtkutil.c (xg_clear_under_internal_border): Remove
30774         function.
30775         (xg_frame_resized, xg_frame_set_char_size): Call
30776         x_clear_under_internal_border.
30777         (xg_tool_bar_callback): Adapt x_focus_frame call.
30778         * src/gtkutil.h (xg_clear_under_internal_border): Remove
30779         declaration.
30780         * src/nsfns.m (x_focus_frame): Add argument NOACTIVATE.
30781         * src/w32fns.c (x_clear_under_internal_border): Fill border
30782         with internal-border background if specified.
30783         * src/w32term.h (x_clear_under_internal_border): Add extern
30784         declaration.
30785         * src/w32term.c (x_after_update_window_line): Fill border
30786         with internal-border background if specified.
30787         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
30788         (x_scroll_bar_clear, w32_read_socket): Call
30789         x_clear_under_internal_border.
30790         (x_focus_frame): New argument NOACTIVATE.
30791         * src/window.c (select_window): Mark WINDOW for redisplay when
30792         NORECORD equals 'mark-for-redisplay'.
30793         (Fselect_window): Update doc-string.
30794         (syms_of_window): Define Qmark_for_redisplay.
30795         * src/xdisp.c (clear_garbaged_frames, echo_area_display)
30796         (redisplay_internal): Call x_clear_under_internal_border.
30797         * src/xfaces.c (lookup_basic_face): Handle `window-divider'
30798         and `internal-border' faces.
30799         (realize_basic_faces): Realize `internal-border' face.
30800         (syms_of_xfaces): Define Qinternal_border.
30801         * src/xfns.c (x_set_internal_border_width): Remove call for
30802         xg_clear_under_internal_border.
30803         (x_focus_frame): New argument NOACTIVATE.  When non-nil try to not
30804         activate frame.
30805         * src/xterm.c (x_fill_rectangle): No more static.
30806         (x_clear_under_internal_border, x_after_update_window_line):
30807         Fill border with internal-border background if specified.
30808         (xt_horizontal_action_hook): Rewrite.
30809         (handle_one_xevent): Call x_clear_under_internal_border.
30810         * src/xterm.h (x_fill_rectangle): Add extern declaration.
30812 2017-04-12  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
30814         Port recent frame changes to --enable-gcc-warnings
30816         * src/frame.c (next_frame, prev_frame):
30817         Remove now-redundant assertions.
30818         * src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
30820 2017-04-12  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
30822         Scroll right and left using wheel-right and wheel-left.
30824         These changes also make use of touchpad and trackpad (Bug#26347).
30826         * doc/emacs/frames.texi (Mouse Commands): Document horizontal
30827         scrolling using the mouse wheel.
30829         * lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left.
30830         (mwheel-tilt-scroll-p, mwheel-flip-direction)
30831         (mwheel-scroll-left-function, mwheel-scroll-right-function): New
30832         defcustoms.
30833         (mouse-wheel-left-event, mouse-wheel-right-event): New variables,
30834         events that calls wheel-left/right.
30836         * etc/NEWS: Mention horizontal scrolling using the mouse wheel.
30838 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
30840         * lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY".
30842 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
30844         Add new frame parameters and associated functions
30846         Add new frame parameters `undecorated', `override-redirect',
30847         `parent-frame', `skip-taskbar', `no-focus-on-map',
30848         `no-accept-focus', `z-group', `delete-before', `no-other-frame',
30849         `mouse-wheel-frame', `min-width', `min-height'.  Add new
30850         functions `frame-restack' and `frame-list-z-order'.
30852         * lisp/cus-start.el (focus-follows-mouse): Adapt customization
30853         type.
30854         * lisp/frame.el (handle-delete-frame): Handle child and
30855         `delete-before' frames.
30856         (other-frame): Stop looking for other frame after one round.
30857         (frame-list-z-order, frame-restack): New functions.
30858         (delete-other-frames): Handle child frames.
30859         * lisp/frameset.el (frameset-persistent-filter-alist)
30860         (frameset--record-relationships): Handle `delete-before',
30861         `parent-frame' and `mouse-wheel-frame' parameters.  Rename
30862         latter from `frameset--record-minibuffer-relationships'.
30863         (frameset--restore-frame): Handle ‘parent-frame’ parameter
30864         specially.
30865         (frameset-restore): Handle `delete-before', `parent-frame' and
30866         `mouse-wheel-frame' parameters.
30867         * lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame'
30868         parameter.
30869         * lisp/window.el (window--min-size-ignore-p): Fix doc-string.
30870         (mouse-autoselect-window-select, handle-select-window): Major
30871         rewrite.  Try to not ignore errors.  Handle auto-selection of
30872         child frames and different values of `focus-follows-mouse'.
30873         * src/frame.c (frame_windows_min_size): Handle new `min-width'
30874         and `min-height' frame parameters.
30875         (make_frame): Initialize new frame structure members.
30876         (do_switch_frame): Don't reset internal_last_event_frame for
30877         descendant frames.
30878         (Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New
30879         functions.
30880         (candidate_frame): Don't return `no-other-frame' frame.
30881         (other_frames): New function replacing other_visible_frames.
30882         (delete_frame): Rewrite.  Handle child and `delete-before' frames.
30883         (Fmake_frame_invisible): Call other_frames.
30884         (store_frame_param): Check `delete-before' and `parent-frame'
30885         parameters for circular dependencies.
30886         (frame_parms, syms_of_frame): Add entries for and define new
30887         frame parameters.
30888         (focus_follows_mouse): New meaningful value `auto-raise'.
30889         * src/frame.h (z_group): New enumeration type.
30890         (frame): New slots parent_frame, undecorated, override_redirect,
30891         skip_taskbar, no_focus_on_map, no_accept_focus, z_group.
30892         (fset_parent_frame): New inlined function.
30893         (FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT)
30894         (FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
30895         (FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE)
30896         (FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED)
30897         (FRAME_Z_GROUP_BELOW): New macros.
30898         (frame_ancestor_p): Add declaration.
30899         * src/gtkutil.c (xg_create_frame_widgets): Handle
30900         `undecorated' and `override-redirect' frame parameters.
30901         (x_wm_set_size_hint): None for child frames.
30902         (xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar)
30903         (xg_set_no_focus_on_map, xg_set_no_accept_focus)
30904         (xg_set_override_redirect): New functions.
30905         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
30906         Don't let scrollbars obscure child frames.
30907         * src/gtkutil.h: (xg_set_undecorated, xg_frame_restack)
30908         (xg_set_skip_taskbar, xg_set_no_focus_on_map)
30909         (xg_set_no_accept_focus, xg_set_override_redirect): Add extern
30910         declarations.
30911         * src/nsfns.m (ns_frame_parm_handlers): Add entries for new
30912         frame parameters.
30913         (Fx_create_frame): Install `min-width' and `min-height' frame
30914         parameters.
30915         * src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change.
30916         * src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary.
30917         (x_real_positions): Handle child frames.
30918         (x_set_menu_bar_lines): Don't for child frames.
30919         (x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar)
30920         (x_set_no_focus_on_map, x_set_no_accept_focus)
30921         (x_set_z_group): New functions.
30922         (w32_createvscrollbar, w32_createhscrollbar): Don't draw
30923         scroll bars over child frames.
30924         (w32_createwindow): Handle new frame parameters and child frames.
30925         (w32_wnd_proc): Let mouse clicks into a child frame activate
30926         the frame.  Try to handle the `no-accept-focus' parameter.  Do
30927         SetFocus when our window is brought to top or becomes the
30928         foreground window.
30929         (w32_window): Don't initialize menu bar for child frames.
30930         (Fx_create_frame): Handle new frame parameters.
30931         (x_create_tip_frame): Set explicit_parent slot.
30932         (w32_dialog_in_progress): New function.
30933         (Fx_file_dialog): Handle `z-group-above' frames.
30934         (w32_frame_list_z_order, Fw32_frame_list_z_order)
30935         (w32_frame_restack, Fw32_frame_restack): New functions.
30936         (w32_frame_parm_handlers): Add entries for new frame
30937         parameters.
30938         * src/w32font.c (Fx_select_font): Handle `z-group-above'
30939         frames during font selection dialogue.
30940         * src/w32term.c (construct_mouse_wheel): Construct mouse wheel
30941         event from F's w32 window.
30942         (w32_mouse_position): Handle child frames.
30943         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar):
30944         Don't draw scroll bars over child frames.
30945         (w32_read_socket): Always erase background of child frames.
30946         When generating SELECT_WINDOW_EVENTs handle new value of
30947         `focus-follows-mouse' and handle `no-accept-focus' parameter.
30948         Handle `mouse-wheel-frame' parameter.
30949         (x_calc_absolute_position, x_set_offset, x_set_window_size):
30950         Handle child frames.
30951         (x_make_frame_visible): Handle child frames specially.  Handle
30952         `no-focus-on-map' parameter.
30953         * src/w32term.h (w32_dialog_in_progress): Add external
30954         declaration.
30955         * src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not
30956         for child frames.
30957         * src/xfns.c (Xm/MwmUtil.h): Include for WM hints.
30958         (PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for
30959         non-Motif, non-GTK case.
30960         (x_real_pos_and_offsets): Handle child frames.
30961         (x_set_undecorated, x_set_parent_frame)
30962         (x_set_no_focus_on_map, x_set_no_accept_focus)
30963         (x_set_override_redirect): New functions.
30964         (x_set_menu_bar_lines): Not for child frames.
30965         (x_window): Handle `undecorated' and `override_redirect' cases.
30966         (Fx_create_frame): Handle new frame parameters.
30967         (frame_geometry): Handle child frames and outer border.
30968         (x_frame_list_z_order, Fx_frame_list_z_order)
30969         (x_frame_restack, Fx_frame_restack): New functions.
30970         (Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use.
30971         (x_frame_parm_handlers): Add entries for new frame parameters.
30972         * src/xmenu.c (x_menu_set_in_use): Handle `z-group-above'
30973         frames.
30974         * src/xterm.c (x_set_frame_alpha): Don't set alpha of parent
30975         for child frames.
30976         (XTmouse_position): Handle child frames.
30977         (x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll
30978         bars obscure child frames.
30979         (handle_one_xevent): Handle child frame positions.  If necessary
30980         set `skip-taskbar' and reassign proper `z-group' when we are
30981         mapped.  When generating SELECT_WINDOW_EVENTs handle new value
30982         of `focus-follows-mouse'.  Handle `mouse-wheel-frame' parameter.
30983         Let mouse clicks into a child frame activate the frame.
30984         (x_calc_absolute_position, x_set_offset): Handle child frames
30985         specially.
30986         (x_set_skip_taskbar, x_set_z_group): New functions.
30987         (x_make_frame_visible): Handle child frames.
30988         (ATOM_REFS_INIT): Add entries for
30989         Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above,
30990         Xatom_net_wm_state_below.
30991         * src/xterm.h (top-level): Declare Xatom_net_wm_state_above,
30992         Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar.
30993         (x_set_skip_taskbar, x_set_z_group): Add extern declarations.
30995 2017-04-11  Glenn Morris  <rgm@gnu.org>
30997         Update a package test for hydra
30999         * test/lisp/emacs-lisp/package-tests.el (with-package-test):
31000         Also bind package-gnupghome-dir, see eg
31001         http://hydra.nixos.org/build/51462182 .
31003 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
31005         Frame movement, focus and hook related changes
31007         New hook `move-frame-functions'.  Run `focus-in-hook'
31008         after switching to frame that gets focus.  Don't run
31009         XMoveWindow for GTK.
31011         * lisp/frame.el (handle-move-frame, frame-size-changed-p): New
31012         functions.
31014         * src/frame.c (do_switch_frame): Simplify code.
31015         (Fhandle_switch_frame): Switch frame before running
31016         `handle-focus-in'.
31017         (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
31018         (Vmove_frame_functions): New hook variable.
31019         * src/keyboard.c (kbd_buffer_get_event): Handle
31020         MOVE_FRAME_EVENT.  Handle SELECT_WINDOW_EVENT separately.
31021         (head_table): Add Qmove_frame entry.
31022         (syms_of_keyboard): Add Qmove_frame.
31023         (keys_of_keyboard): Define key for `move-frame'.
31024         * src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
31025         * src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
31026         * src/window.c (run_window_size_change_functions): Record size of
31027         FRAME's minibuffer window too.
31028         * src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
31029         (x_set_offset): For GTK call gtk_widget_move instead of
31030         XMoveWindow.
31032 2017-04-11  Werner LEMBERG  <wl@gnu.org>
31034         Avoid abort in ftfont.c due to faulty fonts
31036         * src/ftfont.c (ftfont_get_metrics): Try loading the font without
31037         hinting, before aborting.  (Bug#25945)
31039 2017-04-11  Eli Zaretskii  <eliz@gnu.org>
31041         Document 'line-pixel-height'
31043         * doc/lispref/display.texi (Size of Displayed Text): Document
31044         line-pixel-height.  Suggested by Tak Kunihiro
31045         <tkk@misasa.okayama-u.ac.jp>.  (Bug#26379)
31047 2017-04-11  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
31049         Introduce customizable variable 'package-gnupghome-dir'
31051         * lisp/emacs-lisp/package.el (package-import-keyring)
31052         (package--check-signature-content, package-check-signature):
31053         Use new variable package-gnupghome-dir to control which GnuPG
31054         homedir to use.
31055         * doc/emacs/package.texi: Mention package-gnupghome-dir.
31056         * etc/NEWS: Mention package-gnupghome-dir.
31058 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
31060         Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943
31062         This activates a change that was installed a few weeks ago but whose
31063         ChangeLog was inadvertently dropped during its commit.  The proper
31064         ChangeLog is included below as part of the present commit.
31066         * src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
31067         is set avoid calling x_gtk_parse_geometry (Bug#25851).
31068         (x_wm_set_size_hint): When x_gtk_use_window_move is set, set
31069         PPosition, USPosition and USSize flags if requested.
31070         * src/xterm.c (x_set_offset): With GTK when
31071         x_gtk_use_window_move is set, leave it entirely to
31072         gtk_window_move to position the window and skip any
31073         post-adjustments (Bug#25851 and Bug#25943).
31074         (x_gtk_use_window_move): New variable.
31076 2017-04-10  Alan Mackenzie  <acm@muc.de>
31078         Fix a loop in C Mode caused by inadequate analysis of comments.
31080         After M-;, and the insertion of the opening "/*", the CC Mode after-change
31081         function got confused, since the new comment opener matched the end of a
31082         subsequent comment, but moving back over that comment did not come back to the
31083         starting point.  Fix this.
31085         * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
31086         point is left if no end-of-macro is found before it.
31087         (c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
31088         non-nil except where we have an unclosed block comment at the end of a macro.
31089         This enables us to populate the cache more fully, at the cost of some run
31090         time.
31092 2017-04-10  Lars Brinkhoff  <lars@nocrew.org>
31094         Add PVSIZE function to return the size of a pseudovector.
31096         * src/lisp.h (PVSIZE): New function.
31098         * src/chartab.c (copy_char_table):
31099         * src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
31100         * src/doc.c (Fdocumentation, store_function_docstring):
31101         * src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
31102         * src/fns.c (Flength, Fcopy_sequence):
31103         * src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
31104         * src/lread.c (substitute_object_recurse):
31105         * src/print.c (print_object):
31106           Use it.
31108 2017-04-10  Michael Albinus  <michael.albinus@gmx.de>
31110         Add Tramp tests
31112         * lisp/net/tramp.el (tramp-syntax): Adapt docstring.
31114         * test/lisp/net/tramp-tests.el
31115         (tramp-test01-file-name-syntax-simplified)
31116         (tramp-test01-file-name-syntax-separate)
31117         (tramp-test02-file-name-dissect-simplified)
31118         (tramp-test02-file-name-dissect-separate): New tests.
31120 2017-04-10  Martin Rudalics  <rudalics@gmx.at>
31122         Make sure that `shell' makes BUFFER current
31124         * lisp/shell.el (shell): Restrict scope of recently added
31125         `with-current-buffer' to make sure that BUFFER is current when
31126         `shell' returns.
31128 2017-04-10  Jim Blandy  <jimb@red-bean.com>
31130         Default to PCRE syntax when reading .hgignore
31132         * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
31133         Default to the PCRE syntax (bug#26249).
31135 2017-04-09  Michael Albinus  <michael.albinus@gmx.de>
31137         Document Tramp changes
31139         * doc/misc/tramp.texi (Change file name syntax): New node.
31141         * etc/NEWS: Mention `tramp-change-syntax'.
31143         * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
31144         External packages uses it.
31145         (tramp-syntax): Set also `tramp-file-name-regexp'.
31147 2017-04-09  Paul Eggert  <eggert@cs.ucla.edu>
31149         Merge from gnulib (Bug#26398)
31151         This incorporates:
31152         2017-04-08 getopt: prefer - to _ in new file names
31153         2017-04-08 getopt: port recent getopt changes to macOS
31154         * .gitignore: Add lib/getopt-cdefs.h.
31155         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
31156         * lib/getopt-core.h: Rename from lib/getopt_core.h.
31157         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
31158         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
31159         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
31160         * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
31161         Copy from Gnulib.
31162         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
31164 2017-04-09  Ken Raeburn  <raeburn@raeburn.org>
31166         Write updated loaddefs to a temporary file and rename into place.
31168         In a parallel build, byte compilation can be running at the same times
31169         as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
31170         loaddefs.el is read at startup and must always be in a usable state.
31172         * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
31173         loaddefs.el.new and then rename it to loaddefs.el.
31175 2017-04-09  Glenn Morris  <rgm@gnu.org>
31177         In the manual, mention pops and imaps
31179         * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
31180         Mention pops and imaps protocols.
31182 2017-04-09  Glenn Morris  <rgm@gnu.org>
31184         * doc/emacs/rmail.texi: Prefer @command to @code for movemail.
31186 2017-04-09  Sergey Poznyakoff  <gray@gnu.org>
31188         Fix rmail handling of movemail protocols (bug#18278)
31190         * lisp/mail/rmail.el (rmail-remote-proto-p): New function.
31191         (rmail-parse-url): Return protocol in second list element.
31192         Only use passwords with remote mailboxes.
31193         (rmail-insert-inbox-text): Handle non-simple local
31194         mailboxes (maildir, MH, etc.).
31196 2017-04-09  Glenn Morris  <rgm@gnu.org>
31198         Fix typos in manual re movemail local mailboxes
31200         * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
31201         Fix examples of local mailbox urls.
31203 2017-04-08  Glenn Morris  <rgm@gnu.org>
31205         * lisp/gnus/nnmail.el (nnmail-crosspost-link-function): Simplify.
31207 2017-04-08  Glenn Morris  <rgm@gnu.org>
31209         Remove references to OS/2 in code, doc, and comments
31211         * lisp/gnus/nnheader.el (nnheader-read-timeout)
31212         (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
31213         * lisp/emulation/viper-util.el (viper-color-defined-p):
31214         * lisp/net/pop3.el (pop3-read-timeout):
31215         * lisp/net/imap.el (imap-read-timeout):
31216         * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
31217         * lisp/emulation/viper-ex.el (viper-glob-function):
31218         * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
31219         * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
31220         * doc/emacs/msdos-xtra.texi (MS-DOS):
31221         * doc/misc/gnus.texi (Various Various):
31222         * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
31224 2017-04-08  Michael Albinus  <michael.albinus@gmx.de>
31226         Tune Tramp syntax
31228         * lisp/net/tramp-cmds.el (tramp-change-syntax):
31229         Use `tramp-syntax-values'.
31231         * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
31233         * lisp/net/tramp.el (tramp-syntax): Rename possible values.
31234         (tramp-syntax-values): New defun.
31235         (tramp-prefix-format, tramp-method-regexp)
31236         (tramp-postfix-method-format, tramp-prefix-ipv6-format)
31237         (tramp-postfix-ipv6-format, tramp-postfix-host-format)
31238         (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
31239         and changed values.
31240         (tramp-completion-file-name-regexp-default): Rename from
31241         `tramp-completion-file-name-regexp-unified'.  Adapt docstring.
31242         (tramp-completion-file-name-regexp-simplified): Rename from
31243         `tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
31244         (tramp-initial-completion-file-name-regexp):
31245         Use `tramp-completion-file-name-regexp-default'.
31246         (tramp-run-real-handler): Do not autoload any longer.
31248 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
31250         Replace more nested ifs with cond
31252         This is a continuation of d526047 "Replace more nested ifs with cond".
31253         * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
31254         when and cond where appropriate.
31256 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
31258         Adjust the edebug spec of if-let*
31260         This was fixed in Bug#24748, but now looking more closely, using gate in
31261         the spec seems correct.  See (info "(elisp) Backtracking").
31262         * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
31264 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
31266         Replace some uses of cl-member-if with apply
31268         From the mhtml-mode series.  Some of the uses of cl-lib are not
31269         necessary.
31270         * lisp/align.el: Don't require cl-lib.
31271         (align-region): Use apply instead of cl-member-if.
31272         * lisp/emulation/viper.el: Don't require cl-lib.
31273         (viper-mode, this-major-mode-requires-vi-state): Use apply instead of
31274         cl-member-if.
31276 2017-04-08  Philipp Stephani  <phst@google.com>
31278         Validate SPEC of `dolist', cf. Bug#25477.
31280         * lisp/subr.el (dolist): Test type and length of SPEC.
31281         * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
31282         Add unit test.
31284 2017-04-08  Philipp Stephani  <phst@google.com>
31286         Add unit test for Bug#26378
31288         * test/lisp/vc/ediff-diff-tests.el
31289         (ediff-diff-tests--ediff-exec-process--nil): New unit test.
31291 2017-04-08  Lars Brinkhoff  <lars@nocrew.org>
31293         Fix circular read syntax for records.
31295         * src/lread.c (substitute_object_recurse): Work with records.
31297         * test/src/lread-tests.el (lread-record-1): New test.
31299 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
31301         Deprecate copy-record in favor of copy-sequence
31303         Since copy-sequence seems to be needed anyway for records, have it
31304         work on records, and remove copy-record as being superfluous.
31305         * doc/lispref/records.texi (Records, Record Functions):
31306         * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
31307         * lisp/emacs-lisp/eieio.el (make-instance, clone):
31308         * test/src/alloc-tests.el (record-3):
31309         Use copy-sequence, not copy-record, to copy records.
31310         * doc/lispref/sequences.texi (Sequence Functions)
31311         (Array Functions): Document that aref and copy-sequence
31312         work on records.
31313         * etc/NEWS: Omit copy-record.
31314         * src/alloc.c (Fcopy_record): Remove.
31315         * src/data.c (Faref): Document that arg can be a record.
31316         * src/fns.c (Fcopy_sequence): Copy records, too.
31318 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
31320         Fix dependency checking in src/Makefile.in
31322         * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
31323         dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
31324         Otherwise, some dependencies will be missed.
31326 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
31328         Minor tuneup of write-region change
31330         * src/fileio.c (write_region): Use SCHARS, not Flength,
31331         on a value known to be a string.
31333 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
31335         Adjust write-region so file name is at the beginning again
31337         * lisp/epa-file.el (epa-file-write-region):
31338         * lisp/gnus/mm-util.el (mm-append-to-file):
31339         * lisp/jka-compr.el (jka-compr-write-region):
31340         * lisp/net/ange-ftp.el (ange-ftp-write-region):
31341         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
31342         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
31343         * src/fileio.c (write_region): Put file name at the beginning and move
31344         number of characters to the end of the message.
31346 2017-04-08  Kaushal Modi  <kaushal.modi@gmail.com>
31348         Check that file argument is a string
31350         * lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
31351           passed to `file-local-copy' is a string (Bug#26378).  Also fix
31352           the existing comment for this function, and convert it to its
31353           doc-string.
31355 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
31357         Fix handling of non-integer START param to write-region
31359         The previous patch for Bug#354 incorrectly assumed that START would
31360         always be an integer.
31362         * lisp/epa-file.el (epa-file-write-region):
31363         * lisp/jka-compr.el (jka-compr-write-region):
31364         * lisp/net/ange-ftp.el (ange-ftp-write-region):
31365         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
31366         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
31367         * src/fileio.c (write_region): Handle nil and string values of START.
31369 2017-04-07  Glenn Morris  <rgm@gnu.org>
31371         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fixes.
31373 2017-04-07  Michael Albinus  <michael.albinus@gmx.de>
31375         Add Tramp versions to `customize-package-emacs-version-alist'
31377         * lisp/net/trampver.el (customize-package-emacs-version-alist):
31378         Add Tramp versions to `customize-package-emacs-version-alist'.
31380 2017-04-07  Tom Tromey  <tom@tromey.com>
31382         * lisp/textmodes/rst.el (rst-toc-link-keymap): Move before first use.
31384 2017-04-07  Lars Brinkhoff  <lars@nocrew.org>
31386         * doc/lispref/records.texi (Record Functions): fix typo.
31388 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
31390         More casefiddle minor fixes
31392         * src/casefiddle.c (case_character_impl): Omit unnecessary casts.
31393         (case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
31394         (GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
31396 2017-04-07  Jeff Clough  <kb1vqh@gmail.com>
31398         Output number of characters added to file (Bug#354)
31400         * src/fileio.c (write_region):
31401         * lisp/epa-file.el (epa-file-write-region):
31402         * lisp/jka-compr.el (jka-compr-write-region):
31403         * lisp/net/ange-ftp.el (ange-ftp-write-region):
31404         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
31405         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
31406         * lisp/gnus/mm-util.el (mm-append-to-file): Functions now output
31407         characters written in addition to file name.
31408         * doc/lispref/files.texi: Added documentation to write-region and
31409         append-to-file describing their output.
31411 2017-04-07  Noam Postavsky  <npostavs@users.sourceforge.net>
31413         Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap
31415         The recent changes to src/casefiddle.c cause build failure as seen
31416         below:
31418             Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
31419                 --batch --load loadup bootstrap
31420             [Thread debugging using libthread_db enabled]
31421             Using host libthread_db library "/usr/lib/libthread_db.so.1".
31422             Loading loadup.el (source)...
31423             Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
31424                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
31425                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
31426                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
31427                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
31428                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
31429             Loading emacs-lisp/byte-run (source)...
31430             Loading emacs-lisp/backquote (source)...
31431             Loading subr (source)...
31432             Loading version (source)...
31433             Loading widget (source)...
31434             Loading custom (source)...
31435             Loading emacs-lisp/map-ynp (source)...
31436             Loading international/mule (source)...
31437             Loading international/mule-conf (source)...
31439             lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
31441             Breakpoint 1, terminate_due_to_signal at emacs.c:363
31442             363   signal (sig, SIG_DFL);
31443             (gdb) bt
31444             #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
31445             #1  0x000000000060ec33 in die at alloc.c:7352
31446             #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
31447             #3  0x0000000000576884 in intern_c_string at lisp.h:3790
31448             #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
31449             #5  0x00000000005dd37f in casify_object at casefiddle.c:311
31450             #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
31451             #7  0x00000000006325ac in eval_sub at eval.c:2219
31452             #8  0x0000000000632368 in eval_sub at eval.c:2184
31453             #9  0x000000000063446c in apply_lambda at eval.c:2875
31454             #10 0x00000000006329af in eval_sub at eval.c:2294
31455             #11 0x000000000062d462 in Fprogn at eval.c:449
31456             #12 0x000000000062d4cf in prog_ignore at eval.c:461
31457             #13 0x000000000062f19c in Fwhile at eval.c:982
31458             #14 0x00000000006321f4 in eval_sub at eval.c:2172
31459             #15 0x000000000062d462 in Fprogn at eval.c:449
31460             #16 0x000000000062f0c4 in Flet at eval.c:963
31461             #17 0x00000000006321f4 in eval_sub at eval.c:2172
31462             #18 0x0000000000632963 in eval_sub at eval.c:2290
31463             #19 0x000000000062d462 in Fprogn at eval.c:449
31464             #20 0x000000000062f0c4 in Flet at eval.c:963
31465             #21 0x00000000006321f4 in eval_sub at eval.c:2172
31466             #22 0x0000000000668caa in readevalloop at lread.c:1927
31467             #23 0x0000000000667253 in Fload at lread.c:1332
31468             #24 0x0000000000632683 in eval_sub at eval.c:2233
31469             #25 0x0000000000668caa in readevalloop at lread.c:1927
31470             #26 0x0000000000667253 in Fload at lread.c:1332
31471             #27 0x0000000000632683 in eval_sub at eval.c:2233
31472             #28 0x0000000000631be5 in Feval at eval.c:2041
31473             #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
31474             #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
31475             #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
31476             #32 0x000000000062f51e in internal_catch at eval.c:1091
31477             #33 0x000000000057e0ea in command_loop at keyboard.c:1090
31478             #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
31479             #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
31480             #36 0x000000000057b55b in main at emacs.c:1687
31482             Lisp Backtrace:
31483             "capitalize" (0xffffcf70)
31484             "format" (0xffffd130)
31485             "define-charset" (0xffffd370)
31486             "while" (0xffffd560)
31487             "let" (0xffffd7c0)
31488             "dolist" (0xffffd910)
31489             "let" (0xffffdb70)
31490             "load" (0xffffdfe0)
31491             "load" (0xffffe4a0)
31493         * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
31494         Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
31495         Qspecial_titlecase.
31496         (prepare_casing_context): Use aforementioned symbols.
31498 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
31500         Merge from gnulib
31502         This merges some getopt fixes from Zack Weinberg, and affects only
31503         non-GNUish platforms.  It incorporates:
31504         2017-04-06 getopt-gnu: omit some duplicate code
31505         2017-04-06 getopt-posix: use angle-bracket include
31506         2017-04-06 getopt: annotate files with relationship to glibc
31507         2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
31508         2017-04-06 getopt: better handling of ambiguous options
31509         2017-04-06 getopt: refactor long-option handling
31510         2017-04-06 getopt: tidy up _getopt_initialize a bit
31511         2017-04-06 getopt: merge from glibc: repetition reduction
31512         2017-04-06 getopt: clean up error reporting
31513         2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
31514         2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
31515         2017-04-06 getopt: harmonize comments with glibc
31516         2017-04-06 getopt: remove USE_NONOPTION_FLAGS
31517         2017-04-06 getopt: tabify, in preparation for merge with glibc
31518         2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
31519         * build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
31520         * lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
31521         * lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
31522         * lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
31523         Copy from gnulib.
31524         * lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
31525         * lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
31526         New files, taken from gnulib.
31527         * lib/gnulib.mk.in, m4/gnulib-comp.m4:
31528         Regenerate.
31530 2017-04-07  Hong Xu  <hong@topbug.net>
31532         * src/search.c (Fre_search_forward, Fre_search_backward): Improve
31533         doc (Bug#25193).
31535 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
31537         Mention that processes start in default-directory (Bug#18515)
31539         * doc/lispref/processes.texi (Synchronous Processes):
31540         (Asynchronous Processes):
31541         * lisp/subr.el (start-process):
31542         * src/callproc.c (call-process): Mention that the subprocess starts in
31543         `default-directory' when local, suggest `start-file-process' and
31544         `process-file' otherwise.
31546 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
31548         * src/xdisp.c (vmessage, message): Clarify commentary.
31550 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
31552         Minor casefiddle.c cleanups
31554         * src/casefiddle.c: Redo recent changes to match GNU style,
31555         and prefer C99-style decls within blocks.
31556         (GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
31557         we are merely using the Unicode name, and make it a constant
31558         rather than a macro.  All uses changed.
31559         (SMALL_SIGMA): Remove; unused.
31560         (GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
31561         and make it a constant rather than a macro.  All uses changed.
31562         (do_casify_multibyte_string): Use ‘verify’ rather than an
31563         unportable static_assertion local.
31565 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
31567         * lisp/international/README: Update to match current list.
31569 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
31571         Fix 'make clean' in lib subdirectory
31573         * lib/Makefile.in (clean): Remove *-t files.
31574         (mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
31575         This removes files like lib/getopt.h that should be removed
31576         even if this configuration did not need to build them.
31577         (maintainer-clean): Remove TAGS here, not in distclean,
31578         to be consistent with ../src/Makefile.in.
31580 2017-04-06  Michael Albinus  <michael.albinus@gmx.de>
31582         Add new Tramp syntax
31584         * lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.
31586         * lisp/net/tramp.el (tramp-syntax): Change default to `def'.
31587         Add :set function.
31588         (tramp-prefix-port-format): Simplify.
31589         (tramp-file-name-regexp-separate): Remove.
31590         (tramp-initial-file-name-regexp)
31591         (tramp-completion-file-name-regexp-old-style)
31592         (tramp-initial-completion-file-name-regexp): New defconst.
31593         (tramp-prefix-format, tramp-prefix-regexp)
31594         (tramp-method-regexp, tramp-postfix-method-format)
31595         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
31596         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
31597         (tramp-postfix-ipv6-regexp)
31598         (tramp-postfix-host-format, tramp-postfix-host-regexp)
31599         (tramp-remote-file-name-spec-regexp)
31600         (tramp-file-name-structure, tramp-file-name-regexp)
31601         (tramp-completion-file-name-regexp)
31602         (tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
31603         (tramp-tramp-file-p, tramp-find-method)
31604         (tramp-dissect-file-name, tramp-make-tramp-file-name)
31605         (tramp-completion-make-tramp-file-name)
31606         (tramp-rfn-eshadow-update-overlay)
31607         (tramp-register-autoload-file-name-handlers)
31608         (tramp-register-file-name-handlers)
31609         (tramp-unload-file-name-handlers)
31610         (tramp-completion-handle-file-name-all-completions)
31611         (tramp-completion-dissect-file-name, tramp-clear-passwd):
31612         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
31613         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
31614         (tramp-compute-multi-hops): Use them.
31616 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
31618         Implement special sigma casing rule  (bug#24603)
31620         In Greek, a sigma character has two lower case forms which depend on
31621         their position in the word.  Implement logic determining it.
31623         * src/casefiddle.c (struct casing_context, case_character_impl): Don’t
31624         assume inword is true when flag is CASE_UP and false when flag is
31625         CASE_DOWN.  For final sigma detection we need this information tracked
31626         reliably;.
31627         (CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
31628         Unicode code point of different forms of sigma letter.
31629         (case_character): Implement support for final sigma casing.
31630         (do_casify_multibyte_string, do_casify_multibyte_region): Update after
31631         changes to case_character.
31633         * test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
31634         cases for final sigma.
31636 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
31638         Support casing characters which map into multiple code points  (bug#24603)
31640         Implement unconditional special casing rules defined in Unicode standard.
31642         Among other things, they deal with cases when a single code point is
31643         replaced by multiple ones because single character does not exist (e.g.
31644         ‘fi’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
31645         into SS).
31647         * admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
31648         standard distribution.
31649         * admin/unidata/README: Mention SpecialCasing.txt.
31651         * admin/unidata/unidata-gen.el (unidata-gen-table-special-casing,
31652         unidata-gen-table-special-casing--do-load): New functions generating
31653         ‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
31654         character Unicode properties built from the SpecialCasing.txt Unicode
31655         data file.
31657         * src/casefiddle.c (struct casing_str_buf): New structure for
31658         representing short strings used to handle one-to-many character
31659         mappings.
31661         (case_character_imlp): New function which can handle one-to-many
31662         character mappings.
31663         (case_character, case_single_character): Wrappers for the above
31664         functions.  The former may map one character to multiple (or no)
31665         code points while the latter does what the former used to do (i.e.
31666         handles one-to-one mappings only).
31668         (do_casify_natnum, do_casify_unibyte_string,
31669         do_casify_unibyte_region): Use case_single_character.
31670         (do_casify_multibyte_string, do_casify_multibyte_region): Support new
31671         features of case_character.
31672         * (do_casify_region): Updated to reflact do_casify_multibyte_string
31673         changes.
31675         (casify_word): Handle situation when one character-length of a word
31676         can change affecting where end of the word is.
31678         (upcase, capitalize, upcase-initials): Update documentation to mention
31679         limitations when working on characters.
31681         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
31682         Add test cases for the newly introduced character properties.
31683         (casefiddle-tests-casing): Update test cases which are now passing.
31685         * test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
31686         char-fold--ascii-downcase): New functions which behave like old ‘upcase’
31687         and ‘downcase’.
31688         (char-fold--test-match-exactly): Use the new functions.  This is needed
31689         because otherwise fi and similar characters are turned into their multi-
31690         -character representation.
31692         * doc/lispref/strings.texi: Describe issue with casing characters versus
31693         strings.
31694         * doc/lispref/nonascii.texi: Describe the new character properties.
31696 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
31698         Split up casify_region function  (bug#24603)
31700         No functional changes at this time but splitting casify_region into
31701         a function dealing with multibyte and another dealing with unibyte
31702         buffers will make future code changes slightly easier.
31704         * src/casefiddle.c (casify_region): Move most of the code into two
31705         new functions:
31706         (do_casify_multibyte_region, do_casify_unibyte_region): new functions.
31708 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
31710         Add support for title-casing letters  (bug#24603)
31712         * src/casefiddle.c (struct casing_context, prepare_casing_context): Add
31713         titlecase_char_table member.  It’s set to the ‘titlecase’ Unicode
31714         property table if capitalization has been requested.
31715         (case_character): Make use of the titlecase_char_table to title-case
31716         initial characters when capitalising.
31718         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
31719         casefiddle-tests-casing): Update test cases which are now passing.
31721 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
31723         Introduce case_character function
31725         Move single-character casing logic into a separate function so that
31726         it is collected in a single place.  This will make future changes to
31727         the logic easier.  This commit introduces no functionality changes.
31729         * src/casefiddle.c (struct casing_context, prepare_casing_context): New
31730         structure for saving casing context and function to initialize it.
31731         (case_character): New function which cases character base on provided
31732         context.
31733         (do_casify_integer, do_casify_multibyte_string,
31734         do_casify_unibyte_string, casify_object, casify_region): Convert to
31735         use casing_context and case_character.
31737 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
31739         Split casify_object into multiple functions
31741         casify_object had three major cases to cover and those were mostly
31742         independent of each other.  Move those branches to separate function
31743         so it’s easier to comprehend each individual case.
31745         While at it, use somewhat more descriptive ch and cased variable names
31746         rather than c and c1.
31748         This commit introduces no functional changes.
31750         * src/casefiddle.c (casify_object): Split into…
31751         (do_casify_integer, do_casify_multibyte_string,
31752         do_casify_unibyte_string): …new functions.
31754 2017-04-06  Lars Brinkhoff  <lars@nocrew.org>
31756         Update documentation for type semantics of records.
31758         * doc/lispref/objects.texi (Record Type): improve description of what
31759         `type-of' returns for records.
31760         (Type Descriptors): new section.
31761         * doc/lispref/elisp.texi: reference it.
31762         * doc/lispref/records.texi (Records): reference it.  Document
31763         behavior when type slot is a record.
31765         * admin/alloc-colors.c (Fmake_record, Frecord): mention type desciptors.
31767 2017-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
31769         * lisp/help-fns.el (describe-symbol): `nil' is not an interesting default.
31771 2017-04-06  Tom Tromey  <tom@tromey.com>
31773         require cl-lib to fix fallout from mhtml series
31775         * lisp/align.el, lisp/calc/calc-embed.el, lisp/cedet/semantic.el,
31776         lisp/emulation/viper.el: Require cl-lib.
31778 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
31780         In CANNOT_DUMP builds, allow editing of files named "dump".
31782         * lisp/loadup.el: Perform the "dump" or "bootstrap" actions like
31783         calling dump-emacs only if dump-emacs is defined; otherwise, don't
31784         treat those command-line argument specially.
31786 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
31788         In CANNOT_DUMP builds, don't prepare for unexec.
31790         Having a command-line argument of "dump" or "bootstrap" would trigger
31791         behavior like not installing signal handlers.  In CANNOT_DUMP modes,
31792         we should get signal handlers installed regardless of whatever funny
31793         file names we decide to edit.
31795         src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
31796         alterations to initialization that prepares the process for unexec.
31798 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
31800         Allow a CANNOT_DUMP build to use exec-path during bootstrap.
31802         During a bootstrap, loading rmail.el invokes movemail to determine its
31803         flavor, but call-process doesn't work if exec-path is nil.
31805         * lisp/loadup.el: Only clear exec-path if dumping.
31807 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
31809         Fix CANNOT_DUMP build on Darwin/macOS.
31811         * src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
31812         CANNOT_DUMP]: Don't define as unexec_malloc, etc.
31813         * src/emacs.c (main): Don't call unexec_init_emacs_zone.
31815 2017-04-05  Tom Tromey  <tom@tromey.com>
31817         add two more mhtml tests
31819         * test/manual/indent/html-multi-2.html: New file.
31820         * test/manual/indent/html-multi-3.html: New file.
31822 2017-04-05  Tom Tromey  <tom@tromey.com>
31824         enable mhtml-mode by default
31826         * lisp/files.el (auto-mode-alist): Reference mhtml-mode, not
31827         html-mode.
31828         (magic-fallback-mode-alist): Likewise.
31829         * lisp/net/eww.el (eww-view-source): Use mthml-mode.
31831 2017-04-05  Tom Tromey  <tom@tromey.com>
31833         add mhtml-mode.el
31835         * etc/NEWS: Update.
31836         * lisp/textmodes/mhtml-mode.el: New file.
31837         * test/manual/indent/html-multi.html: New file.
31838         * test/lisp/textmodes/mhtml-mode-tests.el: New file.
31839         * doc/emacs/text.texi (HTML Mode): Mention mhtml-mode.
31841 2017-04-05  Tom Tromey  <tom@tromey.com>
31843         change sgml-mode to help multi-html mode
31845         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): New
31846         defconst.
31847         (sgml-syntax-propertize): Use it.
31848         (sgml--find-<>-backward): New function.
31849         (sgml-parse-tag-backward): Use it.
31851 2017-04-05  Tom Tromey  <tom@tromey.com>
31853         make js.el respect prog-first-column
31855         * lisp/progmodes/js.el (js--proper-indentation): Call prog-first-column.
31857 2017-04-05  Tom Tromey  <tom@tromey.com>
31859         make smie.el respect prog-first-column
31861         * lisp/emacs-lisp/smie.el (smie-indent-bob): Call prog-first-column.
31863 2017-04-05  Tom Tromey  <tom@tromey.com>
31865         change viper to use derived-mode-p
31867         * lisp/subr.el (provided-mode-derived-p): New function.
31868         (derived-mode-p): Use it.
31869         * lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
31870         (this-major-mode-requires-vi-state): Use provided-mode-derived-p.
31871         (set-viper-state-in-major-mode): Use derived-mode-p.
31873 2017-04-05  Tom Tromey  <tom@tromey.com>
31875         change align to use derived-mode-p
31877         * lisp/align.el (align-region): Use derived-mode-p.
31879 2017-04-05  Tom Tromey  <tom@tromey.com>
31881         change org to use derived-mode-p
31883         * lisp/org/org-list.el (org-list-insert-radio-list): Use
31884         derived-mode-p.
31885         * lisp/org/org-table.el (orgtbl-setup, orgtbl-toggle-comment): Use
31886         derived-mode-p.
31888 2017-04-05  Tom Tromey  <tom@tromey.com>
31890         change semantic to use derived-mode-p
31892         * lisp/cedet/semantic.el (semantic-new-buffer-fcn): Use derived-mode-p.
31894 2017-04-05  Tom Tromey  <tom@tromey.com>
31896         change calc to use derived-mode-p
31898         * lisp/calc/calc-embed.el (calc-embedded-find-modes)
31899         (calc-embedded-make-info): Use derived-mode-p.
31901 2017-04-05  Tom Tromey  <tom@tromey.com>
31903         change auto-insert to use derived-mode-p
31905         * lisp/autoinsert.el (auto-insert): Use derived-mode-p.
31907 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
31909         * lisp/info.el (Info-search): Fix typo in April 1 change.
31911 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
31913         Minor cleanups related to type-of
31915         * src/data.c (Frecordp): Rename from Frecordp_p, for consistency.
31916         * src/data.c (syms_of_data):
31917         * src/frame.c (syms_of_frame): Put all the primitive type names
31918         together, under the "Types that type-of returns" comment.
31920 2017-04-05  Glenn Morris  <rgm@gnu.org>
31922         * doc/lispref/package.texi (Package Archives): Mention https.
31924 2017-04-05  Glenn Morris  <rgm@gnu.org>
31926         Advertise https for homepage of gnu.org packages
31928         * lisp/emacs-lisp/package.el (describe-package-1):
31929         Use https, if supported, for the homepage of packages on gnu.org.
31931 2017-04-05  Glenn Morris  <rgm@gnu.org>
31933         Default to https for elpa.gnu.org if gnutls available
31935         * lisp/emacs-lisp/package.el (package-archives):
31936         Default to https for elpa.gnu.org if gnutls is available.  Ref:
31937         https://lists.gnu.org/r/emacs-devel/2015-05/msg00130.html
31939 2017-04-04  Paul Eggert  <eggert@cs.ucla.edu>
31941         Minor simplifications and doc for records
31943         * doc/lispref/records.texi (Records): Mention size limit.
31944         * etc/NEWS: Mention records.
31945         * src/alloc.c (allocate_pseudovector, allocate_record):
31946         Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
31947         (allocate_record): Check arg range here, not in callers, as this
31948         simplifies the code.  Use allocate_vectorlike instead of
31949         allocate_vector, to avoid duplicate runtime tests.
31950         (Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
31951         the doc string, as it is not visible to the user.
31952         (Fmake_record, record, Fcopy_record):
31953         Prefer make_lisp_ptr to XSETVECTOR.
31954         (record): Broaden memcpy to copy the type, too.
31956 2017-04-04  Eli Zaretskii  <eliz@gnu.org>
31958         Fix recent changes in record data type
31960         * src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
31961         compiler warnings when 'ptrdiff_t' is narrower than 'long int'.
31963 2017-04-04  Philipp Stephani  <phst@google.com>
31965         Make subprocess functions resolve the default directory
31967         `call-process' doesn't respect file name handlers in
31968         `default-directory', so `file-name-non-special' has to resolve them
31969         for `process-file', `start-file-process', and
31970         `shell-command' (Bug#25949).
31972         * lisp/files.el (file-name-non-special): Also resolve default
31973         directory for 'process-file', 'start-file-process', and
31974         'shell-command'.
31975         * test/lisp/files-tests.el
31976         (files-tests--file-name-non-special--subprocess): Add unit test.
31978 2017-04-04  Philipp Stephani  <phst@google.com>
31980         Make ediff handle remote and quoted file names
31982         Quoted file names need to be unquoted before passed to
31983         subprocesses (Bug#25950).
31985         * lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
31986         file names.
31987         * test/lisp/vc/ediff-diff-tests.el
31988         (ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
31990 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
31992         Backward compatibility with pre-existing struct instances.
31994         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
31995         (cl-old-struct-compat-mode): New minor mode.
31997         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
31998         cl-struct-define to signal use of record objects.
32000         * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
32001         cl-struct-define): Enable legacy defstruct compatibility.
32003         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
32004         old-struct): New tests.
32006         * doc/lispref/elisp.texi, doc/lispref/records.texi: Document
32007         `old-struct-compat'.
32009 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
32011         Make the URL library use records.
32013         * lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
32014         lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
32015         lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.
32017         * lisp/url/url-http.el (url-http): Check for type `url' instead of
32018         `vector'.
32020 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
32022         Make EIEIO use records.
32024         * lisp/emacs-lisp/eieio-compat.el
32025         (eieio--generic-static-object-generalizer): Adjust to new tags.
32027         * lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
32028         directly as tag.
32029         (eieio--object-class): Adjust to new tag representation.
32030         (eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
32031         (eieio-defclass-internal): Use `make-record'.
32032         (eieio--generic-generalizer): Adjust generalizer code accordingly.
32034         * lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.
32036         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
32037         Add `recordp'.
32039         * doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
32041 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
32043         Make cl-defstruct use records.
32045         * lisp/emacs-lisp/cl-extra.el (cl--describe-class)
32046         (cl--describe-class-slots): Use the new `type-of'.
32048         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
32049         (cl--generic-struct-specializers): Adjust to new tag.
32051         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
32052         Use the type symbol as the tag.  Use copy-record to copy structs.
32053         (cl--defstruct-predicate): New function.
32054         (cl--pcase-mutually-exclusive-p): Use it.
32055         (cl-struct-sequence-type): Can now return `record'.
32057         * lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
32058         code to new format.
32059         (cl--struct-register-child): Work with records.
32060         (cl-struct-define): Don't touch the tag's symbol-value and
32061         symbol-function slots when we use the type as tag.
32063         * lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.
32065         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
32066         New test.
32068         * doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
32070 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
32072         Add record objects with user-defined types.
32074         * src/alloc.c (allocate_record): New function.
32075         (Fmake_record, Frecord, Fcopy_record): New functions.
32076         (syms_of_alloc): defsubr them.
32077         (purecopy): Work with records.
32079         * src/data.c (Ftype_of): Return slot 0 for record objects, or type
32080         name if record's type holds class.
32081         (Frecordp): New function.
32082         (syms_of_data): defsubr it.  Define `Qrecordp'.
32083         (Faref, Faset): Work with records.
32085         * src/fns.c (Flength): Work with records.
32087         * src/lisp.h (prec_type): Add PVEC_RECORD.
32088         (RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.
32090         * src/lread.c (read1): Add syntax for records.
32092         * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
32093         (print_object): Add syntax for records.
32095         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
32096         New test.
32098         * test/src/alloc-tests.el (record-1, record-2, record-3):
32099         New tests.
32101         * doc/lispref/elisp.texi, doc/lispref/objects.texi,
32102         doc/lispref/records.texi: Add documentation for records.
32104 2017-04-04  Tino Calancha  <tino.calancha@gmail.com>
32106         Fix a test in python-test.el
32108         Fix a test that breaks the test suite when it is run within a
32109         virtual environment.
32110         See following link for details:
32111         https://lists.gnu.org/r/emacs-devel/2017-03/msg00857.html
32112         * test/lisp/progmodes/python-tests.el
32113         (python-shell-calculate-process-environment-7): Bind
32114         python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
32115         bind it to '/env'.
32117 2017-04-04  Noam Postavsky  <npostavs@gmail.com>
32119         Throw a `search-failed' derived error in Info search
32121         The original fix for Bug#6106 switched from signaling `search-failed'
32122         to `user-error'.  However, this breaks incremental searching over
32123         multiple nodes because the isearch code doesn't expect a `user-error'.
32125         * src/search.c (syms_of_search): New error, `user-search-failed',
32126         with `user-error' and `search-failed' as parents.
32127         * doc/lispref/errors.texi (Standard Errors): Document it.
32128         * etc/NEWS: Announce it.
32129         * lisp/info.el (Info-search): Use it instead of `user-error' so that
32130         isearch will handle failed searches correctly.
32132 2017-04-03  Michael Albinus  <michael.albinus@gmx.de>
32134         Add Tramp test
32136         * doc/misc/tramp.texi (Remote processes): Fix typo.
32138         * lisp/shell.el (shell): Fix typo.
32140         * lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.
32142         * test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
32143         New test.
32144         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
32145         (tramp-test31-vc-registered)
32146         (tramp-test32-make-auto-save-file-name)
32147         (tramp-test33-make-nearby-temp-file)
32148         (tramp-test34-special-characters)
32149         (tramp-test34-special-characters-with-stat)
32150         (tramp-test34-special-characters-with-perl)
32151         (tramp-test34-special-characters-with-ls, tramp-test35-utf8)
32152         (tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
32153         (tramp-test35-utf8-with-ls)
32154         (tramp-test36-asynchronous-requests)
32155         (tramp-test37-recursive-load, tramp-test38-unload): Rename.
32157 2017-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
32159         * lisp/ses.el: Silence byte-compiler warnings.
32161         (ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
32162         byte-compiler warnings.
32164 2017-04-02  Glenn Morris  <rgm@gnu.org>
32166         Belated fixes for admin.el's M-x make-manuals-dist
32168         * admin/admin.el (make-manuals-dist-output-variables): Additions.
32169         (make-manuals-dist--1): Also copy docstyle.texi.
32171 2017-04-02  Paul Eggert  <eggert@cs.ucla.edu>
32173         Fix bugs in simplified test dependencies
32175         Problem reported by Glenn Morris in:
32176         https://lists.gnu.org/r/emacs-devel/2017-04/msg00017.html
32177         * test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
32178         (TESTS): Omit unnecessary patsubst.
32179         (test_template): Redo dependency heuristic, hopefully
32180         correctly this time.  It's the .log file that depends,
32181         not the phony test target.  Declare the phonies to be PHONY.
32182         Resurrect the exception for the *-tests subdirectory.
32183         Adjust to the fact that leading "./" is omitted now.
32185 2017-04-02  Wilfred Hughes  <me@wilfred.me.uk>
32187         Fix typo in docstring
32189         * lisp/help.el: Fix typo.
32191 2017-04-02  Michael Albinus  <michael.albinus@gmx.de>
32193         Apply connecion-local variables for shells
32195         * doc/misc/tramp.texi (Remote processes): Show use of connection-local
32196         variables.  Don't mention Emacs 23 anymore.
32197         (Frequently Asked Questions): Precise Emacs and MS Windows version.
32199         * lisp/files-x.el (connection-local-normalize-criteria):
32200         Suppress nil properties.
32201         (connection-local-set-profiles, with-connection-local-profiles):
32202         Adapt docstring.
32204         * lisp/shell.el (shell): Apply connecion-local variables.
32206 2017-04-01  Evgeni Kolev  <evgenysw@gmail.com>  (tiny change)
32208         Propertize only perl prototype chars `][$%&*;+@\' as punctuation
32210         This prevents variables in signatures such as `sub add ($a, $b)' from
32211         being treated as punctuation.
32212         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
32213         Strictly match only prototype characters as punctuation.  (Bug#26037)
32215 2017-04-01  Tom Tromey  <tom@tromey.com>
32217         fix two js-mode syntax propertization bugs
32219         Bug#26070:
32220         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
32221         zero-or-one to regular expression.
32222         (js-syntax-propertize-regexp): Update.  Propertize body of regexp
32223         literal up to END.
32224         * test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
32225         (js-mode-propertize-bug-2): New tests.
32227 2017-04-01  Paul Eggert  <eggert@cs.ucla.edu>
32229         Simplify test dependency generation
32231         Generate default dependencies by using GNU extensions to ‘make’
32232         rather than via a hacky auxiliary program and script.
32233         * .gitignore: Remove test/make-test-deps.mk.
32234         * test/Makefile.in (ELFILES, LOGFILES, TESTS):
32235         Use :=, not =, to avoid multiple redundant invocations of ‘find’.
32236         (test_template): Infer dependency directly instead of via
32237         make-test-deps.mk.
32238         (check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
32239         (clean): No need to clean make-test-deps.mk.
32240         (make-test-deps.mk): Remove rule.
32241         * test/make-test-deps.emacs-lisp: Remove.
32243 2017-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
32245         * test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests
32247         (cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
32248         test suite.
32249         (cl-lib-symbol-macrolet-2): New test.
32251 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
32253         Use only posix options in a ediff-ptch test
32255         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
32256         Use just "-b" patch option.  Don't assume a particular suffix for
32257         the backup files.
32259 2017-04-01  Jarno Malmari  <jarno@malmari.fi>
32261         Initial implementation of HTTP Digest qop for url
32263         This also refactors digest authentication functions in url-auth.el.
32265         * lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
32266         (url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
32267         (url-digest-auth-name-value-string, url-digest-auth-source-creds):
32268         (url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
32269         (url-digest-find-new-key, url-digest-prompt-creds): Add new functions
32270         to simplify code and aid in unit testing.
32271         (url-digest-auth-build-response): Hook up new functionality, or fall
32272         back to previous.
32273         (url-digest-auth-make-request-digest-qop):
32274         (url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
32275         (url-digest-auth-name-value-string): Add new helper functions.
32276         * test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
32277         (url-auth-test-digest-ha1, url-auth-test-digest-ha2):
32278         (url-auth-test-digest-request-digest): Add a few tests as now more
32279         features are testable via intermediate functions.
32280         (url-auth-test-challenges, url-auth-test-digest-request-digest): Test
32281         the new implementation.  Parts of these were accidentally already
32282         merged in the past.
32284 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
32286         Tweak ediff-ptch test in previous commit a bit more
32288         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
32289         Apply patches without requiring a shell.  Add some comments.
32291 2017-03-31  Glenn Morris  <rgm@gnu.org>
32293         Tweak an ediff-ptch test
32295         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
32296         Add skip conditions.  Avoid going through shell where not needed.
32298 2017-03-31  Michael Albinus  <michael.albinus@gmx.de>
32300         * lisp/net/tramp-smb.el (tramp-smb-errors):
32302         Add "NT_STATUS_PASSWORD_MUST_CHANGE".
32304 2017-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
32306         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet): New test.
32308 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
32310         dired-mark-suffix: New command
32312         Now dired-mark-extension prepends '.' to extension when not present.
32313         Add command dired-mark-suffix to preserve the previous
32314         behavior (Bug#25942).
32315         * lisp/dired-x.el (dired-mark-suffix): New command;
32316         mark files ending in a given suffix.
32317         (dired--mark-suffix-interactive-spec): New defun.
32318         (dired-mark-extension, dired-mark-suffix): Use it.
32319         * doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
32320         * test/lisp/dired-x-tests.el: New test suite; add test for these features.
32322 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
32324         default-directory: Remark that it must be a directory name
32326         * src/buffer.c (default-directory): Update docstring (Bug#26272).
32328 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
32330         Delete confuse statement in manual
32332         * doc/misc/cl.texi (For Clauses): Delete confuse statement
32333         and its example (Bug#23550).
32335 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
32337         Use find -delete if available
32339         This shortens the ‘make’ output and should avoid some
32340         repetitive scanning of directories during a build.
32341         * configure.ac (FIND_DELETE): New var.
32342         * lisp/Makefile.in (compile-always, bootstrap-clean):
32343         * test/Makefile.in (clean, bootstrap-clean): Use it.
32344         * test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
32346 2017-03-31  Mark Oteiza  <mvoteiza@udel.edu>
32348         Remove gnus-boundp
32350         * lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
32351         bound-and-true-p.
32352         * lisp/gnus/gnus-util.el (gnus-boundp): Remove.
32354 2017-03-31  Niels Möller  <nisse@lysator.liu.se>  (tiny change)
32356         Stop `fixup-whitespace' adding trailing whitespace (Bug#18783)
32358         * lisp/simple.el (fixup-whitespace): Insert no spaces if point is at
32359         end of line after deleting horizontal whitespace.
32361 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
32363         * src/inotify.c (add_watch): Add comment.
32365 2017-03-31  Andreas Politz  <politza@hochschule-trier.de>
32367         Minor filenotify.el fixes
32369         * lisp/filenotify.el: Require subr-x.
32370         (file-notify-callback): Use equal, not eq.
32372 2017-03-31  Noam Postavsky  <npostavs@gmail.com>
32374         Improve packaging documentation
32376         * doc/lispref/package.texi (Packaging Basics):
32377         * doc/lispref/tips.texi (Library Headers): Clarify some header
32378         formats, relation between file headers and package
32379         attributes (Bug#13281).
32381 2017-03-31  John Mastro  <john.b.mastro@gmail.com>
32383         Fix a small incompatibility in ibuffer
32385         Translate nil values from column functions to the empty string, so that
32386         subsequent calls to string-width don't signal an error (Bug#26317).
32387         * lisp/ibuffer.el (ibuffer-compile-format): If a column function returns
32388         nil, treat it like the empty string.
32390 2017-03-30  Alan Mackenzie  <acm@muc.de>
32392         Fix C++ fontification problems 500 bytes after typing a space, and other bugs
32394         Also implement the "asymmetric space" rule for fontifying otherwise
32395         ambiguous
32396         declarations/expressions.
32398         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Don't set
32399         c-new-BEG or c-new-END when there is no need.
32400         (c-forward-decl-or-cast-1): Add "CASE 17.5" to implement the "asymmetric
32401         space" rule.
32403         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): New function,
32404         extracted from c-font-lock-declarations.  Add to this function processing to
32405         make `context' 'decl for lines contained within parens when these are also
32406         declarations.
32407         (c-font-lock-declarations): Call the newly extracted function above in place
32408         of inline code.
32410         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Set point before calling
32411         c-literal-start.
32413         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag): New user option.
32415         * doc/misc/cc-mode.texi (Misc Font Locking): New node documenting the new
32416         "asymmetric fontification" rule, including the variable
32417         c-asymmetric-fontification-flag.
32419 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
32421         Some inotify cleanup
32423         This catches some problems with integer overflow and races
32424         that I noticed in inotify.c after reviewing the changes
32425         installed to fix Bug#26126.
32426         * src/fns.c, src/lisp.h (equal_no_quit): Now extern.
32427         * src/inotify.c (aspect_to_inotifymask):
32428         Check for cycles and for improper lists.
32429         (make_lispy_mask, lispy_mask_match_p): Remove.
32430         All callers changed to use INTEGER_TO_CONS and CONS_TO_INTEGER.
32431         (inotifyevent_to_event, add_watch):
32432         Don’t assume watch descriptors and cookies fit in fixnums.
32433         (add_watch): Use assoc_no_quit, not Fassoc.
32434         Avoid integer overflow in (very!) long-running processes where
32435         the Emacs watch ID could overflow.  Avoid some duplicate code.
32436         (find_descriptor): New function.
32437         (remove_descriptor): First arg is now the returned value from
32438         find_descriptor, rather than the descriptor.  This way, the
32439         value can be removed without calling Fdelete, which might quit.
32440         Wait until the end (when watch_list is consistent) before signaling
32441         any errors.
32442         (remove_watch, inotify_callback):
32443         Use find_descriptor to avoid the need for Fdelete.
32444         (inotify_callback): Use simpler tests for ioctl failure.
32445         Free temporary buffer if signaled, and put it on the stack if small.
32446         Use ssize_t to index through read results, to avoid a cast.
32447         (valid_watch_descriptor): New function, with a tighter check.
32448         (Finotify_rm_watch, Finotify_valid_p): Use it.
32449         (Finotify_valid_p): Use assoc_no_quit and ass_no_quit instead
32450         of Fassoc.  Do not assume the first assoc succeeds.
32451         * test/src/inotify-tests.el (inotify-valid-p-simple):
32452         Add inotify-valid-p tests, some of which dump core without
32453         the fixes noted above.
32455 2017-03-30  Michael Albinus  <michael.albinus@gmx.de>
32457         * lisp/net/tramp-sh.el (tramp-get-remote-locale): Add "C.UTF-8" as candidate.
32459 2017-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
32461         * lisp/cedet/semantic/wisent/wisent.el (wisent-automaton-p): Use obarrayp.
32463 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
32465         Fix assoc_no_quit so that it does not quit
32467         The problem was that it called Fequal, which can quit.
32468         * src/fns.c (enum equal_kind):
32469         New enum, to be used in place of a boolean.
32470         (equal_no_quit): New function.
32471         (Fmemql, Feql): Use it to compare floats, as a minor tuneup.
32472         (assoc_no_quit): Use it to avoid quitting, the main point here.
32473         (internal_equal): Generalize bool to enum equal_kind arg, so that
32474         there are now 3 possibilities instead of 2.  Do not signal an
32475         error if EQUAL_NO_QUIT.  Put the arg before the depth, since depth
32476         should be irrelevant if the arg is EQUAL_NO_QUIT.  All callers
32477         changed.
32479 2017-03-29  Alan Mackenzie  <acm@muc.de>
32481         Amend gitmerge to recognize the injunction "don't merge".
32483         * admin/gitmerge.el (gitmerge-skip-regexp): amend regexp to match "don't" as
32484         well as "do not".
32486 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
32488         Add one more CSS pseudo-class
32490         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add
32491         `focus-within'.
32493 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
32495         Update list of CSS pseudo-classes
32497         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Update list of
32498         pseudo-classes.
32500 2017-03-29  Noam Postavsky  <npostavs@gmail.com>
32502         Adjust some search failure errors in info.el
32504         * lisp/info.el (Info-select-node): The search for beginning of node is
32505         an internal detail, and is not normally expected to fail, so it should
32506         not be a user error.
32507         (Info-complete-menu-item): Failing to find a menu indicates the user
32508         searched for a menu when there isn't one, so change to `use-error'.
32510 2017-03-28  Alan Mackenzie  <acm@muc.de>
32512         * lisp/progmodes/cc-defs.el (c-version):  Restore c-version to 5.33
32514 2017-03-28  Paul Eggert  <eggert@cs.ucla.edu>
32516         Don’t mishandle (format "%i" -1.0)
32518         * src/editfns.c (styled_format): Treat %i like %d when converting arg.
32520 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
32522         * lisp/emacs-lisp/ert.el (ert-run-tests): Make INTERACTIVE arg optional.
32524 2017-03-28  Michael Albinus  <michael.albinus@gmx.de>
32526         * src/inotify.c (Finotify_add_watch): aspect can also be a symbol.
32528 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
32530         Don't add `search-failed' to ignored errors in info.el (Bug#6106)
32532         * lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
32533         (Info-select-node, Info-search): Replace (signal 'search-failed ...)
32534         with (user-error "Search failed: "...).
32536 2017-03-27  Paul Eggert  <eggert@cs.ucla.edu>
32538         Fix obsolete ‘test/automated’ references
32540         * Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
32541         (bootstrap-clean, maintainer-clean):
32542         Clean ‘test’, not ‘test/automated’.  Test for existence of
32543         subdirectory only for ‘test’, not for directories that should
32544         always exist.
32545         * admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
32546         * lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
32547         * lisp/man.el (Man-parse-man-k):
32548         * lisp/url/url-domsuf.el, make-dist:
32549         * test/file-organization.org:
32550         Fix obsolete references to test/automated.
32552 2017-03-27  Katsumi Yamaoka  <yamaoka@jpl.org>
32554         shr-image-fetched: Work for narrowed Gnus article
32556         See <8737e3msun.fsf@gmail.com> of bug#26231 in the bug-gnu-emacs list.
32558         * lisp/net/shr.el (shr-image-fetched): Work for narrowed article.
32560 2017-03-27  Michael Albinus  <michael.albinus@gmx.de>
32562         * lisp/net/tramp.el (tramp-file-name-handler): Autoload it.
32564 2017-03-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
32566         Expand manual section on quitting windows
32568         * doc/lispref/windows.texi (Quitting Windows): Provide more
32569           information about the elements of the quit-restore window parameter,
32570           and how they affect the behavior of quit-restore-window.
32572 2017-03-26  Philipp Stephani  <phst@google.com>
32574         Add check for expected backtrace in module calls.
32576         * test/manual/cedet/tests/test.el
32577         (mod-test-non-local-exit-signal-test): Compare actual backtrace to
32578         expected backtrace.
32580 2017-03-26  Eli Zaretskii  <eliz@gnu.org>
32582         Fix redisplay glitches due to recent change in redisplay_internal
32584         * src/xdisp.c (redisplay_internal): A better fix for bug#26097.
32585         See https://lists.gnu.org/r/emacs-devel/2017-03/msg00695.html
32586         for the problems caused by the original fix.
32588 2017-03-26  Michael Albinus  <michael.albinus@gmx.de>
32590         Fix Bug#26258
32592         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
32593         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
32594         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
32595         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
32596         Autoload.  Call `tramp-register-foreign-file-name-handler'.  (Bug#26258)
32598         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Remove.
32599         (tramp-register-autoload-file-name-handlers)
32600         (tramp-register-file-name-handlers): Do not handle
32601         `tramp-autoload-file-name-handler' anymore.  Mark `operations'
32602         the handlers are responsible for.
32603         (tramp-register-foreign-file-name-handler): New defun.
32605 2017-03-26  Noam Postavsky  <npostavs@gmail.com>
32607         Fix docstring of dabbrev-abbrev-char-regexp
32609         * lisp/dabbrev.el (dabbrev-abbrev-char-regexp): Using a value of nil
32610         is equivalent to "\\sw\\|\\s_", and has no special behavior.  If the
32611         previous character doesn't match, we search backwards for one that
32612         does, not throw an error.  Replace Lisp example with C based one to
32613         make it clear that "symbol" means a sequence of word and symbol
32614         constituent characters, not a Lisp symbol (Bug#358).
32616 2017-03-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
32618         * doc/misc/cl.texi (Iteration Clauses): Clarify example (Bug#19515).
32620 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
32622         Minor fixes for inotify.c and filenotify.el
32624         * lisp/filenotify.el (file-notify--watch-absolute-filename):
32625         Add docstring.
32626         (file-notify-callback): Simplify.
32628         * src/inotify.c (Finotify_add_watch): Adapt docstring.
32630 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
32632         Fix issues regarding inotify file-notification
32634         Remove special code handling the inotify back-end.
32635         * lisp/filenotify.el (file-notify--watch): New struct
32636         representing a file-watch.
32637         (file-notify-descriptors): Use the new struct as hash-value.
32638         (file-notify-handle-event): Check that event is a cons.
32639         (file-notify--rm-descriptor, file-notify--event-watched-file)
32640         (file-notify--event-file-name, file-notify--event-file1-name)
32641         (file-notify-callback, file-notify-add-watch)
32642         (file-notify-rm-watch, file-notify-valid-p): Use new struct.
32643         Remove special code handling inotify descriptors.  Remove code
32644         handling multiple clients per descriptor.
32645         (file-notify--descriptor): Remove unused function.
32647         Let inotify-add-watch return a unique descriptor on every
32648         call, like every other back-end does (Bug#26126).  Prevent
32649         multiple clients from interfering with each other, when
32650         watching a shared descriptor.
32651         * src/inotify.c (watch_list): Extend the format by including a
32652         id and the provided mask.
32653         (INOTIFY_DEFAULT_MASK): Default mask used for all clients.
32654         (make_watch_descriptor): Removed.
32655         (make_lispy_mask, lispy_mask_match_p): New functions.
32656         (inotifyevent_to_event): Match event against the mask provided
32657         by the client.
32658         (add_watch, remove_descriptor, remove_watch): New functions
32659         for managing the watch_list.
32660         (inotify_callback): Use the new functions.
32661         (Finotify_add_watch, Finotify_rm_watch): Remove deprecated
32662         flags from documentation.  Add check for validity of provided
32663         descriptor.  Use the new functions.  Use the default mask.
32664         (INOTIFY_DEBUG): Add new debug conditional.
32665         (inotify-watch-list, inotify-allocated-p): New debug functions.
32666         (symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.
32668         * test/lisp/filenotify-tests.el:
32669         (file-notify-test02-rm-watch): Remove expected failure for inotify.
32671 2017-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
32673         * lisp/emacs-lisp/pcase.el (pcase): Comment debug message (Bug#26177).
32675 2017-03-25  Jens Uwe Schmidt  <ju.schmidt@gmx.de>  (tiny change)
32677         Stop edebug getting stuck on backquote (Bug#23651)
32679         * lisp/emacs-lisp/edebug.el (edebug-read-sexp): Move forward after
32680         reading backquote or comma.
32682 2017-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
32684         Expand manual section on quitting windows
32686         * doc/lispref/windows.texi (Quitting Windows): Provide more
32687           information about the elements of the quit-restore window parameter,
32688           and how they affect the behavior of quit-restore-window.
32690 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
32692         Support in ispell.el multiple dictionaries loaded by Hunspell
32694         * lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
32695         Support Hunspell configurations that load more than one dictionary
32696         by default.  Doc fix.  (Bug#25830)
32698 2017-03-25  Michael Albinus  <michael.albinus@gmx.de>
32700         Simplify Tramp autoloading.
32702         * lisp/net/tramp.el (tramp-completion-file-name-handler):
32703         Simplify autoloading.  Give it the `operations' property.
32704         (tramp-completion-handle-expand-file-name): Remove.
32706 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
32708         Fix a segfault due to failure to realize some faces
32710         * src/xdisp.c (redisplay_internal): If the frame becomes garbaged
32711         while redisplaying its windows, redisplay all of its windows
32712         again.  (Bug#26097)
32713         (init_iterator): When freeing all realized faces on all frames,
32714         reset the 'face_change' flag of the frame whose window we are
32715         about to iterate.
32717 2017-03-25  Philipp Stephani  <phst@google.com>
32719         Use a named function for 'safe-local-variable
32721         This improves the help screen for `version-control' (Bug#25431).
32723         * lisp/files.el (version-control-safe-local-p): New function.
32724         (version-control): Use it.
32726 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
32728         ;* doc/misc/info.texi (Choose menu subtopic): Improve indexing.  (Bug#26236)
32730 2017-03-25  Helmut Eller  <eller.helmut@gmail.com>
32732         Make it easier to abort a series of tests with C-g
32734         * lisp/emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg.  If
32735         interactively is true and a test was aborted then ask if the remaining
32736         tests should be aborted too.
32737         (ert-run-tests-batch, ert-run-tests-interactively): Pass in
32738         interactively arg.
32740 2017-03-24  Paul Eggert  <eggert@cs.ucla.edu>
32742         Don’t require chown/chgrp for game installation
32744         Problem reported by Joseph Mingrone in:
32745         https://lists.gnu.org/r/emacs-devel/2017-03/msg00622.html
32746         * lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
32747         chgrp fails with update-game-score and the game directory.
32748         Instead, expect the installer to fix this up afterwards.
32750 2017-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
32752         * lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOL
32754         (elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2.
32755         Don't highlight \ at BOL.  Don't assume syntax-ppss preserves match-data.
32757 2017-03-23  Philipp Stephani  <phst@google.com>
32759         Protect against an infloop in python-mode
32761         There appears to be an edge case caused by using `syntax-ppss' in a
32762         narrowed buffer during JIT lock inside of Python triple-quote strings.
32763         Unfortunately it is impossible to reproduce without manually
32764         destroying the syntactic information in the Python buffer, but it has
32765         been observed in practice.  In that case it can happen that the syntax
32766         caches get sufficiently out of whack so that there appear to be
32767         overlapping strings in the buffer.  As Python has no nested strings,
32768         this situation is impossible and leads to an infloop in
32769         `python-nav-end-of-statement'.  Protect against this by checking
32770         whether the search for the end of the current string makes progress.
32772         * lisp/progmodes/python.el (python-nav-end-of-statement): Protect
32773         against infloop.
32774         * test/lisp/progmodes/python-tests.el
32775         (python-tests--python-nav-end-of-statement--infloop): Add unit test.
32777 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
32779         * doc/lispref/os.texi (File Notifications):
32781         Strengthen the recommendation to use filenotify.el.
32783 2017-03-23  Paul Eggert  <eggert@cs.ucla.edu>
32785         Merge from gnulib
32787         This incorporates:
32788         2017-03-22 getopt: merge from glibc
32789         * build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
32790         * lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
32791         * lib/gnulib.mk.in: Regenerate.
32793 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
32795         Use lexical-bind in Tramp
32797         * lisp/net/tramp*.el: Add lexical-binding cookie.  Move declarations up.
32799         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names): Use `push'
32800         rather than `add-to-list'.
32801         (tramp-adb-get-device): Remove unused variable.
32803         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Remove unused
32804         variable.
32806         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
32807         (tramp-find-file-name-coding-system-alist): Use `push' rather
32808         than `add-to-list'.
32810         * test/lisp/net/tramp-tests.el: Add lexical-binding cookie.
32811         Require 'dired.  Move declarations up.
32812         (tramp-test32-make-nearby-temp-file): Wrap `make-nearby-temp-file'
32813         and `temporary-file-directory' calls with `with-no-warnings'.
32814         (tramp-test35-asynchronous-requests): Mark unused variable.
32816 2017-03-23  Kaushal Modi  <kaushal.modi@gmail.com>
32817             Noam Postavsky  <npostavs@gmail.com>
32819         Do not include comment start chars in ffap string
32821         * lisp/ffap.el (ffap-string-at-point): If the point is in a comment,
32822         ensure that the returned string does not contain the comment start
32823         characters (especially for major modes that have '//' as comment start
32824         characters).  Otherwise, in a major mode like c-mode, with `ido-mode'
32825         enabled and `ido-use-filename-at-point' set to `guess', doing "C-x
32826         C-f" on a "//foo" comment will initiate an attempt to access a path
32827         "//foo" (Bug#24057).
32829 2017-03-23  Martin Rudalics  <rudalics@gmx.at>
32831         c:/Temp/gtk-window-move/ChangeLog.txt
32833 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
32835         Fix filenotify.el issue for kqueue
32837         * lisp/filenotify.el (file-notify-add-watch): Use directory
32838         for remote file name handlers.
32840         * test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
32841         Create/delete temporary file only for "kqueue".
32842         (file-notify-test02-rm-watch): Create/delete temporary files.
32844 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
32846         Extend `file-notify-test02-rm-watch'
32848         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
32849         Expect it failed for inotify.  Divide tests into different
32850         `unwind-protect' clauses.  Check, that removing watch
32851         descriptors out of order do not harm.  (Bug#26126)
32853 2017-03-22  Noam Postavsky  <npostavs@gmail.com>
32855         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-subsexp): Test for Bug#26187
32857 2017-03-22  Graham Dobbins  <gdobbins@protonmail.com>  (tiny change)
32859         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos case
32861 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
32863         Improve configure --with-pop etc. diagnostics
32865         * configure.ac: Improve diagnostics re --with-pop and
32866         --with-mailutils (Bug#26102).
32868 2017-03-21  Eli Zaretskii  <eliz@gnu.org>
32870         Revert "Make --without-pop the default."
32872         This reverts commit 9319de675e395517f9a7b50cae1a3aad9cd0abc2.
32874 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
32876         Don’t remove dependency files when configuring
32878         Problem reported by Tom Tromey in:
32879         https://lists.gnu.org/r/emacs-devel/2017-03/msg00533.html
32880         * configure.ac: Don’t remove */*.o and */deps/* when
32881         --enable-autodepend is in effect.
32883 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
32885         Make --without-pop the default.
32887         Suggested by Angelo Graziosi in:
32888         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
32889         * configure.ac: Change the default from --with-pop to
32890         --without-pop.  Adjust diagnostics to match.
32892 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
32894         Streamline dependency-file generation
32896         * configure.ac (AUTODEPEND_PARENTS): New var.
32897         mkdir the dependency directories here, to simplify ‘make’.
32898         Remove dependency files just before outputting Makefiles, so that
32899         they are preserved if ‘configure’ exits early due to some other problem.
32900         * lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
32901         * src/Makefile.in: Adjust deps strategies to be similar, as follows:
32902         (MKDEPDIR): Remove.  All uses removed.  This cuts down on the
32903         number of processes spun off by ‘make’.
32904         (clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
32905         (distclean): Remove $(DEPDIR) itself.
32906         * lwlib/Makefile.in (all): Move to front, so that depdir includes
32907         do not alter default action.
32909 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
32911         Port and simplify example sh script
32913         * doc/misc/org.texi (noweb-ref): Simplify shell script example and
32914         don’t use ‘tail -1’, which is not portable.
32916 2017-03-21  Noam Postavsky  <npostavs@gmail.com>
32918         Narrow scope of modification hook renabling in org-src fontification
32920         Modification hooks should be enabled while modifying text in the
32921         org-src temp buffer, but in 2017-01-29 "Call modification hooks in
32922         org-src fontify buffers" the hooks were enabled also for modifications
32923         to the original org buffer.  This causes fontification errors when
32924         combined with certain packages, as reported in
32925         https://lists.gnu.org/r/emacs-orgmode/2017-03/msg00420.html.
32927         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
32928         of inhibit-modification-hooks let-binding.
32930 2017-03-21  Tino Calancha  <tino.calancha@gmail.com>
32932         epatch: Save right backups in Git multipatches
32934         Multipatches on N Git files save wrong backups for
32935         N-1 files; only the last one has a correct backup (Bug#26084).
32936         * lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
32937         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
32938         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
32939         Rename from ibuffer-test-bug25010.
32940         (ediff-ptch-test-bug26084): New test.
32942 2017-03-21  Michael R. Mauger  <michael@mauger.com>
32944             * lisp/progmodes/sql.el: Version 3.6
32946             (sql-login-params): Added :must-match for completition of
32947             `server' and `database' login parameters.
32948             (sql-sqlite-login-params, sql-postgres-login-params): Set
32949             :must-match to `confirm'.
32950             (sql-get-login-ext): Use :must-match value to control
32951             `read-file-name' or `completing-read'.
32952             (sql-connect): Added optional BUF-NAME parameter; Reworked
32953             connection variable processing; Pass buffer name to
32954             `sql-product-interactive'.
32955             (sql-product-interactive): Pass buffer name along.
32956             (sql-comint): Add optional BUF-NAME and calculate reasonable default.
32957             (sql-comint-oracle, sql-sybase-comint, sql-comint-informix)
32958             (sql-comint-sqlite, sql-comint-mysql, sql-comint-solid)
32959             (sql-comint-ingres, sql-comint-ms, sql-comint-postgres)
32960             (sql-comint-interbase, sql-comint-db2, sql-comint-linter)
32961             (sql-comint-vertica): Add optional BUF-NAME, pass to
32962             `sql-comint'.
32963             (sql-oracle--list-oracle-name): New function.
32964             (sql-oracle-list-all): Use it.
32965             (sql-oracle-completion-object): Enhanced.
32967 2017-03-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>
32969         Solve ses-recalculate-cell updating only current line bug.
32971         * lisp/ses.el (ses-recalculate-cell): Add optional argument
32972         ses--curcell to avoid overwriting ses--curcell when function is
32973         called from ses-recalculate-all.  Update docstring accordingly.
32974         (ses-recalculate-all): Call ses-recalculate-cell with argument
32975         ses--curcell to avoid its overwriting.
32977 2017-03-20  Paul Eggert  <eggert@cs.ucla.edu>
32979         Fix problem with out-of-date dependencies
32981         Problem reported by Robert Marshall in:
32982         https://lists.gnu.org/r/emacs-devel/2017-03/msg00501.html
32983         Although this problem has been with us for a while, the recent
32984         change from Automake to GNU Make exposed it again.
32985         * configure.ac (AUTO_DEPEND): When autodepending, clean out any
32986         leftover dependency and object files, since the previous sources'
32987         dependencies may disagree with the current ones.  Reconfiguring
32988         typically needs to force a rebuild anyway.
32990 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
32992         Simpler filter implementation
32994         * lisp/play/dunnet.el (dun-endgame-question): Get or set
32995         dun-endgame-questions one time only.  Use dolist and an index to
32996         prune the list.
32998 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
33000         * lisp/button.el (forward-button): Use user-error instead.
33002 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33004         Merge from gnulib
33006         This gets Emacs working again with HP-UX Itanium cc.
33007         It incorporates:
33008         2017-03-19 stdalign: tweak version# and test for HP-UX IA64
33009         2017-03-18 stdalign: restore previous behavior for HP-UX IA64
33010         2017-03-17 stat-time, timespec: Support header files in C++ mode
33011         2017-03-17 stdalign: Make it work with HP-UX cc
33012         2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
33013         2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
33014         2017-03-14 gnulib-tool: don't produce tests with only snippets
33015         2017-03-14 limits-h: Make it work with HP-UX cc.
33016         * etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
33017         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
33018         * lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
33019         * lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
33020         Copy from gnulib.
33022 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33024         * ChangeLog.2: Merge from emacs-25.
33026 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33028         Fixups after merge from emacs-25
33030         * etc/NEWS: Remove stray entry.
33031         * etc/NEWS.25: Copy from Emacs emacs-25 etc/NEWS.
33032         * lisp/textmodes/rst.el (rst-package-emacs-version-alist):
33033         Make it nondecreasing.
33035 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33037         Merge from origin/emacs-25
33039         d71e071 Improve documentation of interactive "r".
33041 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33043         Merge from origin/emacs-25
33045         a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
33046         1925dd9 Fix duplicate wording in Emacs manual
33047         6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
33048         2d671fd Fix wording in Emacs manual
33049         a8766a2 Document how to customize input methods
33050         6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
33051         aceac95 Fix warning message about native completion (Bug#25984)
33052         a314c1f Clarify documentation of 'raise' and 'height' display specs
33053         f366f6e Mention problems with GPaste in PROBLEMS
33054         6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
33055         6406618 Fix doc strings in info.el
33056         c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
33057         eed9677 Fix doc string of 'posn-at-point'
33058         0d5957e Documentation fix in elisp reference manual
33060 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33062         Merge from origin/emacs-25
33064         ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
33065         2b774fa Mention "editor" in Emacs man page header
33066         ae60d0c Document problems with nerd-fonts
33067         2fdb5a9 ; Details about pinning Emacs to w32 task bar
33068         5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
33069         4c51ef4 Clarify what is the "cursor"
33070         8303c32 ; * etc/NEWS: Copyedits.
33071         3f7493e ; Fix a typo in comment
33072         c54cf8d Improve commentary in lisp.h
33073         8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
33074         0ba9932 Disable native completion for ipython (Bug#25067)
33075         38fc456 Fix a typo in ada-mode manual
33076         00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
33077         a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...
33079         # Conflicts:
33080         #       etc/NEWS
33081         #       etc/PROBLEMS
33083 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33085         Merge from origin/emacs-25
33087         02d9ad8 * admin/make-tarball.txt: Add documentation regarding the rel...
33089 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33091         Merge from origin/emacs-25
33093         e1171de * CONTRIBUTE (Documenting your changes): Index new vars/comma...
33095 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33097         Merge from origin/emacs-25
33099         ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
33100         7e02a47 Index byte-compile-debug
33101         7c1e598 Document `byte-compile-debug' in the ELisp manual
33102         4d81eb4 Document variable `byte-compile-debug'
33103         72ef710 Fix call to debugger on assertion failure
33104         ae8264c Call modification hooks in org-src fontify buffers
33105         b3139da ; Fix last change in doc/lispref/strings.texi
33106         c331f39 Improve documentation of 'format' conversions
33107         9f52f67 Remove stale functions from ert manual
33108         c416b14 Fix a typo in Eshell manual
33109         06695a0 ; Fix a typo in ediff-merg.el
33110         954e9e9 Improve documentation of hooks related to saving buffers
33111         9fcab85 Improve documentation of auto-save-visited-file-name
33112         2236c53 fix typo in mailcap-mime-extensions
33113         85a3e4e Fix typos in flymake.el
33114         a1ef10e More NEWS checking for admin.el's set-version
33116         # Conflicts:
33117         #       lisp/emacs-lisp/bytecomp.el
33119 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33121         Merge from origin/emacs-25
33123         5569e64 ; Spelling fixes
33124         24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (...
33125         9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
33126         69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#2...
33127         42eae54 Improve documentation of dabbrevs
33128         b0ade0d Clarify that easy-menu-add is a nop (Bug#25382)
33129         3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi...
33131         # Conflicts:
33132         #       lisp/textmodes/rst.el
33134 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
33136         Merge from origin/emacs-25
33138         0e35405 Improve documentation of coding-systems
33139         c2fd04c Improve definition of 'variable-pitch' face on MS-Windows
33140         16fb50d Fix an error message in python.el
33141         a2a2073 Clarify major mode switching
33142         fc38671 Add helpful comment to compile-command's docstring
33143         ee65d85 Fix ':version' of 'select-enable-primary'
33145 2017-03-19  Paul Pogonyshev  <pogonyshev@gmail.com>
33147         Fix bug in generator function with pcase (Bug#26068)
33149         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
33150         to symbol-name.
33152 2017-03-19  Alan Mackenzie  <acm@muc.de>
33154         Fix chaotic indentation of C++ lambda.  Enhance documentation thereof
33156         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): qualify an
33157         invocation of c-on-identifier with a check we're not at the _end_ of an
33158         identifier.
33160         * doc/misc/cc-mode.texi: (Tex title page): Remove @subtitlefont because the
33161         perl versions of texi2dvi haven't implemented it.
33162         (Syntactic Symbols): Note that `inlambda' is also used in C++ Mode, not just
33163         in Pike Mode.
33164         (Statement Block Symbols): Add a section illustrating a C++ lambda function.
33165         (FAQ): Add a question about "excessive" indentation of the contents of a C++
33166         lambda function, and how to get rid of it.
33168 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
33170         Remove unused vars in cl-extra.el and tramp.el.
33172         * lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove unused vars.
33174         * lisp/net/tramp.el (tramp-dissect-file-name): Remove unused `match'.
33175         (outline-regexp, ls-lisp-use-insert-directory-program): Declare.
33176         (tramp-find-foreign-file-name-handler): Mark unused arg, remove unused `v`.
33178 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
33180         Improve describe-symbol's layout of slots when describing types
33182         * lisp/emacs-lisp/cl-extra.el (cl--print-table): New function.
33183         (cl--describe-class-slots): Use it.
33185 2017-03-18  Michael Albinus  <michael.albinus@gmx.de>
33187         Fix Bug#26156
33189         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
33190         <expand-file-name>: Remove handler.  (Bug#26156)
33192 2017-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
33194         * lisp/obarray.el (obarray-size): Avoid compiler warning.
33196 2017-03-18  Eli Zaretskii  <eliz@gnu.org>
33198         Fix last change in lib/Makefile.in
33200         * lib/Makefile.in (srcdir): Define, as including
33201         $(srcdir)/../nt/gnulib-cfg.mk needs that.
33203 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
33205         * configure.ac: Fix typo in diagnostic.
33207 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
33209         Port out-of-source builds to windows-nt
33211         Problem reported by Angelo Graziosi in:
33212         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
33213         * lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
33214         to handle out-of-source builds if windows-nt.
33216 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
33218         MS-Windows followup for switch from Automake
33220         * nt/INSTALL:
33221         * nt/INSTALL.W64: Remove references to Automake.  (Bug#26100)
33223 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
33225         Improve documentation of interactive "r".
33227         * doc/lispref/commands.texi (Interactive Codes): Mention that mark
33228         must be set for "r" to work.
33230 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
33232         Fixups for GNU Make switchover
33234         This fixes some minor problems introduced in the recent switch to GNU
33235         Make, discovered by further testing.  Without some of these changes
33236         'make -j' would sometimes have race conditions caused by missing
33237         dependencies.  (Bug#26100)
33238         * .gitignore: Remove src/stamp-h.in, src/stamp-h1.
33239         * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
33240         src/config.in, since the former's timestamp now represents
33241         the latter's.
33242         ($(srcdir)/configure): Use plain ./autogen.sh, for consistency
33243         with other autogen.sh invocations.
33244         ($(srcdir)/src/stamp-h.in):
33245         Remove rule, as this file is no longer created.
33246         * Makefile.in (top_distclean):
33247         * src/Makefile.in (bootstrap-clean):
33248         No need to remove stamp-h1, as that was an Automake byproduct
33249         and Automake is no longer in use.
33250         * lib/Makefile.in, src/Makefile.in:
33251         (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
33252         (../config.status, Makefile): Simplify by limiting dependencies
33253         to files we care about and files in the repository, and by
33254         using just one file to represent the timestamps on multiple
33255         targets updated by the same rule.
33256         * autogen.sh: Do not create or use src/stamp-h.in.
33257         Instead, have 'find' test the two output files directly.
33259 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
33261         Switch from Automake to GNU Make
33263         Emacs assumes GNU Make, and GNU Make has much of the functionality of
33264         Automake built-in.  The Emacs build process uses Automake primarily
33265         because Emacs uses some Gnulib code and Gnulib formerly required
33266         Automake.  Now that Gnulib no longer requires Automake, Emacs can
33267         stop using Automake and this should simplify Emacs maintenance
33268         in the future (Bug#26100).  Although this patch may look long, most of
33269         it is generated automatically: the changes to build-aux/config.guess,
33270         build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
33271         all done by admin/merge-gnulib.
33272         * .gitignore: Remove build-aux/ar-lib, build-aux/compile,
33273         build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
33274         build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
33275         as they are no longer built by autogen.sh.
33276         Add lib/gnulib.mk, as it is now built by 'configure'.
33277         Remove nt/gnulib.mk, as it is no longer built by 'make'.
33278         * INSTALL.REPO, README, admin/make-tarball.txt:
33279         Remove mention of Automake.
33280         * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
33281         (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
33282         ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
33283         ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
33284         Remove.
33285         ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
33286         ($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
33287         ($(srcdir)/src/config.in):
33288         Use autogen.sh instead of doing it by hand.
33289         * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
33290         New vars, to simplify processing of avoided modules.
33291         (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
33292         Add --gnu-make, and change makefile name to gnulib.mk.in.
33293         Copy config.guess, config.sub, and install-sh too, since
33294         Automake no longer does that for us.
33295         * admin/notes/copyright:
33296         * admin/update_autogen (genfiles):
33297         Update list of files.
33298         Remove hack for nt/gnulib.mk, a file that is no longer needed.
33299         * autogen.sh (progs): Remove Automake.
33300         (automake_min): Remove.
33301         Build aclocal.m4 so that autoreconf need not use aclocal.
33302         * build-aux/config.guess, build-aux/config.sub:
33303         * build-aux/install-sh:
33304         New files, copied from Gnulib.  These are now updated by
33305         admin/merge-gnulib instead by autogen.sh.
33306         * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
33307         Remove.
33308         (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
33309         (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
33310         (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
33311         (--disable-silent-rules): New option, since Automake no longer
33312         does this for us.
33313         (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
33314         with AM_SUBST_NOTMAKE.
33315         (AC_PROG_INSTALL): Add call.
33316         (MAKEINFO): Do not bother with the 'missing' program.
33317         (MAKEINFO, SYSTEM_TYPE): AC_SUBST.
33318         (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
33319         (SUBDIR_MAKEFILES): Remove duplication.
33320         * lib/Makefile.am: Remove, replacing with:
33321         * lib/Makefile.in: New file, with the old Makefile.am contents
33322         and with the following changes:
33323         (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
33324         (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
33325         (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
33326         (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
33327         Remove.
33328         (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
33329         (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
33330         (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
33331         (mostlyclean, distclean, bootstrap-clean, maintainer-clean):
33332         New macros and rules, since Automake no longer does them.
33333         Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
33334         instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
33335         Include dependency files if AUTO_DEPEND.
33336         (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
33337         New macros.
33338         (bootstrap-clean): Depend on distclean, not maintainer-clean,
33339         and remove gnulib.mk.
33340         (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
33341         New macros and rules, copied from ../Makefile.in.
33342         ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
33343         (.c.o, e-%.o): New generic rules.
33344         * lib/gnulib.mk: Remove.
33345         * lib/gnulib.mk.in: New file, which is built by autogen.sh
33346         and contains much of what used to be in lib/gnulib.mk.
33347         * m4/gnulib-common.m4: Copy from gnulib.
33348         * make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
33349         build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
33350         nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
33351         lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
33352         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
33353         (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
33354         * nt/gnulib-cfg.mk: New file, which supersedes ...
33355         * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
33356         * src/Makefile.in (ACLOCAL_INPUTS): Remove.
33357         (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
33358         ($(top_srcdir)/configure, ../config.status, config.in Makefile):
33359         Defer to parent Makefile.
33361 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
33363         Don't suggest Mailutils on MS-Windows
33365         * configure.ac: Don't suggest GNU Mailutils on MS-Windows, as it
33366         hasn't been ported.
33368 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
33370         Fix bug: Range-check integer ‘alpha’ frame parm value
33372         Typo introduced 2013-04-01, "Prefer < to >
33373         in range checks such as 0 <= i && i < N".
33375         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
33377 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
33379         Fix bug: Range-check integer ‘alpha’ frame parm value
33381         Typo introduced 2013-04-01, "Prefer < to >
33382         in range checks such as 0 <= i && i < N".
33384         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
33386 2017-03-17  Michael Albinus  <michael.albinus@gmx.de>
33388         Fix Bug#26127
33390         * lisp/filenotify.el (file-notify--rm-descriptor): Check, that
33391         there is a function which could be called.  (Bug#26127)
33393         * test/lisp/filenotify-tests.el (file-notify--test-cleanup):
33394         Clear also `file-notify-descriptors'.
33395         (file-notify--test-make-temp-name): Move up.
33396         (file-notify-test02-rm-watch): New test.
33397         (file-notify-test03-events, file-notify-test04-autorevert)
33398         (file-notify-test05-file-validity)
33399         (file-notify-test06-dir-validity)
33400         (file-notify-test07-many-events, file-notify-test08-backup)
33401         (file-notify-test09-watched-file-in-watched-dir)
33402         (file-notify-test10-sufficient-resources): Rename.
33404 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
33406         * etc/PROBLEMS: Say that HP-UX cc doesn't work.
33408 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
33410         Emacs 'movemail' is now a configure-time option
33412         The new configure option --with-mailutils lets the builder say
33413         that Emacs should assume that GNU Mailutils is installed, instead
33414         of continuing to build and install its own limited and insecure
33415         substitute for 'movemail'.
33416         * INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
33417         * configure.ac: Add --with-mailutils option.
33418         (with_mailutils): New variable.
33419         Do not bother configuring 'movemail' when not building it.
33420         Warn about issues relating to --with-mailutils.
33421         * doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
33422         (Movemail, Remote Mailboxes): Document port numbers in
33423         POP and IMAP URLs.
33424         * lib-src/Makefile.in (with_mailutils): New macro.
33425         (UTILITIES): Use it.
33427 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
33429         Add obarray-size and fix tests accordingly.  Use obarrayp in cedet.
33431         * lisp/obarray.el (obarray-size): New function.
33433         * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
33434         (semantic-lex-spp-save-table, semantic-lex-spp-macros):
33435         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
33436         Use obarrayp.
33438         * test/lisp/obarray-tests.el (obarray-make-default-test)
33439         (obarray-make-with-size-test): Use it.
33441 2017-03-16  Michael Albinus  <michael.albinus@gmx.de>
33443         Document remote file name syntax change
33445         * doc/emacs/files.texi (Remote Files, Quoted File Names):
33446         * doc/misc/org.texi (dir): Change examples to use a method.
33448         * doc/misc/tramp.texi (Top) [trampf]: Remove macro.  Add
33449         `Testing' menu entry.
33450         (History): Fix typos.  Mention syntax change.
33451         (Configuration, Default Host, File name Syntax)
33452         (File name completion, Frequently Asked Questions):
33453         Change examples to use a method.
33454         (External methods, Default Host, Multi-hops, Remote processes):
33455         Fix typos.
33456         (Default Method): Mention pseudo method "-".
33457         (External packages): Rewrite intention of `non-essential'.
33459         * etc/NEWS: Mark recent Tramp entries as documented.
33461 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
33463         (semantic-lex-type-invalid): Fix nested backquote.
33465         * lisp/cedet/semantic/lex.el: Use lexical-binding.
33466         (semantic-lex-type-invalid): Fix nested backquote.
33467         (semantic-lex-map-symbols, semantic-lex-type-symbol)
33468         (semantic-lex-keyword-symbol): Use obarrayp.
33470 2017-03-15  Michael Albinus  <michael.albinus@gmx.de>
33472         * lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'.
33474 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
33476         Write a named function
33478         * lisp/comint.el (comint-nonblank-p): New function.
33479         (comint-input-filter): Use it.
33481 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
33483         Replace more nested ifs with cond
33485         This is a continuation of 0db5ba4 "Replace nested ifs with cond".
33486         * lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
33487         (dun-drop-check, dun-swim, dun-break): Use when and cond where
33488         appropriate.
33489         (dun-examine): Fix indentation.
33490         (dun-doverb): Use when.
33491         (dun-read-line): Refactor.
33493 2017-03-15  Noam Postavsky  <npostavs@gmail.com>
33495         Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again
33497         Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
33498         \n as whitespace" from 2016-07-04.  Setting \n to non-whitespace
33499         causes the regex engine to backtrack a lot when searching for
33500         "\\s-+$" (Bug#26079).
33502         * lisp/simple.el (delete-trailing-whitespace): Don't change newline
33503         syntax, search for "\\s-$" and then skip backward over trailing
33504         whitespace.
33506 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
33508         Merge from gnulib
33510         This incorporates:
33511         2017-03-14 snippets: move unadjusted snippet sources to lib
33512         2017-03-14 gnulib-tool: fix typo in comment output
33513         2017-03-14 snippets: work around GNU Make 3.82 VPATH
33514         2017-03-13 gnulib-tool: minor --gnu-make fixups
33515         2017-03-12 gnulib-tool: new option --gnu-make
33516         * .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
33517         lib/warn-on-use.h.  Change exception from
33518         build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
33519         * admin/authors.el (authors-renamed-files-regexps):
33520         * admin/notes/copyright, make-dist:
33521         The snippet files moved from build-aux/snippet to lib.
33522         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
33523         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
33524         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
33525         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
33526         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
33528 2017-03-14  Eli Zaretskii  <eliz@gnu.org>
33530         Fix duplicate wording in Emacs manual
33532         * doc/emacs/programs.texi (Which Function): Delete duplicate
33533         wording.  (Bug#26098)
33535 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
33537         Reenable lost Tramp test case
33539         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
33540         Reenable lost test case.
33542 2017-03-14  Alan Third  <alan@idiocy.org>
33544         Revert "Remove NSEvent loop from ns_select (bug#25265)"
33546         This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.
33548 2017-03-14  Alan Third  <alan@idiocy.org>
33550         Revert "Add missing timeout value in ns_select"
33552         This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.
33554 2017-03-14  Alan Third  <alan@idiocy.org>
33556         Remove old macOS compatibility code
33558         * src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for
33559         macOS versions below 10.6 as they are not supported in Emacs 25+.
33561 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
33563         Tune `tramp-completion-file-name-regexp-unified'
33565         * lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
33566         Extend this regexp to match also "/".
33568 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
33570         Show ancestor buffer in 3way merges
33572         Add an option ediff-show-ancestor', to control if the ancestor buffer
33573         must be shown in 3way merges (Bug#25493); set it non-nil by default.
33574         Add a toggle to change this option interactively; the original
33575         value of the option is restored on exit.
33577         Update the window setup so that the ancestor buffer is
33578         shown in 3way merges when ediff-show-ancestor is non-nil.
33580         Any operation on ediff windows must take in account the
33581         ancestor window as well, when this is shown.
33583         * lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
33584         (ediff--show-ancestor-orig): New defvar.
33585         * lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
33586         (ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
33587         Display ancestor buffer if ediff-show-ancestor is non-nil.
33588         (ediff-keep-window-config): Expect ancestor window in
33589         ediff-window-config-saved.
33590         (ediff-window-alist): Add entry for the ancestor window.
33591         * lisp/vc/ediff-util.el (ediff-setup-control-buffer):
33592         ediff-window-config-saved contains ancestor window.
33593         (ediff-show-ancestor): Delete this command.
33594         (ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
33595         (ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
33596         don't cheat it to think that is performing a comparison, that trick is not
33597         necessary anymore: simply call 'ediff-setup-diff-regions-function'
33598         with file-A, file-B and the file ancestor.
33599         (ediff-recenter): Update doc string.  Consider the ancestor buffer.
33600         (ediff--check-ancestor-exists): New defun.
33601         (ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
33602         (ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
33603         (ediff-scroll-vertically, ediff-scroll-horizontally)
33604         (ediff-operate-on-windows): Consider the ancestor as well.
33605         * lisp/vc/ediff-help.el (ediff-long-help-message-merge):
33606         List ediff-toggle-show-ancestor.
33607         * doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
33609 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
33611         diff-mode: Improve default faces for buffer ancestor
33613         * lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
33614         (ediff-fine-diff-Ancestor): Use defaults consistent with
33615         faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
33617 2017-03-14  Hong Xu  <hong@topbug.net>
33619         * lisp/paren.el (show-paren--default, show-paren-function): Add docstring.
33621 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
33623         Fix make-dist typo
33625         * make-dist: Fix typo introduced in the Bug#25895 fix.
33627 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
33629         Fix wording in Emacs manual
33631         * doc/emacs/text.texi (Paragraphs): Fix a garbled sentence.
33632         (Bug#26086)
33634 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
33636         etc/NEWS: Remote file names require a method.
33638 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
33640         Require method in remote file name syntax
33642         * lisp/minibuffer.el (completion--nth-completion):
33643         Do not bind `non-essential'.
33645         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
33646         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
33647         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
33648         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
33649         `tramp-check-proper-method-and-host'.
33651         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
33652         (tramp-maybe-open-connection): Do not use argument for
33653         ´tramp-completion-mode-p'.
33655         * lisp/net/tramp.el (tramp-default-method-marker): New defconst.
33656         (tramp-prefix-format, tramp-postfix-method-format)
33657         (tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
33658         (tramp-prefix-port-format, tramp-postfix-host-format)
33659         (tramp-file-name-regexp, tramp-completion-file-name-regexp):
33660         Use `eq' instead of `eqal'.
33661         (tramp-method-regexp, tramp-domain-regexp)
33662         (tramp-remote-file-name-spec-regexp)
33663         (tramp-file-name-regexp-unified)
33664         (tramp-completion-file-name-regexp-unified)
33665         (tramp-completion-file-name-regexp-separate): Adapt regexp.
33666         (tramp-completion-file-name-handler-alist)
33667         (tramp-run-real-handler): Autoload them.
33668         (tramp-find-method): Handle `tramp-default-method-marker'.
33669         (tramp-check-proper-method-and-host)
33670         (tramp-completion-run-real-handler): Remove them.
33671         (tramp-error-with-buffer, tramp-connectable-p): Do not use
33672         argument for ´tramp-completion-mode-p'.
33673         (tramp-find-foreign-file-name-handler): Remove COMPLETION
33674         argument.  Do not apply heuristic for completion.
33675         (tramp-file-name-handler): Do not modify `non-essential'.
33676         (tramp-completion-file-name-handler): Change implementation.
33677         (tramp-autoload-file-name-handler)
33678         (tramp-completion-handle-file-name-all-completions):
33679         Call `tramp-run-real-handler'.
33680         (tramp-completion-mode-p): Do not autoload.  Remove argument.
33681         Do not apply heuristic for completion.
33682         (tramp-completion-dissect-file-name): Simplify implementation.
33683         (tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.
33685         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
33686         (tramp-test02-file-name-dissect)
33687         (tramp-test03-file-name-defaults)
33688         (tramp-test06-directory-file-name): Adapt to the new syntax.
33689         (tramp-test11-copy-file, tramp-test12-rename-file)
33690         (tramp--test-check-files): Deactivate temporarily tests with
33691         quoted file names.
33692         (tramp-test16-directory-files, tramp-test17-insert-directory):
33693         Adapt tests.
33694         (tramp-test24-file-name-completion): Do not check for
33695         completion mode.
33696         (tramp-test31-make-auto-save-file-name): Deactivate temporarily
33697         two tests.
33699 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
33701         Fix bidi paragraph direction when inserting text at newline
33703         * src/insdel.c (invalidate_buffer_caches): Invalidate the bidi
33704         paragraph cache when inserting immediately after a newline.
33705         (Bug#26083)
33707 2017-03-13  Tino Calancha  <tino.calancha@gmail.com>
33709         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Fix regexp.
33711 2017-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
33713         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable
33715         (cl-print-object) <compiled-function>: Print the docstring and
33716         interactive form.  Obey cl-print-compiled.
33718 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
33720         Fix indent-sexp when called from inside a string (Bug#21343)
33722         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
33723         state from `syntax-ppss'.
33725 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
33727         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.
33729         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
33730         (indent-subsexp, indent-sexp-in-string): New tests.
33732 2017-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
33734         Use switch on pseudovector types; plus cleanups along the way
33736         * src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
33737         (PSEUDOVECTOR_TYPEP): Change type of `code'.
33739         * src/alloc.c (sweep_vectors): Remove out-of-date assertion.
33740         (mark_object): Use PSEUDOVECTOR_TYPE.
33742         * src/data.c (Ftype_of): Use switch on pvec type.
33744         * src/print.c (print_object): Use switch on pvec type.
33746         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
33747         Add recently added types.
33749 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
33751         Install update-game-score only on request
33753         Most distributions do not install update-game-score properly
33754         due to setuid/setgid complications, so install it only when
33755         the installer specifies a user or group (Bug#25895).
33756         * .gitattributes: Remove lib-src/update-game-score.exe.manifest.
33757         * Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
33758         New vars.
33759         (epaths-force): Use PATH_GAME.
33760         (uninstall): Remove snake-scores and tetris-scores only if shared.
33761         * configure.ac: Default --with-gameuser to 'no'.
33762         (UPDATE_MANIFEST): Remove.
33763         * etc/NEWS: Mention this.
33764         * lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
33765         (use_gamedir): New macro.
33766         (UTILITIES): Remove update-game-score unless use_gamedir.
33767         (SCRIPTS): Remove $(UPDATE_MANIFEST).
33768         ($(DESTDIR)${archlibdir}): Install game directory program and data
33769         only if use_gamedir.
33770         * lib-src/update-game-score.exe.manifest: Remove, as
33771         update-game-score is no longer installed on MS-Windows.
33772         * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
33773         Use auxiliary program only if setuid or setgid.
33774         * make-dist: Do not distribute update-game-score.exe.manifest.
33775         * src/callproc.c (init_callproc):
33776         Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
33777         (syms_of_callproc): Remove unnecessary initialization of
33778         Vshared_game_score_directory.
33780 2017-03-12  Simen Heggestøyl  <simenheg@gmail.com>
33782         Add `touch-action' to list of CSS properties
33784         * lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
33785         property.
33787 2017-03-12  Eli Zaretskii  <eliz@gnu.org>
33789         Teach etags to process ENUM_BF correctly
33791         * lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf.
33792         (hash): Regenerated values for asso_values[] array.
33793         (in_word_set): Update values of TOTAL_KEYWORDS and
33794         MAX_HASH_VALUE.  Add "ENUM_BF" to the wordlist[] array.
33795         (in_enum_bf): New file-global variable.
33796         (consider_token): Skip ENUM_BF if not in a macro definition.
33797         (C_entries): Reset the in_enum_bf flag when past its closing
33798         parenthesis.
33800         * test/manual/etags/ETAGS.good_1:
33801         * test/manual/etags/ETAGS.good_2:
33802         * test/manual/etags/ETAGS.good_3:
33803         * test/manual/etags/ETAGS.good_4:
33804         * test/manual/etags/ETAGS.good_5:
33805         * test/manual/etags/ETAGS.good_6:
33806         * test/manual/etags/CTAGS.good: Adapt to changes in etags.
33808 2017-03-12  Michael Albinus  <michael.albinus@gmx.de>
33810         Use path/to/file instead of path/to.file in tramp.texi
33812         * doc/misc/tramp.texi (Configuration, File name Syntax):
33813         Use path/to/file instead of path/to.file.
33815 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
33817         Remove some stray gnulib files
33819         * admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
33820         (GNULIB_MODULES): Remove unsetenv, as it is not needed and
33821         the --avoid=unsetenv option avoided most of it anyway.
33822         * lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
33823         * lib/gnulib.mk: Regenerate.
33825 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
33827         Merge from gnulib
33829         This incorporates:
33830         2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
33831         * doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.
33833 2017-03-12  Glenn Morris  <rgm@gnu.org>
33835         Remove trivial duplication in epg-config
33837         * lisp/epg-config.el (epg-config--program-alist):
33838         Use epg-gpg-minimum-version.
33840 2017-03-12  Glenn Morris  <rgm@gnu.org>
33842         Small epg-find-configuration improvement
33844         * lisp/epg-config.el (epg-find-configuration):
33845         Handle epg-gpg-program customized but not saved.  (Bug#25947)
33847 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
33849         Improve last change
33851         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
33852         Use ppss to check escaping and add help-echo.
33854 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
33856         Highlight useless backslashes in Elisp strings
33858         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
33859         Put warning face on backslashes that have no effect.
33861 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
33863         Document how to customize input methods
33865         * doc/emacs/mule.texi (Input Methods): Document how to customize
33866         input methods.
33868 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
33870         * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
33872 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
33874         Fix generation of nt/gnulib.mk on macOS
33876         * nt/Makefile.in (${srcdir}/gnulib.mk): Don't use the -f- option
33877         to Sed, as that is not portable with non-GNU Sed variants.
33878         (Bug#26043)
33880 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
33882         Avoid aborts/assertion violations due to 'vim-empty-lines-mode'
33884         * src/xdisp.c (handle_single_display_spec): If position to be
33885         restored after processing the display property comes from an
33886         overlay, protect against that overlay's end point being outside of
33887         the narrowed region.
33888         Reported by Filipe Silva <filipe.silva@gmail.com> in
33889         https://lists.gnu.org/r/emacs-devel/2017-03/msg00176.html.
33891 2017-03-10  Glenn Morris  <rgm@gnu.org>
33893         Small improvement for epa-display-error (bug#24553)
33895         * lisp/epa.el (epa-display-error): Report the actual program in use.
33897 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
33899         Tweak X toolkit code to pacify modern GCC
33901         * lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c:
33902         Don’t include <stdlib.h>, since this code now calls emacs_abort
33903         rather than abort.
33904         * lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback)
33905         (wm_delete_window):
33906         * lwlib/lwlib-Xm.c (make_menu_in_widget, do_call):
33907         * lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget):
33908         * lwlib/xlwmenu.c (abort_gracefully, draw_separator)
33909         (separator_height, XlwMenuInitialize):
33910         Use emacs_abort, not abort.  Without this change, some calls
33911         to ‘abort’ were invalid, as stdlib.h was not always included.
33912         * src/widget.c (resources, emacsFrameClassRec):
33913         * src/xfns.c (x_window) [USE_X_TOOLKIT]:
33914         * src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]:
33915         * src/xterm.c (emacs_options) [USE_X_TOOLKIT}:
33916         (x_term_init) [USE_X_TOOLKIT]:
33917         Cast string constants to char * to pacify --enable-gcc-warnings.
33919 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
33921         * doc/misc/tramp.texi (Android shell setup): Require adb program
33923 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
33925         Adapt tramp-tests.el
33927         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
33928         (tramp-test24-file-name-completion): Call
33929         `tramp-completion-mode-p' with argument.
33931 2017-03-10  Thien-Thi Nguyen  <ttn@gnu.org>
33933         [doc] Replace bindat example: s/fortune cookie/rfc868 payload/
33935         * doc/lispref/processes.texi (Bindat Examples):
33936         Mention two examples in intro blurb; rewrite first example.
33938 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
33940         Simplify checks for xdg-open and xdg-email
33942         browse-url's xdg-open detection was too picky on some GNU/Linux
33943         desktops; see Bug#25778.  Simplify the code by assuming xdg-open works
33944         if it is executable, as nowadays this is more likely to be correct than
33945         trying to use heuristics from a few years ago.  Don't test for nohup: it
33946         is ineffective nowadays, as xdg-open's child uses the default action for
33947         SIGHUP even if xdg-open's invoker ignores SIGHUP.  While we're at it,
33948         allow for Wayland here, as "emacs -nw" might be running in a non-X
33949         Wayland terminal.
33950         * lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
33951         * lisp/net/browse-url.el (browse-url-can-use-xdg-open):
33952         Simplify to a test for DISPLAY and whether the helper program is
33953         executable.  Allow WAYLAND_DISPLAY as an option.
33955 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
33957         Byte compile cond clauses without any bodies correctly.
33959         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
33960         cond clause has no body, push t on to the stack.
33962 2017-03-09  Michael Albinus  <michael.albinus@gmx.de>
33964         Fix bug#23006
33966         * lisp/minibuffer.el (completion--nth-completion):
33967         Let-bind `non-essential'.
33969         * lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
33970         (tramp-completion-mode-p): Optional parameter VEC.  Replace
33971         check for `last-input-event' by analysing VEC argument.
33972         (tramp-error-with-buffer, tramp-file-name-handler)
33973         (tramp-connectable-p, tramp-handle-file-name-as-directory):
33974         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
33976 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
33978         etc/NEWS: Add entry for new `switch' bytecode.
33980 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
33982         * src/data.c (arithcompare): Add comments.
33984 2017-03-08  Glenn Morris  <rgm@gnu.org>
33986         Update a cl-print test
33988         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
33989         Update for recent change in cl-print-object function output.
33991 2017-03-08  Sam Steingold  <sds@gnu.org>
33993         Replace change-log-date-face -> change-log-date
33995         This fixes c430f7e23fc2c22f251ace4254e37dea1452dfc3.
33997 2017-03-08  Michael Albinus  <michael.albinus@gmx.de>
33999         Fix bug#26011
34001         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
34002         Check, whether file is too large.  (Bug#26011)
34004 2017-03-08  Andreas Schwab  <schwab@linux-m68k.org>
34006         * src/data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.
34007         (Fmax, Fmin): Restore documentation.
34009         * src/data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): Reorder
34010         comparisons that are written backward.
34012 2017-03-08  Thien-Thi Nguyen  <ttn@gnu.org>
34014         [doc elisp] Add some index entries for "old" advice mechanism
34016         * doc/lispref/functions.texi (Porting old advice):
34017         Add one @cindex and two @findex entries.
34019 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
34021         * etc/NEWS: Adjust to match previous patch.
34023 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
34025         min and max should not return markers
34027         Problem reported by Glenn Morris in:
34028         https://lists.gnu.org/r/emacs-devel/2017-03/msg00147.html
34029         * src/data.c (minmax_driver): Convert any marker result to an
34030         integer, since some callers assume this.
34031         * test/src/data-tests.el (data-tests-max, data-tests-min):
34032         Test for this.
34034 2017-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
34036         * lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions.
34038 2017-03-08  Alan Third  <alan@idiocy.org>
34040         Add missing timeout value in ns_select
34042         * src/nsterm.m (ns_select): Set timeout to distant future when relying
34043         on fd_handler's timeout.
34045 2017-03-07  Glenn Morris  <rgm@gnu.org>
34047         * admin/update_autogen: Ensure nt/gnulib.mk exists, for autoreconf.
34049 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
34051         Remove isnan hack for Solaris 10 gcc 3.4.3
34053         This seems to have been a false alarm (Bug#26018).
34054         * src/data.c (isnan):
34055         * src/floatfns.c (isfinite, isnan):
34056         Use standard implementation if available.
34058 2017-03-07  Eli Zaretskii  <eliz@gnu.org>
34060         Support browsing URLs with embedded spaces on MS-Windows
34062         * lisp/net/browse-url.el (browse-url-default-windows-browser):
34063         Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
34064         support that in file:// URLs.  (Bug#26014)
34066 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
34068         Define copysign on all platforms
34070         * configure.ac (copysign): Remove test.
34071         * src/floatfns.c (signbit): New macro, if not already defined.
34072         (Fcopysign): Use it instead of copysign.
34073         (Fcopysign, syms_of_floatfns): Define the function on all platforms.
34075 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
34077         Revert "Replace ldefs-boot with a much smaller file"
34079         This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.
34081         This commit has been reverted because the new mechanism was too
34082         sensitive to changes in the lisp source, generation of new ldefs-boot
34083         files was platform specific and resulted in warnings about undefined
34084         variables.
34086         See also 11436e2890d.
34088 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
34090         Revert "Record autoloads till emacs dump"
34092         This reverts commit 72c668a9042ac6475eadedfee5c87fb1e6b2d753.
34094         This commit has been reverted because the new mechanism was too
34095         sensitive to changes in the lisp source, generation of new ldefs-boot
34096         files was platform specific and resulted in warnings about undefined
34097         variables.
34099         See also 11436e2890d.
34101 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
34103         Revert "Remove unused ldefs-boot.el"
34105         This reverts commit ef8c9f8fc922b615aca91b47820d1f1900fddc96.
34107         This commit has been reverted because the new mechanism was too
34108         sensitive to changes in the lisp source, generation of new ldefs-boot
34109         files was platform specific and resulted in warnings about undefined
34110         variables.
34112         See also 11436e2890d.
34114 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
34116         Revert "Remove conditional includes from bootstrap"
34118         This reverts commit 1b946305182312faa7fcd838caf55dcb07b2ab04.
34120         This commit has been reverted because the new mechanism was too
34121         sensitive to changes in the lisp source, generation of new ldefs-boot
34122         files was platform specific and resulted in warnings about undefined
34123         variables.
34125         See also 11436e2890d.
34127 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
34129         Revert "Speed generation of ldefs-boot-auto"
34131         This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba.
34133         This commit has been reverted because the new mechanism was too
34134         sensitive to changes in the lisp source, generation of new ldefs-boot
34135         files was platform specific and resulted in warnings about undefined
34136         variables.
34138         See also 11436e2890d.
34140 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
34142         Revert "Fix minor problems with loaddefs autogeneration"
34144         This reverts commit f2bd2c1e6476acc71e71f6cb2a1c56c5edd900ba.
34146         This commit has been reverted because the new mechanism was too
34147         sensitive to changes in the lisp source, generation of new ldefs-boot
34148         files was platform specific and resulted in warnings about undefined
34149         variables.
34151 2017-03-07  Noam Postavsky  <npostavs@gmail.com>
34153         Set default when asking for send-mail-function (Bug#25874).
34155         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
34156         option as default for `completing-read'.
34158 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
34160         min and max now return one of their arguments
34162         * doc/lispref/numbers.texi (Comparison of Numbers):
34163         * etc/NEWS: Document this.
34164         * src/data.c (Amax, Amin): Remove constants.  All uses removed.
34165         (minmax_driver): New function.
34166         (Fmax, Fmin): Use it instead of arith_driver.
34167         * test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
34169 2017-03-06  Alan Third  <alan@idiocy.org>
34171         Remove NSEvent loop from ns_select (bug#25265)
34173         * src/nsterm.m (ns_select): Remove event processing loop and replace
34174         with simple test for a new event.
34176 2017-03-06  Eli Zaretskii  <eliz@gnu.org>
34178         A better fix for bug#25845
34180         * src/xdisp.c (font_for_underline_metrics): New function.
34181         * src/dispextern.h: Add its prototype.
34182         * src/xterm.c (x_draw_glyph_string):
34183         * src/w32term.c (x_draw_glyph_string):
34184         * src/nsterm.m (ns_draw_text_decoration): Call it.  This avoids
34185         having identical code 3 times in 3 different files.
34187 2017-03-06  Noam Postavsky  <npostavs@gmail.com>
34189         Fix warning message about native completion (Bug#25984)
34191         * lisp/progmodes/python.el (python-shell-completion-native-turn-on-maybe):
34192         The relevant variable is `python-shell-completion-native-enable'.
34194 2017-03-06  Tom Tromey  <tom@tromey.com>
34196         Fix typos in EIEIO manual
34198         * doc/misc/eieio.texi (Slot Options, Class Options): Fix typos.
34200 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
34202         Merge from gnulib
34204         This incorporates:
34205         2017-03-04 dtotimespec: simplify
34206         * lib/dtotimespec.c: Copy from gnulib.
34208 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
34210         ffloor etc. now accept only floats
34212         * etc/NEWS: Say why.
34213         * src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate):
34214         Require arg to be float.
34215         * test/src/floatfns-tests.el (fround-fixnum): Check this.
34217 2017-03-05  Eli Zaretskii  <eliz@gnu.org>
34219         Fix display of cursor on underlined text
34221         * src/nsterm.m (ns_draw_text_decoration):
34222         * src/xterm.c (x_draw_glyph_string):
34223         * src/w32term.c (x_draw_glyph_string): Compute the position and
34224         thickness of the underline by looking for the first glyph of the
34225         run of underlined glyphs that includes the glyph string we are
34226         drawing.  (Bug#25845)
34228 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
34230         Add more CL concept index items, print Concept Index
34232         * doc/misc/cl.texi: Print concept index.
34233         (Generalized Variables, Variable Bindings):
34234         (Dynamic Bindings, Function Bindings, Macro Bindings, Conditionals):
34235         (Blocks and Exits, Iteration, Multiple Values): Add concept index
34236         items.
34238 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
34240         Add 'loop facility' to the CL concept index
34242         * doc/misc/cl.texi (Loop Facility): Add "loop facility" as a concept
34243         index item.
34245 2017-03-05  martin rudalics  <rudalics@gmx.at>
34247         In `window--display-buffer' fix behavior reported in Bug#25946
34249         * lisp/window.el (window--display-buffer): Set the dedicated
34250         status of the window used and clear its history of previous
34251         buffers also for the case that the window already shows the
34252         buffer to be displayed.  (Bug#25946)
34254 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
34256         Compare and round more carefully
34258         * etc/NEWS: Document this.
34259         * src/data.c (store_symval_forwarding):
34260         * src/sound.c (parse_sound):
34261         Do not botch NaN comparison.
34262         * src/data.c (cons_to_unsigned, cons_to_signed):
34263         Signal an error if a floating-point arg is not integral.
34264         * src/data.c (cons_to_unsigned, cons_to_signed):
34265         * src/fileio.c (file_offset):
34266         Use simpler overflow check.
34267         * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
34268         Avoid rounding error in overflow check.
34269         (Fcar_less_than_car): Use arithcompare directly.
34270         * test/src/charset-tests.el: New file.
34272 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
34274         Fewer rounding errors with (format "%f" fixnum)
34276         * etc/NEWS: Document this.
34277         * src/editfns.c (styled_format): When formatting integers via a
34278         floating-point format, use long double instead of double
34279         conversion, if long double’s extra precision might help.
34281 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
34283         * src/floatfns.c (Fftruncate): Simplify via emacs_trunc.
34285         * src/editfns.c (styled_format): Omit unnecessary code for "%0d" etc.
34287 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
34289         Clarify documentation of 'raise' and 'height' display specs
34291         * doc/lispref/display.texi (Other Display Specs): Clarify the
34292         effect of 'height' display spec on the following 'raise'.
34293         (Bug#25824)
34295 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
34297         Fix header shown by Info 'L' command
34299         * lisp/info.el (Info-history-find-node): A better heading for the
34300         list of visited nodes.  (Bug#25876)
34302 2017-03-04  K. Handa  <handa@gnu.org>
34304         Add a section about incorrect Bengali rendering.
34306 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
34308         Fix minor problems with loaddefs autogeneration
34310         * admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
34311         and coding-system-for-write, to produce a UTF-8 file with Unix
34312         EOLs on MS-Windows.
34314         * lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.
34316 2017-03-04  David Bremner  <david@tethera.net>  (tiny change)
34318         Fix issues with dedicated windows in shr.el
34320         * lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
34321         the window not dedicated, to avoid errors if it was, before
34322         setting its buffer temporarily.  (Bug#25828)
34324 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
34326         Mention problems with GPaste in PROBLEMS
34328         * etc/PROBLEMS (GPaste): Mention the problem in yanking caused by
34329         GPaste, and its solution.  (Bug#25902)
34331 2017-03-04  Glenn Morris  <rgm@gnu.org>
34333         Avoid duplicate gud menu items with gdb-mi
34335         * lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
34336         entries in gdbmi mode.  (Bug#23923)
34338 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
34340         * src/editfns.c (styled_format): Omit unnecessary code.
34342 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
34344         logb now works correctly on large integers
34346         * admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
34347         * etc/NEWS: Document the change.
34348         * lib/count-leading-zeros.c, lib/count-leading-zeros.h:
34349         * m4/count-leading-zeros.m4: New files, copied from Gnulib.
34350         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
34351         * src/floatfns.c: Include count-leading-zeros.h.
34352         (Flogb): Do not convert fixnum to float before taking the log,
34353         as the rounding error can cause the answer to be off by 1.
34354         * src/lisp.h (EMACS_UINT_WIDTH): New constant.
34355         * test/src/floatfns-tests.el (logb-extreme-fixnum): New test.
34357 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
34359         Merge from gnulib
34361         This incorporates:
34362         2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
34363         2017-02-24 ftoastr: port to -Wdouble-promotion
34364         * lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.
34366 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
34368         Avoid duplicating characters recorded in macros
34370         * src/keyboard.c (record_char): Don't store in macro definitions
34371         characters that came from executing a macro.  (Bug#25860)
34373 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
34375         Fix color component calculations in color.el
34377         * lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
34378         (color-rgb-to-hex): Accept an optional argument
34379         DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
34380         notation either for 8 or 16 bits per component.  (Bug#25890)
34381         * lisp/net/shr-color.el (shr-color->hexadecimal): Call
34382         color-rgb-to-hex with the optional argument of 2, to match color
34383         processing on the Web.
34385 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
34387         Use lexical binding in benchmark.el
34389         * lisp/emacs-lisp/benchmark.el: Enable lexical binding.
34390         (benchmark-elapse): Use 'declare'.
34391         * test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
34393 2017-03-03  Noam Postavsky  <npostavs@gmail.com>
34395         Switch pp.el to lexical binding
34397         Additionally, do some minor code cleanup.
34399         * lisp/emacs-lisp/pp.el: Set lexical-binding.
34400         (pp-buffer): Use skip-syntax-forward.
34401         (pp-eval-expression): Use push.
34402         (pp-last-sexp): Use with-syntax-table.
34403         * test/lisp/emacs-lisp/pp-tests.el: New tests.
34405 2017-03-03  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
34407         Fix completing-read call in reb-change-syntax
34409         * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
34410         of completing-read.
34412 2017-03-03  Rolf Ade  <rolf@pointsman.de>  (tiny change)
34414         sql-mode w/ sqlite: In-memory database
34416         Enable the usage of an in-memory database. Prior to this, sql-mode w/
34417         sqlite could only be used with file databases.
34418         * lisp/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
34419         file name provided by the user, but call sub-process sqlite with that,
34420         in which case it uses an in-memory database.
34422 2017-03-03  Allen Li  <vianchielfaura@gmail.com>
34424         Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
34426         `abbrev--before-point' does not adjust `pos' to account for when it
34427         deletes the "-" left by abbrev-prefix-mark.  Therefore, when
34428         `abbrev-before-point' goes to restore point, it moves point one
34429         character too far forward.
34431         * lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
34433 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
34435         * lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section.
34437 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
34439         Restore XFLOATINT but with restricted args
34441         Turn instances of extract_float into XFLOAT_DATA when possible,
34442         and to a resurrected XFLOATINT when the arg is a number.
34443         The resurrected XFLOATINT is more like XFLOAT and XINT in
34444         that is valid only if its arg is a number.  This clarifies
34445         the ways in which floats can be extracted at the C level.
34446         * src/editfns.c (styled_format):
34447         * src/floatfns.c (extract_float, Fexpt):
34448         Use XFLOATINT rather than open-coding it.
34449         * src/fns.c (internal_equal):
34450         * src/image.c (imagemagick_load_image):
34451         * src/xdisp.c (resize_mini_window):
34452         Prefer XFLOAT_DATA to extract_float on values known to be floats.
34453         * src/frame.c (x_set_screen_gamma):
34454         * src/frame.h (NUMVAL):
34455         * src/image.c (x_edge_detection, compute_image_size):
34456         * src/lread.c (read_filtered_event):
34457         * src/window.c (Fset_window_vscroll):
34458         * src/xdisp.c (handle_single_display_spec, try_scrolling)
34459         (redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
34460         (on_hot_spot_p):
34461         Prefer XFLOATINT to extract_float on values known to be numbers.
34462         * src/lisp.h (XFLOATINT): Bring back this function, except
34463         it now assumes its argument is a number.
34465 2017-03-02  Glenn Morris  <rgm@gnu.org>
34467         Ert commands to error if no test at point (bug#25931)
34469         * lisp/emacs-lisp/ert.el (ert-results-mode-menu):
34470         Deactivate some items if no test at point.
34471         (ert--results-test-at-point-no-redefinition):
34472         Add option to signal an error rather than return nil.
34473         (ert-results-pop-to-backtrace-for-test-at-point)
34474         (ert-results-pop-to-messages-for-test-at-point)
34475         (ert-results-pop-to-should-forms-for-test-at-point)
34476         (ert-results-describe-test-at-point): Error if no test at point.
34478 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
34480         Remove XFLOATINT
34482         * src/lisp.h (XFLOATINT): Remove this alias for extract_float.
34483         All callers changed to use extract_float.
34484         * src/frame.h (NUMVAL): Now an inline function, not a macro.
34486 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
34488         Fix rounding errors in <, =, etc.
34490         * etc/NEWS: Document this.
34491         * src/bytecode.c (exec_byte_code):
34492         * src/data.c (arithcompare):
34493         Do not lose information when comparing floats to integers.
34494         * test/src/data-tests.el (data-tests-=, data-tests-<)
34495         (data-tests->, data-tests-<=, data-tests->=):
34496         Test this.
34498 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
34500         Fix display of mouse-highlight produced by overlapping overlays
34502         * src/xfaces.c (face_at_buffer_position): If called to find the
34503         mouse-face, only consider the highest-priority source for that
34504         face, and ignore the rest.  Previously, all the mouse-face
34505         definitions at POS were merged in that case.
34506         * src/xdisp.c (note_mouse_highlight): Record the overlay that
34507         specifies mouse-face _after_ clearing the info about the previous
34508         overlay, so as not to clear the information about the just-recorded
34509         overlay.  (Bug#25906)
34511 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
34513         Fix display of strike-through text in variable-height lines
34515         * src/nsterm.m (ns_draw_text_decoration):
34516         * src/xterm.c (x_draw_glyph_string):
34517         * src/w32term.c (x_draw_glyph_string): Fix calculation of the
34518         strike-through y-coordinate for a glyph row which is taller than
34519         the strike-through text.  (Bug#25907)
34521 2017-03-02  Martin Rudalics  <rudalics@gmx.at>
34523         Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887)
34525         * src/xterm.c (handle_one_xevent): For ConfigureNotify events
34526         don't call x_net_wm_state when the window is a scroll bar window.
34527         (Bug#24963, Bug#25887)
34529 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
34531         gnus-summary-select-article-buffer: Don't re-render existing article
34533         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
34534         Don't re-render existing article.
34536 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
34538         Don't add debbugs address to message body (bug#25896)
34540         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
34541         Don't add debbugs address to message body (bug#25896), and
34542         don't add it to message header either if it already exists.
34544 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
34546         * lisp/cedet/semantic/db-global.el: Make dynbind use explicit
34548         (semanticdb--ih): Declare.
34549         (semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
34550         (semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
34551         (semanticdb-find-tags-for-completion-method): Silence compiler warning.
34553 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
34555         * lisp/help-fns.el (describe-variable): Use cl-print for the value
34557         Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.
34559 2017-03-02  Glenn Morris  <rgm@gnu.org>
34561         * test/lisp/net/puny-tests.el: New file.
34563 2017-03-02  Glenn Morris  <rgm@gnu.org>
34565         Small puny.el fix
34567         * lisp/net/puny.el (puny-decode-string-internal):
34568         Handle strings with no ascii parts.  (Bug#23688)
34570 2017-03-02  Glenn Morris  <rgm@gnu.org>
34572         Small recover-this-file improvement
34574         * lisp/files.el (recover-this-file): Explicit error if not
34575         visiting a file.  (Bug#23671)
34577 2017-03-01  Glenn Morris  <rgm@gnu.org>
34579         Fix for coding-system completion (bug#23670)
34581         * lisp/international/mule.el (read-buffer-file-coding-system):
34582         Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
34583         so that completion-pcm--pattern->regex can append "*?".
34585 2017-03-01  Paul Eggert  <eggert@cs.ucla.edu>
34587         Fix rounding error in ‘ceiling’ etc.
34589         Without this fix, (ceiling most-negative-fixnum -1.0) returns
34590         most-negative-fixnum instead of correctly signaling range-error,
34591         and similarly for floor, round, and truncate.
34592         * configure.ac (trunc): Add a check, since Gnulib’s doc says
34593         ‘trunc’ is missing from MSVC 9.  The Gnulib doc says ‘trunc’ is
34594         also missing from some other older operating systems like Solaris
34595         9 which I know we don’t care about any more, so MSVC is the only
34596         reason to worry about ‘trunc’ here.
34597         * src/editfns.c (styled_format): Formatting a float with %c is now an
34598         error.  The old code did not work in general, because FIXNUM_OVERFLOW_P
34599         had rounding errors.  Besides, the "if (FLOATP (...))" was in there
34600         only as a result of my misunderstanding old code that I introduced
34601         2011.  Although %d etc. is sometimes used on floats that represent
34602         huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
34603         happen with characters.
34604         * src/floatfns.c (rounding_driver): Rework to do the right thing
34605         when the intermediate result equals 2.305843009213694e+18, i.e.,
34606         is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
34607         Simplify so that only one section of code checks for overflow,
34608         rather than two.
34609         (double_identity): Remove.  All uses changed to ...
34610         (emacs_trunc): ... this new function.  Add replacement for
34611         platforms that lack ‘trunc’.
34612         * src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
34613         Make it clear that the arg cannot be floating point.
34614         * test/src/editfns-tests.el (format-c-float): New test.
34615         * test/src/floatfns-tests.el: New file, to test for this bug.
34617 2017-03-01  Glenn Morris  <rgm@gnu.org>
34619         Small help--loaded-p fix
34621         * lisp/help-fns.el (help--loaded-p): Handle entry in load-history
34622         with nil file name.  (Bug#25847)
34624 2017-03-01  Leo Liu  <sdl.web@gmail.com>
34626         * src/fns.c (Fbuffer_hash): Doc fix.
34628 2017-03-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
34630         Don't use mapconcat with chars in gnus registry marks (Bug#25839)
34632         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
34633         Instead, use a plain concat, which will create a string out of a list
34634         of characters.
34636 2017-03-01  Noam Postavsky  <npostavs@gmail.com>
34638         Fix epg-tests with dummy-pinentry program (Bug#23619)
34640         * test/data/epg/dummy-pinentry: New file.
34641         * test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
34642         when a passphrase is required.  Add debug declaration.  Set
34643         GPG_AGENT_INFO non-destructively.
34645 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
34647         Speed generation of ldefs-boot-auto
34649         Previously, generation of ldefs-boot-auto required at least one full
34650         bootstrap and, in extreme cases, two. Now, from build system, it
34651         requires the same time as taken to dump Emacs.
34653         * Makefile.in: Remove all calls, pass to src.
34654         * admin/ldefs-clean.el: Update for changed messages.
34655         * lisp/Makefile.in (compile-first-delete): Add.
34656         * lisp/ldefs-boot-auto.el: Update.
34657         * src/Makefile.in (generate-ldefs-boot): Add.
34659 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
34661         Add error handling to magic-mode-alist
34663         * lisp/files.el (set-auto-mode): Add explicit error handling in two
34664           places.
34666 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
34668         Remove conditional includes from bootstrap
34670         Previously, bootstrap-emacs includes optional functionality, depending
34671         on the platform which is not needed for bootstrap function.  As a
34672         result, bootstrap-emacs contains different functions in different
34673         circumstances.  If ldefs-boot-auto.el is generated, then loaded
34674         functions will not be added to ldefs-boot-auto.el, although they may be
34675         required during some builds.  With this change, bootstrap-emacs should
34676         always behave the same way and, therefore, require the same autoloads.
34678          * lisp/loadup.el: No longer load optional includes during bootstrap
34679            dumping.
34680          * lisp/ldefs-boot-auto.el: Regenerate.
34681          * lisp/ldefs-boot-manual.el: Add two autoloads.
34683 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
34685         Do not use find-file non-interactively
34687          * lisp/international/titdic-cnv.el (miscdic-convert): Use
34688            insert-file-contents in place of find-file.
34690 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
34692         * src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
34694         (update_overlay_arrows): Skip non-markers.
34696 2017-02-28  Ken Brown  <kbrown@cornell.edu>
34698         Try to avoid hang when logging out of MS-Windows
34700         * src/w32term.c (x_update_window_begin, x_update_window_end)
34701         (my_show_window, my_set_window_pos, my_set_focus)
34702         (my_set_foreground_window, my_destroy_window)
34703         (my_bring_window_to_top, x_iconify_frame): Replace calls to
34704         SendMessage by calls to SendMessageTimeout with a 6-second
34705         timeout.  (Bug#25875)
34707 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
34709         * lisp/textmodes/reftex-toc.el (reftex-re-enlarge): Demote errors.
34711 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
34713         * doc/misc/eieio.texi: Update to account for the cl-generic facilities
34715         (Quick Start, Class Options, Generics): Adjust names for cl-generic.
34716         (Methods): Document cl-defmethod.
34717         Explain in more detail the order in which the various
34718         methods are executed.  Document the conditions under which a method
34719         is redefined.  Remove reference to `eieio-generic-call-arglst`.
34720         Don't document the precise return value of cl-next-method-p.
34721         (Static Methods): Adjust to use `subclass` specializer.
34722         (Method Invocation): Use cl-call-next-method and drop mention of :primary.
34723         (Signal Handling, Signals): Adjust names and args for cl-generic; add
34724         cl-no-primary-method.
34725         (CLOS compatibility, Wish List): Adjust to new featureset.
34727 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
34729         * lisp/cedet/mode-local.el (define-mode-local-override): Declare doctring.
34731         * lisp/nxml/nxml-mode.el (nxml-mode): Use new sgml-syntax-propertize.
34733 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
34735         * lisp/textmodes/sgml-mode.el: syntax-propertize <![CDATA and <?..?>
34737         (sgml-syntax-propertize-function): Mark <![CDATA and <?..?>.
34738         (sgml-syntax-propertize-inside): New fun.
34740 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
34742         * lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert
34744         ": ;" after completing a property.
34746 2017-02-28  Tino Calancha  <tino.calancha@gmail.com>
34748         Show Ibuffer and jump to line listing current buffer
34750         * lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577).
34752 2017-02-27  Juri Linkov  <juri@linkov.net>
34754         * lisp/vc/add-log.el (change-log-next-buffer): Check if file exists
34756         before adding it to the list of files.
34758 2017-02-27  Juri Linkov  <juri@linkov.net>
34760         Put text properties on query-replace separator string instead of "\0"
34762         * lisp/replace.el (query-replace--split-string):
34763         Split at a substring instead of just character.
34764         (query-replace-read-from): Put text properties on the
34765         separator string instead of "\0".  (Bug#25482)
34767 2017-02-27  Juri Linkov  <juri@linkov.net>
34769         Add file name and its extension to suggestions in dired-mark-files-regexp
34771         * lisp/dired.el (dired-mark-files-regexp): Add file name
34772         and its extension to the list of suggested defaults.  (Bug#25578)
34774 2017-02-27  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
34776         Prompt default extension in dired-mark-extension
34778         * lisp/dired-x.el (dired-mark-extension): Prompt default extension
34779         based on extension of file at point.  (Bug#25578)
34781 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
34783         Prevent for consing in cl-mapc and cl-mapl
34785         * lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
34786         If non-nil, accumulate values in the result (Bug#25826).
34787         (cl-mapc): Do computations inside function instead of call cl-map.
34788         (cl-mapl): Do computations inside function instead of call cl-maplist.
34789         * lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
34790         Call cl--mapcar-many with non-nil 3rd argument.
34791         * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
34792         (cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
34793         (cl-extra-test-maplist): New tests.
34795 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
34797         Choose the right target dir on dired operations
34799         Prevent from changing the input target dir
34800         when dired-dwim-target is non-nil (Bug#25609).
34801         * lisp/dired-aux.el (dired-do-create-files):
34802         If dired-dwim-target is non-nil, then bind 'default' to nil.
34803         * test/lisp/dired-tests.el (dired-test-bug25609): Add test.
34805 2017-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
34807         * src/xdisp.c (overlay_arrows_changed_p): Fix last change.
34809 2017-02-27  Noam Postavsky  <npostavs@gmail.com>
34811         Don't record eshell/clear "command" in history (Bug#25838)
34813         `eshell/clear' is implemented by sending a series of blank lines,
34814         which is not a useful thing to have in the history.
34816         * lisp/eshell/em-hist.el (eshell-input-filter-default): Use
34817         `string-blank-p' which does check for newlines (even though newlines
34818         have comment-end syntax, not whitespace syntax class).
34819         * lisp/eshell/esh-mode.el (eshell/clear): Remove
34820         `eshell-add-to-history' from `eshell-input-filter-functions' while
34821         sending the blank lines.  This change is needed to solve the bug if
34822         the user customizes `eshell-input-filter' to something that doesn't
34823         filter newlines.
34825 2017-02-26  Paul Eggert  <eggert@cs.ucla.edu>
34827         Remove a few unused C functions
34829         * src/eval.c (let_shadows_global_binding_p):
34830         * src/print.c (write_string):
34831         * src/systhread.c (sys_mutex_destroy, sys_thread_equal):
34832         Remove.
34833         * src/print.c (write_string): Rename from write_string_1.
34834         All uses changed.
34836 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
34838         Avoid segfault in overlay_arrows_changed_p
34840         * src/xdisp.c (overlay_arrows_changed_p): Fix recent change
34841         to avoid a segfault.
34843 2017-02-26  Noam Postavsky  <npostavs@gmail.com>
34845         Don't call package--ensure-init-file if initialized during startup
34847         * lisp/emacs-lisp/package.el (package-initialize): Check
34848         `after-init-time' rather than `load-file-name' to decide if
34849         `package--ensure-init-file' should be called.  Depending on
34850         `load-file-name' will fail if the user calls `pacakge-initialize' in
34851         file which is loaded from the init file (Bug#24643, Bug#25819).
34853 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
34855         Fix display of before- and after-strings at invisible text
34857         * src/xdisp.c (next_overlay_string): Don't raise the
34858         ignore_overlay_strings_at_pos_p flag if the iterator is already
34859         set to continue at a buffer position different from the one
34860         where the overlay strings we just processed were loaded.  (Bug#25856)
34862 2017-02-26  Michael Albinus  <michael.albinus@gmx.de>
34864         Work on `tramp-completion-mode-p'
34866         * etc/NEWS: Say that `tramp-completion-mode' is obsolete.
34868         * lisp/net/tramp.el (tramp-completion-mode): Make it obsolete.
34869         (tramp-completion-mode-p): Reintroduce the check for 'tab.
34871 2017-02-25  Tom Tromey  <tom@tromey.com>
34873         Use font-lock-doc-face in js-mode
34875         Bug#25858:
34876         * lisp/progmodes/js.el (js-font-lock-syntactic-face-function): New
34877         defun.
34878         (js-mode): Use it.
34879         * test/lisp/progmodes/js-tests.el (js-mode-doc-comment-face): New
34880         test.
34882 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
34884         Don't use IP 0.0.0.0 for package test server (Bug#22582)
34886         * test/lisp/emacs-lisp/package-resources/package-test-server.py: Set
34887         'server_address' when port number is given on the command line.  Print
34888         IP and port number as a URL, and flush it after printing.
34889         * test/lisp/emacs-lisp/package-tests.el:
34890         (package-test-update-archives-async): Grab the whole URL from server
34891         output.
34893 2017-02-25  Tom Tromey  <tom@tromey.com>
34895         Add more branch support to vc-dir
34897         Bug#25859:
34898         * lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
34899         * lisp/vc/vc.el (vc-revision-history): New defvar.
34900         (vc-read-revision): Use vc-revision-history.
34901         (vc-print-branch-log): New function.
34902         * doc/emacs/maintaining.texi (VC Directory Commands): Document new
34903         bindings.
34904         * etc/NEWS: Mention new vc-dir bindings.
34906 2017-02-25  Alan Mackenzie  <acm@muc.de>
34908         Allow for the :: operator in C++ "enum class" declarations.
34910         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for
34911         "::".
34913 2017-02-25  Michael Albinus  <michael.albinus@gmx.de>
34915         Fix bug#25854
34917         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
34918         Simplify error handling for huge inodes.
34919         (tramp-convert-file-attributes): Handle very huge inodes.  (Bug#25854)
34921 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
34923         Avoid leaving garbage on screen when using 'raise' display property
34925         * src/xdisp.c (display_line): Reset voffset value of the iterator
34926         when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
34927         which then leaves stuff on screen that needs to be cleared by
34928         redisplay.  (Bug#25855)
34930 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
34932         Fix doc strings in info.el
34934         * lisp/info.el (Info-selection-hook, Info-mode-hook)
34935         (Info-edit-mode-hook): Doc fixes.  (Bug#25794)
34937 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
34939         Fix doc string of 'posn-at-point'
34941         * src/keyboard.c (Fposn_at_point): Clarify the doc string.
34942         (Bug#25796)
34944 2017-02-25  Peder O. Klingenberg  <peder@klingenberg.no>
34946         New option -u / --suppress-output to emacsclient
34948         * lib-src/emacsclient.c (print_help_and_exit, longopts)
34949         (decode_options, main): Implement new option --suppress-output / -u to
34950         suppress printing of eval-results.
34951         * doc/emacs/misc.texi (emacsclient Options): Document the new
34952         "--suppress-output/-u" options.
34953         * etc/NEWS: Mention the new options.
34955 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
34957         Fix scrolling with partial line corner case (Bug#25792)
34959         Also fix up the scrolling tests so that they don't make so many
34960         assumptions about the current window configuration.
34962         * src/xdisp.c (try_window): Take partial line height into account when
34963         comparing cursor position against scroll margin.
34965         * test/manual/scroll-tests.el (scroll-tests-with-buffer-window): Add
34966         HEIGHT argument, to allow setting up window with exact height and
34967         partial line.
34968         (scroll-tests-display-buffer-with-height): New display-buffer action
34969         function.
34970         (scroll-tests-scroll-margin-over-max):
34971         (scroll-tests--scroll-margin-whole-window): Pass HEIGHT to
34972         `scroll-tests--scroll-margin-whole-window'.
34973         (scroll-tests-conservative-show-trailing-whitespace): New test.
34974         (scroll-tests-scroll-margin-negative): Fix line counting.
34975         (scroll-tests--point-in-middle-of-window-p): Set window height
34976         properly.
34978 2017-02-25  Tom Tromey  <tom@tromey.com>
34980         Fix indentation error in js.el
34982         * lisp/progmodes/js.el (js--indent-in-array-comp): Wrap forward-sexp
34983         call in condition-case.
34984         * test/lisp/progmodes/js-tests.el (js-mode-indentation-error): New
34985         test.
34987 2017-02-24  Tom Tromey  <tom@tromey.com>
34989         add "async" and "await" keywords
34991         * lisp/progmodes/js.el (js--keyword-re): Add async, await.
34993 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
34995         Use cl-print for Edebug and EIEIO
34997         * lisp/emacs-lisp/edebug.el (edebug-prin1-to-string): Use cl-print.
34998         (edebug-prin1, edebug-print): Remove.
35000         * lisp/emacs-lisp/eieio.el (object-print): Declare obsolete.
35001         (cl-print-object): Add a method for EIEIO objects.
35002         (eieio-edebug-prin1-to-string): Delete.
35003         (edebug-prin1-to-string): Don't advise any more.
35005         * lisp/emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
35006         Replace `object-print' -> `cl-prin1-to-string'.
35008 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
35010         Fix left over uses of `call-next-method'
35012         * lisp/cedet/semantic/db-global.el (object-print):
35013         * lisp/cedet/semantic/db.el (object-print): Use `cl-call-next-method'.
35015 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
35017         Minor redisplay optimizations
35019         * src/frame.c (Ficonify_frame): No need to redisplay everything.
35021         * src/xdisp.c (overlay_arrows_changed_p): Add `set_redisplay' argument.
35022         (redisplay_internal): Use it to avoid redisplaying everything.
35023         (try_window_id): Use it keep the same behavior as before.
35025 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
35027         * lisp/emacs-lisp/cl-print.el: New file
35029         * lisp/emacs-lisp/nadvice.el (advice--where): New function.
35030         (advice--make-docstring): Use it.
35032         * src/print.c (print_number_index): Don't declare here any more.
35033         (Fprint_preprocess): New function.
35035         * test/lisp/emacs-lisp/cl-print-tests.el: New file.
35037 2017-02-24  Peder O. Klingenberg  <peder@klingenberg.no>
35039         Make calc's least common multiple positive (bug#25255)
35041         * lisp/calc/calc-comb.el (calcFunc-lcm): Return absolute value.
35042         * doc/misc/calc.texi (Combinatorial Functions): Update for the above.
35044 2017-02-24  Tino Calancha  <tino.calancha@gmail.com>
35046         Documentation fix in elisp reference manual
35048         * doc/lispref/macros.texi (Defining Macros): Drop redundant mention
35049         on 'declare' forms (Bug#25846).
35051 2017-02-24  Gemini Lasswell  <gazally@runbox.com>
35053         Support read syntax for circular objects in Edebug (Bug#23660)
35055         * lisp/emacs-lisp/edebug.el (edebug-read-special): New name
35056         for edebug-read-function. Handle the read syntax for circular
35057         objects.
35058         (edebug-read-objects): New variable.
35059         (edebug-read-and-maybe-wrap-form1): Reset edebug-read-objects.
35061         * src/lread.c (Fsubstitute_object_in_subtree): Make
35062         substitute_object_in_subtree into a Lisp primitive.
35064 2017-02-24  Lixin Chin  <lixinchin@gmail.com>  (tiny change)
35066         Add Conference to the list of valid bibtex entry types
35068         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
35069         Add Conference as a duplicate of InProceedings.  (Bug#25143)
35071 2017-02-23  Glenn Morris  <rgm@gnu.org>
35073         * lisp/comint.el (comint-password-prompt-regexp): Add SUDO. (Bug#24817)
35075 2017-02-23  Glenn Morris  <rgm@gnu.org>
35077         Small dunnet score file improvements
35079         * lisp/play/dunnet.el (dun-log-file): Switch to per-user default.
35080         (dun-do-logfile): Handle non-existing score file.
35082 2017-02-23  Glenn Morris  <rgm@gnu.org>
35084         * lisp/play/dunnet.el (dun-help): Doc fix.
35086 2017-02-23  Mark Oteiza  <mvoteiza@udel.edu>
35088         Declare dun-line and dun-line-list
35090         Previously, there were free variables 'line' and 'line-list'.
35091         * lisp/play/dunnet.el (dun-line, dun-line-list): New variables.
35092         (dun-press, dun-vparse, dun-parse2, dun-unix-parse, dun-batch-parse):
35093         (dun-batch-parse2, dun-batch-loop, dun-batch-dos-interface):
35094         (dun-batch-unix-interface): Use them.
35096 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
35098         Merge from gnulib
35100         This incorporates:
35101         2017-02-16 xbinary-io: rename from xsetmode
35102         2017-02-15 xsetmode: new module
35103         * lib-src/etags.c (main):
35104         * lib-src/hexl.c (main):
35105         * src/emacs.c (main) [MSDOS]:
35106         Prefer set_binary_mode to the obsolescent SET_BINARY.
35107         * lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
35109 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
35111         hexl: handle large files and I/O errors
35113         * lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc.
35114         Do not include ctype.h, as the code no longer uses isdigit.
35115         (DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’.
35116         (DEFAULT_BASE, endian): Remove; was not really used.
35117         (usage): Remove; now done by ‘main’, as that’s simpler.
35118         (progname): Now static.
35119         (output_error, hexchar): New functions.
35120         (main): Use them.  Simplify.  Remove "-oct", "-big-endian", and
35121         "-little-endian" options, as they did not work and were not used.
35122         Use SET_BINARY only on stdin, and fopen with "rb" otherwise.
35123         Use SET_BINARY only once on stdout.
35124         Do not assume file offsets fit in ‘long’.
35125         If an I/O error occurs, report it and exit with nonzero status.
35127 2017-02-23  Eli Zaretskii  <eliz@gnu.org>
35129         Avoid quitting inside a critical section on MS-Windows
35131         * src/w32uniscribe.c (uniscribe_list_family):
35132         * src/w32font.c (w32font_list_family, w32font_text_extents)
35133         (w32font_list_internal, w32font_match_internal)
35134         (list_all_matching_fonts): Prevent quitting while these functions
35135         cons lists of fonts, to avoid leaving the critical section taken
35136         by the main thread, which will then cause any other thread
35137         attempting to enter the critical section to hang.  (Bug#25279)
35139 2017-02-22  Dmitry Gutov  <dgutov@yandex.ru>
35141         Use revision-completion-table in vc-retrieve-tag
35143         * lisp/vc/vc.el (vc-retrieve-tag): Use the
35144         revision-completion-table command for completion (bug#25710).
35146 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
35148         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add `atom'
35150         remove entries whose car can't be returned by type-of.
35151         (cl--generic-all-builtin-types): New var.
35152         (cl-generic-generalizers): Use it to avoid requiring
35153         extra entries in cl--generic-typeof-types.
35155 2017-02-22  Noam Postavsky  <npostavs@gmail.com>
35157         Find macro binding for symbol-bound macros too (Bug#6848)
35159         There are 2 ways to bind a macro: with global-set-key or
35160         kmacro-bind-to-key.  The former binds a key to a symbol, while the
35161         latter binds to a lambda.  In 2010-03-03 "Fix keyboard macro key
35162         lookup (Bug#5481)", `insert-kbd-macro' was fixed to detect the lambda
35163         case, but broke the symbol case.
35165         * lisp/macros.el (insert-kbd-macro): Also check for bindings of
35166         MACRONAME.
35168 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
35170         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix last change
35172 2017-02-22  Juri Linkov  <juri@linkov.net>
35174         * lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092).
35176 2017-02-22  Juri Linkov  <juri@linkov.net>
35178         * lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
35180         (isearch-lazy-highlight-update): Check it to decide whether to apply
35181         overlays only on the selected window.
35183         * lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
35184         (Bug#17453, bug#21092)
35186 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
35188         Minor weak hash table performance tweaks
35190         * src/fns.c (make_hash_table): Omit unnecessary assignment to
35191         h->next_weak when the hash table is not weak.
35192         (copy_hash_table): Put the copy next to the original in the
35193         weak_hash_tables list, as this should have better locality
35194         when scanning the weak hash tables.
35196 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
35198         Use float instead of Lisp_Object for rehash_size
35200         * src/alloc.c (purecopy_hash_table):
35201         * src/fns.c (maybe_resize_hash_table, Fmake_hash_table):
35202         (Fhash_table_rehash_size):
35203         * src/lisp.h (struct Lisp_Hash_Table.rehash_size):
35204         The rehash_size member of struct Lisp_Hash_Table is now a
35205         float, not a Lisp_Object.
35206         * src/alloc.c (purecopy_hash_table): Assign members in order.
35207         * src/fns.c (make_hash_table): Use EMACS_INT for size and
35208         float for rehash_size, instead of Lisp_Object for both.
35209         All callers changed.
35210         * src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double,
35211         and 1 smaller.
35212         * src/print.c (print_object): Simplify by calling
35213         Fhash_table_rehash_size and Fhash_table_rehash_threshold.
35214         Avoid unnecessary NILP.
35216 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
35218         Use ptrdiff_t instead of Lisp_Object for collision
35220         * src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
35221         * src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
35222         arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
35223         integer (or Qnil if empty).  All callers changed.
35224         (larger_vecalloc): New static function.
35225         (larger_vector): Use it.
35226         (HASH_NEXT, HASH_INDEX): Move here from lisp.h.  Return ptrdiff_t
35227         index (or -1) not Lisp_Object integer (or Qnil).  All callers changed.
35228         * src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
35229         (hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
35230         * src/profiler.c (evict_lower_half, record_backtrace):
35231         -1, not nil, is now the convention for end of collision list.
35232         * src/fns.c (maybe_resize_hash_table): Avoid double-initialization
35233         of the free list.  Reallocate H->next last, in case other
35234         reallocations exhaust memory.
35235         * src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
35236         ptrdiff_t, not Lisp_Object.  Adjust commentary for ‘next’ and
35237         ‘index’, which no longer contain nil.
35238         (HASH_NEXT, HASH_INDEX): Move to src/fns.c.
35240 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
35242         Hash table threshold is now float, not double
35244         Change default from 0.8 to 0.8125 so it fits in float without
35245         rounding glitches.
35246         * doc/lispref/hash.texi (Creating Hash):
35247         * doc/lispref/objects.texi (Hash Table Type):
35248         * etc/NEWS:
35249         Document change.
35250         * src/fns.c (make_hash_table, maybe_resize_hash_table)
35251         (Fmake_hash_table): Threshold is now float, not double.
35252         Be consistent about how this is rounded.
35253         * src/lisp.h (struct Lisp_Hash_Table.rehash_threshold):
35254         Change back to float, now that the other code rounds consistently.
35255         (DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.
35257 2017-02-22  Juri Linkov  <juri@linkov.net>
35259         Avoid flicker in lazy-highlight by doing all updates without redisplay.
35261         * lisp/isearch.el (lazy-highlight-max-at-a-time):
35262         Change default value from 20 to nil to not trigger redisplay
35263         between updating iterations.
35264         (lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
35265         overlays when non-nil.
35266         (isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
35267         with non-nil second arg when the search string is not empty.
35268         Run timer with isearch-lazy-highlight-start instead of
35269         isearch-lazy-highlight-update.
35270         (isearch-lazy-highlight-start): New function. (Bug#25751)
35272 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
35274         * lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric
35276         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.
35278 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
35280         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Fix duplication
35282         which resulted in incomplete list of parents in one copy of the
35283         cl-structure-class class.
35285 2017-02-21  Glenn Morris  <rgm@gnu.org>
35287         Tweak recent custom-reevaluate-setting change
35289         * lisp/custom.el (custom-reevaluate-setting):
35290         Tweak previous change to avoid font-lock init issues.
35292 2017-02-21  Glenn Morris  <rgm@gnu.org>
35294         Ensure delayed-init custom variables get marked special
35296         * lisp/custom.el (custom-reevaluate-setting):
35297         If the variable has never been set, defvar it.  (Bug#25770)
35299 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
35301         Turn on lexical-binding in dunnet.el
35303         * lisp/play/dunnet.el: Turn on lexical-binding.  Re-instate lexical
35304         byte compile warnings.
35306 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
35308         Make dunnet insertion functions n-ary
35310         * lisp/play/dunnet.el (dun-mprinc, dun-mprincl, dun-minsert):
35311         (dun-minsertl, dun-batch-mprinc, dun-batch-mprincl): Change to accept
35312         any number of arguments.
35313         (dun-parse, dun-describe-room, dun-quit, dun-inven, dun-shake):
35314         (dun-take, dun-go, dun-move, dun-press, dun-score):
35315         (dun-compile-save-out, dun-do-logfile): Collect arguments from
35316         multiple insertion calls into less calls with more args.
35318 2017-02-21  Katsumi Yamaoka  <yamaoka@jpl.org>
35320         message-goto-body-1: Fix regexp so as not to match multi-line
35322         * lisp/gnus/message.el (message-goto-body-1):
35323         Fix regexp so as not to match multi-line.
35325 2017-02-20  Noam Postavsky  <npostavs@gmail.com>
35327         Simplify cl-get using `plist-member'
35329         * lisp/emacs-lisp/cl-extra.el (cl-get, cl-getf, cl--set-getf): Use
35330         `plist-member' instead of explicit loop.
35331         * test/lisp/emacs-lisp/cl-extra-tests.el: New tests.
35333 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
35335         Verify xwidget USE_LSB_TAG assumption
35337         * src/xwidget.c (Fxwidget_webkit_execute_script):
35338         Add verification.  Problem reported by Andreas Schwab (Bug#25816#8).
35340 2017-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
35342         * src/insdel.c (make_gap): Improve comment.
35344 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
35346         Do not use switch-to-buffer for working in a temp buffer
35348         * lisp/play/dunnet.el (dunnet): Use pop-to-buffer-same-window instead,
35349         cf. Bug#22244.
35350         (dun-load-d, dun-eval, dun-save-game, dun-do-logfile): Use
35351         with-temp-buffer instead.
35353 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
35355         Make dun-room-shorts a defconst
35357         * lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
35358         initial value into the declaration.
35359         (dun-space-to-hyphen): Remove.
35361 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
35363         Port xwidget to -DCHECK_LISP_OBJECT_TYPE
35365         * src/xwidget.c (webkit_javascript_finished_cb)
35366         (Fxwidget_webkit_execute_script): Don't assume Lisp_Object is an
35367         integer.  This fix is just a hack; I’ll file a bug report about
35368         the underlying problem.
35370 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
35372         mm-decode.el: Simplify regexp used to search html meta tag
35374         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag, mm-shr):
35375         Simplify regexp used to search html meta tag.
35377 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
35379         mm-shr: Ignore coding-system `ascii'
35381         * lisp/gnus/mm-decode.el (mm-shr): Ignore coding-system `ascii'.
35383 2017-02-20  Tom Tromey  <tom@tromey.com>
35385         vc-log-outgoing fixes for git; add binding to vc-dir
35387         * lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
35388         * lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
35389         async execution.
35390         (vc-git-log-view-mode): Also truncate lines for log-outgoing and
35391         log-incoming.
35392         * lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
35393         as remote-location argument.
35395 2017-02-20  Tom Tromey  <tom@tromey.com>
35397         Remove stale comments from vc-git and vc-hg
35399         * lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
35400         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
35402 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
35404         Remove member clone
35406         * lisp/play/dunnet.el (dun-answer): Use member instead.
35407         (dun-members): Remove.
35409 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
35411         Prefix global var
35413         * lisp/play/dunnet.el (room): Rename to dun-room.
35414         (dun-messages, dunnet, dun-describe-room, dun-drop, dun-move):
35415         (dun-restore, dun-do-logfile, dun-batch-loop): Use new name.
35417 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
35419         Replace nested ifs with cond
35421         * lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
35422         (dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
35423         and cond where appropriate.
35424         (dun-sauna-heat): Accept sauna level as an argument.  Use cond.
35425         (dun-take): Use null and dun-mprincl.
35426         (dun-inven-weight, dun-load-d): Reformat.
35427         (dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.
35429 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
35431         Fix glitches in recent hash table changes
35433         * src/fns.c (Fmake_hash_table): Simplify the machine code slightly
35434         by using 0 rather than -1.
35435         * src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
35436         than a bitfield, for speed (the bitfield did not save space).
35437         (struct Lisp_Hash_Table.rehash_threshold): Now double rather than
35438         float, since the float caused unwanted rounding errors, e.g.,
35439         (hash-table-rehash-threshold (make-hash-table)) yielded
35440         0.800000011920929 instead of the correct 0.8.
35442 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
35444         * src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.
35446 2017-02-19  Eli Zaretskii  <eliz@gnu.org>
35448         Avoid aborts during loadup
35450         * src/emacs-module.c (syms_of_module):
35451         * src/image.c (xpm_make_color_table_h): Update calls to
35452         make_hash_table to adjust to a recent change in fns.c.
35453         * src/fns.c (make_hash_table):
35454         * src/lisp.h (make_hash_table): 4th arg is now of type double.
35456 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
35458         Rework connection local variables
35460         For connection local variables interface, `class' is renamed
35461         to `profile'.  All arguments `criteria' are a plist now.
35463         * doc/lispref/variables.texi (Connection Local Variables):
35464         Rewrite.
35466         * lisp/files-x.el (connection-local-profile-alist): Rename
35467         from `connection-local-class-alist'.  Adapt docstring.
35468         (connection-local-criteria-alist): Adapt docstring.
35469         (connection-local-normalize-criteria): New defun.
35470         (connection-local-get-profiles): Rename from
35471         `connection-local-get-classes'.  Rewrite.
35472         (connection-local-set-profiles): Rename from
35473         `connection-local-set-classes'.  Rewrite.
35474         (connection-local-get-profile-variables): Rename from
35475         `connection-local-get-class-variables'.  Rewrite.
35476         (connection-local-set-profile-variables): Rename from
35477         `connection-local-set-class-variables'.  Rewrite.
35478         (hack-connection-local-variables)
35479         (hack-connection-local-variables-apply)): Rewrite.
35480         (with-connection-local-profiles): Rename from
35481         `ith-connection-local-classes'.  Rewrite.
35483         * lisp/net/tramp.el (tramp-set-connection-local-variables):
35484         Compute criteria.
35486         * lisp/net/tramp-cmds.el (tramp-bug):
35487         Use `connection-local-profile-alist'.
35489         * test/lisp/files-x-tests.el (files-x-test--variables1)
35490         (files-x-test--variables2, files-x-test--variables3)
35491         (files-x-test--variables4, files-x-test--criteria1)
35492         (files-x-test--criteria2): Make them a defconst.
35493         (files-x-test--application)
35494         (files-x-test--another-application, files-x-test--protocol)
35495         (files-x-test--user, files-x-test--machine): New defconst.
35496         (files-x-test--criteria): New defvar.
35497         (files-x-test--criteria3): Remove.
35498         (files-x-test-connection-local-set-profile-variables):
35499         Rename from `files-x-test-connection-local-set-class-variables'.
35500         Rewrite.
35501         (files-x-test-connection-local-set-profiles): Rename from
35502         `files-x-test-connection-local-set-classes'.  Rewrite.
35503         (files-x-test-hack-connection-local-variables-apply)  Rewrite.
35504         (files-x-test-with-connection-local-profiles): Rename from
35505         `files-x-test-with-connection-local-classes'.  Rewrite.
35507 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
35509         Set up combination and random item location
35511         * lisp/play/dunnet.el (dun-combination): Make defconst.
35512         (tloc, tcomb): Remove.  Replace with a top-level form.
35514 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
35516         Replace movement variables with an alist and accessor
35518         * lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
35519         (northwest, southwest, up, down, in, out): Remove.
35520         (dun-movement-alist): New constant.
35521         (dun-movement): New function.
35522         (dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
35523         (dun-down, dun-in, dun-out): Use a symbol for indicating movement.
35524         (dun-move, dun-special-move): Translate movement symbol to an
35525         enumeration.
35527 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
35529         Change top-level setq forms to defvar or defconst
35531         Also collect some code onto fewer lines and reindent.
35532         * lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
35533         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
35534         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
35535         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
35536         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
35537         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
35538         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
35539         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
35540         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
35541         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
35542         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
35543         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
35544         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
35545         (dun-diggables, dun-room-shorts, dun-endgame-questions): Change
35546         declaration to use defvar or defconst.
35547         (dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
35548         (dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
35549         dun-verblist.  Those are now constants and the byte compiler doesn't
35550         allow defconsts in lambda lists.
35552 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
35554         Move all dunnet globals up to the top
35556         * lisp/play/dunnet.el: Adjust comments to reflect moved forms.
35557         (dun-visited, dun-current-room, dun-exitf):
35558         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
35559         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
35560         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
35561         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
35562         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
35563         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
35564         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
35565         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
35566         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
35567         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
35568         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
35569         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
35570         (dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
35571         top of the file, before any uses.
35573 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
35575         Fix bug#25788
35577         * lisp/net/tramp.el (tramp-autoload-file-name-handler):
35578         Do not load tramp.el just for "/".  (Bug#25788)
35580 2017-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
35582         Fix fringe bitmap initialization on MS-Windows
35584         * src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
35585         of fb->bits.  (Bug#25673)
35587 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
35589         Change type of `rehash_threshold' and `pure' fields in hash-tables
35591         * src/lisp.h (struct Lisp_Hash_Table): Change type of
35592         `rehash_threshold' and `pure' fields and move them after `count'.
35593         * src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
35594         (Fmake_hash_table, Fhash_table_rehash_threshold):
35595         * src/category.c (hash_get_category_set):
35596         * src/xterm.c (syms_of_xterm):
35597         * src/profiler.c (make_log):
35598         * src/print.c (print_object):
35599         * src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.
35601 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
35603         Use 'char *FOO' instead of 'char* FOO'
35605 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
35607         More json.el changes
35609         * lisp/json.el (json-read-keyword, json-read-number, json-read-object):
35610         (json-read-array): Just use = for char comparison.
35612 2017-02-18  Noam Postavsky  <npostavs@gmail.com>
35614         * lisp/woman.el (woman): Fix docstring prefix arg description.
35616 2017-02-18  Alan Mackenzie  <acm@muc.de>
35618         Fix edebug-spec on c-lang-defvar.
35620         This allows c-lang-defvars with the symbol 'dont-doc in the place of the
35621         optional documentation to be instrumented for edebug.
35623         lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
35624         c-lang-defvar.
35625         (c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
35626         'dont-doc.
35628 2017-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
35630         Lists used as plists now have to be an even length
35632         * lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
35633         (eww-process-text-input): Not here, either.
35635 2017-02-18  Michael Albinus  <michael.albinus@gmx.de>
35637         Unset `non-essential' in Tramp when not needed anymore
35639         * doc/misc/trampver.texi:
35640         * lisp/net/trampver.el: Change version to "2.3.2-pre".
35642         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
35643         Use `tramp-completion-mode-p'.
35645         * lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
35646         when file name doesn't match `tramp-completion-file-name-regexp'.
35648 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
35650         Automatically regenerate emacs.1 and *.rc files
35652         * Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
35653         non-Makefile files produced by config.status.
35654         ($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
35655         their targets are regenerated when the source changes.
35657 2017-02-18  Alan Mackenzie  <acm@muc.de>
35659         Set the syntax table in AWK Mode.
35661         This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
35662         It fixes bug #25722.
35664         lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
35666 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
35668         Mention "editor" in Emacs man page header
35670         * doc/man/emacs.1.in: Mention "editor" in the header line.
35671         (Bug#25771, Bug#25779)
35673 2017-02-18  Göktuğ Kayaalp  <self@gkayaalp.com>
35675         Fix Turkish language environment setup
35677         * lisp/language/european.el ("Turkish"): Fix a typo in Turkish
35678         language setup.  (Bug#25763)
35680 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
35682         Support 24-bit direct colors on text terminals
35684         * src/term.c (init_tty): Use 24-bit terminal colors if corresponding
35685         foreground and background functions are present in terminal type
35686         definition.
35687         * src/tparam.h: Define prototype for tigetstr.
35689         * lisp/term/tty-colors.el (tty-color-define): Convert color palette
35690         index to pixel value on 16.7M color terminals.
35691         (tty-color-24bit): New function to convert color palette index to
35692         pixel value on 16.7M color terminals.
35693         (tty-color-desc): Don't approximate colors on 16.7M color terminals.
35694         * lisp/term/xterm.el (xterm-register-default-colors): Define all named
35695         TTY colors on 16.7M color terminals.
35697         * doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
35698         enable direct color TTY mode.
35699         * etc/NEWS: Mention direct color TTY mode and point to FAQ.
35701 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
35703         Remove unused TN_max_pairs field
35705         * src/termchar.h (tty_display_info): Remove TN_max_pairs field,
35706         describing maximum number of terminal background/foreground color pairs.
35707         * src/term.c (tty_default_color_capabilities, tty_setup_colors)
35708         (init_tty): Remove references to TN_max_pairs.
35710 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
35712         Improve documentation of query-replace-from-to-separator
35714         * doc/emacs/search.texi (Query Replace): Document the meaning of
35715         the nil value of query-replace-from-to-separator.  (Bug#25482)
35717 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
35719         Document problems with nerd-fonts
35721         * etc/PROBLEMS (fonts): Describe the potential problems with
35722         nerd-fonts that cause slow display.  (Bug#25697)
35724 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
35726         Improve commentary for a recent change in keyboard.c
35728         * src/keyboard.c (Fset__this_command_keys): Add a comment about
35729         the magic 248 value.  (Bug#25612)
35731 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
35733         Avoid infloop in rect.el
35735         * lisp/rect.el (rectangle--*-char): Avoid inflooping when called
35736         with argument N whose absolute value is greater than 1.  (Bug#25773)
35738 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
35740         Remove annoying warnings about let-binding
35742         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
35743         Remove warnings about making symbols local while let-bound.
35744         (Bug#25561)
35746 2017-02-18  Hong Xu  <hong@topbug.net>
35748         Avoid errors when flyspell-generic-check-word-predicate is a lambda.
35750         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
35751         functionp instead of fboundp on
35752         flyspell-generic-check-word-predicate (Bug#25765).
35754 2017-02-18  Glenn Morris  <rgm@gnu.org>
35756         Remove the build number from emacs-version variable
35758         It's a largely internal detail that can confuse users.  (Bug#25590)
35759         * lisp/version.el (emacs-build-number): New constant.
35760         (emacs-version): Use emacs-build-number.
35761         * lisp/loadup.el (top-level): When dumping, increment
35762         emacs-build-number rather than emacs-version.
35763         * src/emacs.c (emacs-version): Doc fix.
35764         * doc/lispref/intro.texi (Version Info): Update emacs-version details.
35765         Mention emacs-build-number.
35766         * lisp/gnus/gnus-util.el (gnus-emacs-version):
35767         * lisp/mail/emacsbug.el (report-emacs-bug):
35768         * admin/admin.el (set-version): Update for emacs-version change.
35770 2017-02-18  Glenn Morris  <rgm@gnu.org>
35772         Ensure that user-mail-address always has a value
35774         * lisp/startup.el (user-mail-address): Initialize in the normal way.
35775         (command-line): Reset user-mail-address if needed using
35776         standard custom machinery.
35777         * lisp/mail/feedmail.el (feedmail-fiddle-from):
35778         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
35779         * lisp/mail/rmailsum.el (rmail-header-summary):
35780         Simplify now that user-mail-address is always set.
35782 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
35784         Turn on lexical-binding in ruby-mode
35786         * lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
35787         (ruby-font-lock-syntax-table): Use make-syntax-table.
35788         (ruby-mode): 'define-derived-mode' writes the keys for us.
35790 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
35792         Turn on lexical-binding in elint.el
35794         * lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
35795         (elint-running, elint-current-pos): Move these dynamic vars to toward
35796         the top of the file.
35797         (elint-check-quote-form): Ignore unused argument.
35798         (elint-check-conditional-form): Remove unused binding.
35800 2017-02-18  Gemini Lasswell  <gazally@runbox.com>
35802         * lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)
35804 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
35806         Enable erc-accidental-paste-threshold-seconds by default
35808         * lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
35809         default to 0.2 (Bug#25709).
35811 2017-02-17  Michal Nazarewicz  <mina86@mina86.com>
35813         Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
35815         The [5ec3a584: Generate upcase and downcase tables from Unicode data]
35816         commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
35817         one created with ‘make extraclean’), see
35818         <http://hydra.nixos.org/build/48774928>.
35820         The failure was caused by characters.el trying to read Unicode
35821         property tables which aren’t available so early in the build process.
35823         Wrap the part that requires Unicode property tables in a condition
35824         checking if those are available.  If they aren’t they case and syntax
35825         tables won’t be fully set but later on, the characters.el file will be
35826         evaluated again and this time with Unicode properties available so
35827         final Emacs ends up with the exact same case and syntax tables.
35829 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
35831         mm-add-meta-html-tag: Improve regexp
35833         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
35834         Improve regexp to search html meta tag.
35836 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
35838         mm-shr: Prefer charset specified in html meta tag
35840         * lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
35841         meta tag than mail-parse-charset in the case there is no charset spec
35842         in MIME header.
35844 2017-02-17  Glenn Morris  <rgm@gnu.org>
35846         Stop duplicating some custom-types in message.el
35848         * lisp/gnus/message.el (user-mail-address, user-full-name):
35849         No need to re-specify custom-type.
35851 2017-02-17  Glenn Morris  <rgm@gnu.org>
35853         Whitespace trivia in dunnet.el
35855         * lisp/play/dunnet.el (dun-special-object, dun-put-objs)
35856         (dun-rlogin-endgame): Whitespace trivia.
35858 2017-02-17  Glenn Morris  <rgm@gnu.org>
35860         Explicit error on changing case of negative integers
35862         * src/casefiddle.c (casify_object): Reject negative integers:
35863         Emacs characters are positive integers.  (Bug#25684)
35865 2017-02-17  Dmitry Gutov  <dgutov@yandex.ru>
35867         Fix buffers update in vc-retrieve-tag
35869         * lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
35870         `repository', use the repository root and pass it to
35871         vc-resynch-buffer (bug#25714).
35873 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
35875         * src/buffer.h: Fix indenting.
35877 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
35879         Add sanity checks for Bswitch hash tables
35881         * src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
35882         Check that operand is a hash table and hashes to ints.
35884 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
35886         * src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.
35888 2017-02-16  Vibhav Pant  <vibhavp@gmail.com>
35890         bytecomp.el: Avoid unnecessary calculation for jump table addresses.
35892         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
35893           redundant operations while calculating the correct jump addresses
35894           from TAGs in jump tables.
35896 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
35898         Minor changes in json.el
35900         * lisp/json.el (json-advance): Simpler docstring.
35901         (json-read-escaped-char): Use xdigit subform in rx expression.
35902         (json-read-string): Just use = for char comparison.
35904 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
35906         Don't expand body inside a let-binding when there are no bindings
35908         * lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
35909         is non-nil.
35911 2017-02-16  Glenn Morris  <rgm@gnu.org>
35913         Handle user-mail-address being the empty string
35915         * lisp/mail/feedmail.el (feedmail-fiddle-from):
35916         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
35917         * lisp/mail/rmailsum.el (rmail-header-summary):
35918         Belated update for 2002-09-29 startup.el change, 680ebfa, where
35919         the value of user-mail-address during initialization was changed
35920         from nil to the empty string.
35922 2017-02-15  Michael Albinus  <michael.albinus@gmx.de>
35924         Continue to fix bug#25607
35926         * lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
35927         (ido-file-name-all-completions-1): Do not bind `non-essential'.
35929         * lisp/net/tramp.el: (tramp-completion-file-name-handler):
35930         Improve autoloaded version.
35931         (tramp-completion-file-name-handler): Remove old compat code.
35932         Check only for `tramp-completion-mode-p'.
35933         (tramp-completion-mode-p): Autoload.  Do not check any longer
35934         for `last-input-event'.
35935         (tramp-completion-handle-expand-file-name): Simplify.  (Bug#25607)
35937 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
35939         casing: don’t assume letters are *either* upper- or lower-case  (bug#24603)
35941         A compatibility digraph characters, such as Dž, are neither upper- nor
35942         lower-case.  At the moment however, those are reported as upper-case¹
35943         despite the fact that they change when upper-cased.
35945         Stop checking if a character is upper-case before trying to up-case it
35946         so that title-case characters are handled correctly.  This fixes one of
35947         the issues mentioned in bug#24603.
35949         ¹ Because they change when converted to lower-case.  Notice an asymmetry
35950           in that for a character to be considered lower-case it must not be
35951           upper-case (plus the usual condition of changing when upper-cased).
35953         * src/buffer.h (upcase1): Delete.
35954         (upcase): Change to upcase character unconditionally just like downcase
35955         does it.  This is what upcase1 was.
35957         * src/casefiddle.c (casify_object, casify_region): Use upcase instead
35958         of upcase1 and don’t check !uppercasep(x) before calling upcase.
35960         * src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
35961         downcase(x) and see if it changed.
35963         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
35964         casefiddle-tests-casing): Update test cases which are now passing.
35966 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
35968         Generate upcase and downcase tables from Unicode data  (bug#24603)
35970         Use Unicode data to generate case tables instead of mostly repeating
35971         them in lisp code.  Do that in a way which maps ‘Dz’ (and similar)
35972         digraph to ‘dz’ when down- and ‘DZ’ when upcasing.
35974         https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
35975         changes to syntax table and case tables introduced by this commit.
35977         * lisp/international/characters.el: Remove case-pairs defined with
35978         explicit Lisp code and instead use Unicode character properties.
35980         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
35981         casefiddle-tests-casing): Update test cases which are now working
35982         as they should.
35984 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
35986         Add tests for casefiddle.c  (bug#24603)
35988         Fixes cases marked FIXME upcoming in followup commits.
35990         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
35991         casefiddle-tests-case-table, casefiddle-tests-casing-character,
35992         casefiddle-tests-casing, casefiddle-tests-casing-byte8,
35993         casefiddle-tests-casing-byte8-with-changes): New tests.
35994         (casefiddle-tests--test-casing): New helper function for runnig
35995         some of the tests.
35997 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
35999         oldXMenu: add missing #include <string.h>
36001         Some of the files in oldXMenu use functions from string.h without
36002         including that header which results in compile warnings:
36004                 ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
36005                 ChgPane.c:46:20: warning: incompatible implicit declaration of
36006                         built-in function ‘strlen’
36007                 ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
36008                 ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
36009                         function ‘strlen’
36010                 Create.c:220:5: warning: implicit declaration of function ‘strcmp’
36011                 InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
36012                 InsPane.c:65:20: warning: incompatible implicit declaration of
36013                         built-in function ‘strlen’
36014                 InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
36015                 InsSel.c:68:20: warning: incompatible implicit declaration of built-in
36016                         function ‘strlen’
36017                 InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’
36019         Add the necessary ‘#include <string.h>’.
36021         oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
36022         oldXMenu/InsSel.c: add missing #include <string.h>
36024 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
36026         Fixup recent rmail patch
36028         * lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
36030 2017-02-15  Richard Stallman  <rms@gnu.org>
36032         Rmail fix
36034         * lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
36035         as element 4 of the value.
36036         (rmail-epa-decrypt): Take the text to insert from that element.
36038 2017-02-15  Vibhav Pant  <vibhavp@gmail.com>
36040         bytecomp-tests.el: Store all test forms in one constant.
36042         * test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
36043         in a single constant (byte-opt-testsuite-arith-data), add new forms
36044         which generate lapcode with adjacent/redundant tags.
36046 2017-02-15  Glenn Morris  <rgm@gnu.org>
36048         Small lispref edit
36050         * doc/lispref/os.texi (User Identification):
36051         Remove extraneous detail about user-mail-address.
36053 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
36055         Document fill-separate-heterogeneous-words-with-space (bug#25685)
36057         * doc/lispref/text.texi (Filling):
36058         Document fill-separate-heterogeneous-words-with-space (bug#25685).
36060 2017-02-15  Noam Postavsky  <npostavs@gmail.com>
36062         Test comment-multi-line = nil auto fill case too
36064         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
36065         `comment-multi-line' both nil and non-nil.
36066         * lisp/newcomment.el (comment-multi-line): Mark safe if it's a
36067         boolean.
36068         * etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
36070 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
36072         Don't delete leading and trailing space from CJK word (bug#25685)
36074         * lisp/textmodes/fill.el (fill-delete-newlines):
36075         Don't delete leading and trailing space from CJK word.
36076         (fill-separate-heterogeneous-words-with-space):
36077         New user option that controls it (bug#25685).
36079 2017-02-15  Juri Linkov  <juri@linkov.net>
36081         ‘M-s w RET word C-s’ repeats incremental search.
36083         * lisp/isearch.el (isearch-new-nonincremental): New variable.
36084         (with-isearch-suspended): Bind isearch-new-nonincremental to
36085         isearch-nonincremental, and restore it afterwards.
36086         (isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
36087         Set isearch-new-nonincremental to nil.  (Bug#25562)
36089 2017-02-14  Tom Tromey  <tom@tromey.com>
36091         Make vc-git detect conflict state for vc-dir
36093         * lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
36094         (vc-git-dir-status-update-file): New function.
36095         (vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
36096         vc-git-dir-status-state; add 'ls-files-conflict state.
36097         (vc-git-dir-status-files): Create a vc-git-dir-status-state.
36099 2017-02-14  Vibhav Pant  <vibhavp@gmail.com>
36101         byte-opt: Replace merged tags in jump tables too. (bug#25716)
36103         * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
36104           adjacent tags, make sure that the old tag is replaced in all jump
36105           tables, if any. This fixes the bytecode VM jumping to the wrong
36106           address in compiled cond forms where the body of a clause was a loop
36107           of any sort.
36109 2017-02-14  Glenn Morris  <rgm@gnu.org>
36111         Remove overly broad element from default mail-dont-reply-to-names
36113         * lisp/mail/mail-utils.el (mail-dont-reply-to):
36114         Do not include just "user@" in mail-dont-reply-to-names, and simplify.
36115         Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
36116         * lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
36117         * doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
36119 2017-02-14  Juri Linkov  <juri@linkov.net>
36121         * etc/NEWS: Mention query-replace-from-to-separator.  (Bug#25482)
36123 2017-02-13  Arash Esbati  <arash@gnu.org>
36125         Match all characters in optional argument of \documentclass
36127         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
36128         characters in optional argument containing name of the main file.
36130 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
36132         Merge branch 'master' into feature/byte-switch
36134 2017-02-13  Katsumi Yamaoka  <yamaoka@jpl.org>
36136         Fix non-ASCII text encoding (bug#25658)
36138         * lisp/gnus/mm-bodies.el (mm-encode-body):
36139         Fix non-ASCII text encoding (bug#25658).
36141 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
36143         test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.
36145 2017-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
36147         * doc/lispref/modes.texi (Derived Modes): Make example more idiomatic
36149 2017-02-13  Glenn Morris  <rgm@gnu.org>
36151         Fix recent bootstrap issue by moving string-to-list
36153         * lisp/international/mule-util.el (string-to-list, string-to-vector):
36154         Move from here...
36155         * lisp/subr.el (string-to-list, string-to-vector): ...to here.
36156         The implementation is trivial and at least string-to-list
36157         has ended up being needed early during bootstrap.
36159 2017-02-13  Glenn Morris  <rgm@gnu.org>
36161         Doc fixes related to mail-host-address
36163         * lisp/startup.el (mail-host-address): Doc fix.
36164         * doc/lispref/os.texi (System Environment):
36165         Remove extraneous details of mail-host-address.
36167 2017-02-13  Glenn Morris  <rgm@gnu.org>
36169         Simplify time-stamp mail host usage
36171         * lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
36172         (time-stamp-string-preprocess): Handle "h" (mail host) directly.
36174 2017-02-13  Glenn Morris  <rgm@gnu.org>
36176         Doc fix for vhdl-mode re mail-host-address
36178         * lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
36179         (mail-host-address): Do not add to vhdl-related custom group,
36180         since vhdl-template-replace-header-keywords doesn't use it.
36182 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
36184         Substitute leading $HOME/ in xdg-user-dirs
36186         * lisp/xdg.el (xdg--substitute-home-env): New function.
36187         (xdg--user-dirs-parse-line): Use it.
36188         (xdg-user-dir): Expand ~/ in xdg-user-dirs values.
36190 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
36192         * lisp/buff-menu.el: Turn on lexical-binding.
36194 2017-02-13  Juri Linkov  <juri@linkov.net>
36196         * lisp/replace.el (query-replace-from-to-separator): Move propertize
36198         and char-displayable-p test to query-replace-read-from.
36199         Add choice nil to disable this feature.
36200         (query-replace-read-from): Don't reevaluate custom setting.
36201         Use char-displayable-p to test the first non-whitespace character
36202         in query-replace-from-to-separator, use " -> " when fails.
36203         Add prompt for the case when separator is nil but
36204         query-replace-defaults is non-nil.
36205         Remove unused test for regexp-flag.
36206         Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
36208 2017-02-13  Karl Fogel  <kfogel@red-bean.com>
36210         Convert more uses of `looking-at' to `following-char'
36212         This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
36213         (commit 91478f46238a) with more of the same.
36215         * lisp/bookmark.el (bookmark-send-edited-annotation):
36216           (bookmark-bmenu-execute-deletions): Replace instances of looking-at
36217           with char comparisons using following-char.
36219 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
36221         Fix typos in tests for lax-plist-get etc.
36223         Problem reported by Eli Zaretskii (Bug#25606#62).
36224         * test/src/fns-tests.el (test-cycle-lax-plist-get)
36225         (test-cycle-plist-put, test-cycle-lax-plist-put):
36226         Fix tests to match behavior.
36228 2017-02-12  Michael Albinus  <michael.albinus@gmx.de>
36230         Fix bug#25607
36232         * lisp/net/tramp.el (tramp-completion-file-name-handler):
36233         Improve autoloaded version.
36234         (tramp-autoload-file-name-handler): Avoid recursive load.
36235         (tramp-completion-handle-expand-file-name): Handle empty NAME.
36236         (Bug#25607)
36238 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
36240         Remove server-buffer-clients string from minor-mode-alist
36242         * lisp/server.el: Don't put an element for server-buffer-clients into
36243         minor-mode-alist. (Bug#20201)
36245 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
36247         Nix some useless uses of looking-at, looking-back
36249         * lisp/allout.el (allout-kill-topic):
36250         (allout-next-topic-pending-encryption):
36251         * lisp/bookmark.el (bookmark-kill-line):
36252         * lisp/cus-edit.el (custom-save-variables, custom-save-faces):
36253         * lisp/cus-theme.el (custom-theme-write-variables):
36254         (custom-theme-write-faces):
36255         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
36256         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
36257         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
36258         (checkdoc-interactive-ispell-loop):
36259         (checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
36260         (checkdoc-this-string-valid-engine):
36261         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
36262         * lisp/emulation/viper-cmd.el (viper-backward-indent):
36263         * lisp/image-dired.el (image-dired-delete-char):
36264         * lisp/simple.el (kill-visual-line): Replace instances of looking-at,
36265         looking-back with char comparisons using following-char, preceding-char.
36267 2017-02-12  Eli Zaretskii  <eliz@gnu.org>
36269         Clarify what is the "cursor"
36271         * doc/lispref/windows.texi (Window Point): Clarify the notion of
36272         "cursor".
36274 2017-02-11  Tom Tromey  <tom@tromey.com>
36276         Recognize JS regexp literals more correctly
36278         Bug#25529
36279         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
36280         constant.
36281         (js-syntax-propertize-regexp): Use it.  Remove "end" argument.
36282         (js--syntax-propertize-regexp-syntax-table): Remove.
36283         (js-syntax-propertize): Update.
36284         * test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
36285         New test.
36287 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
36289         src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.
36291         This avoids using XUINT every time while comparing it with
36292         HASH_HASH (h, i), replacing it with EQ.
36294 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
36296         src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.
36298 2017-02-11  Tom Tromey  <tom@tromey.com>
36300         Fix bug in css--mdn-find-symbol
36302         * lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
36303         before skipping word characters.
36304         test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
36305         regression test.
36307 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
36309         src/bytecode.c: Add optional sanity check for jump tables.
36311         * src/bytecode.c (exec_byte_code): When sanity checks are enabled,
36312           check that the jump table's size is equal to it's count.
36314 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
36316         Merge branch 'master' into feature/byte-switch
36318         * src/bytecode.c: Refactor to follow GNU coding standards
36320 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
36322         Fix handling of XBM images on MS-Windows
36324         * src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
36325         'nbytes' when inverting XBM data bits.  (Bug#25661)
36327 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
36329         Fix handling of PBM data
36331         * src/image.c (pbm_load): Handle PBM data with no blanks between
36332         individual pixel values correctly.  (Bug#25660)
36334 2017-02-10  Noam Postavsky  <npostavs@gmail.com>
36336         Fix warnings in debug tracing code
36338         * src/xdisp.c (dump_glyph, dump_glyph_string):
36339         * src/xfaces.c (dump_realized_face): Cast arguments or adjust format
36340         specifiers to match signedness.
36342 2017-02-10  Sam Steingold  <sds@gnu.org>
36344         Extract grep-find-ignored-directories processing from rgrep-default-command
36346         (rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
36347         Some Emacs packages use `grep-find-ignored-directories' to ignore some
36348         directories, so will use this function instead of custom code.
36349         (rgrep-default-command): Use `rgrep-find-ignored-directories'.
36351 2017-02-10  Vibhav Pant  <vibhavp@gmail.com>
36353         src/bytecode.c: Avoid comparing values unnecessarily in Bswitch
36355         * src/bytecode.c: (exec_byte_code) While linear searching the jump
36356           table, compare the value's hash table first to avoid calling
36357           h->test.cmpfn every time.
36359 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
36361         Fix a few integer-overflow glitches
36363         * src/composite.c (composition_compute_stop_pos, composition_reseat_it):
36364         * src/dispextern.h (struct composition_it.rule_idx):
36365         * src/keyboard.c (Fset__this_command_keys):
36366         * src/xwidget.c (webkit_js_to_lisp):
36367         Don’t assume object sizes fit in ‘int’.
36368         * src/xwidget.c (Fxwidget_resize):
36369         Don’t assume Emacs integers fit in ‘int’.
36371 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
36373         Fix a bug with displaying an image after a TAB
36375         * src/xdisp.c (display_line): Handle TAB at end of screen line
36376         specially only when we are displaying characters.  (Bug#25662)
36378 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
36380         Improve commentary in lisp.h
36382         * src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
36383         object is discouraged.
36385 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
36387         Move cyclic tests to fns-tests.el
36389         * test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
36390         (test-cycle-length, test-cycle-safe-length, test-cycle-member)
36391         (test-cycle-memq, test-cycle-memql, test-cycle-assq)
36392         (test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
36393         (test-cycle-delq, test-cycle-delete, test-cycle-reverse)
36394         (test-cycle-plist-get, test-cycle-lax-plist-get)
36395         (test-cycle-plist-member, test-cycle-plist-put)
36396         (test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
36397         New tests.
36398         * test/manual/cyclic-tests.el: File deleted.
36400 2017-02-10  Gemini Lasswell  <gazally@runbox.com>
36402         Fix instrumenting code with propertized strings in Edebug
36404         * lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
36405         'read' to decide what is and isn't a syntax error.  (Bug#25068)
36407 2017-02-10  Vladimir Panteleev  <vladimir@thecybershadow.net>
36409         Improve fontification in bat-mode
36411         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
36412         word and symbol constituents when looking for variable names
36413         to fontify; also, correct the syntax table and mark the equal
36414         sign (=) character as punctuation.  Improve fontification
36415         accuracy of iteration/positional variables.
36416         (bat-mode): Set comment-start-skip.  (Bug#25541)
36418         * test/lisp/progmodes/bat-mode-tests.el: New file, tests for
36419         bat-mode.el.
36421 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
36423         Restore special setting of this-command-keys by M-x
36425         It was lost when execute-extended-command was reimplemented in Lisp.
36427         * src/keyboard.c (Fset__this_command_keys): New function.
36428         (syms_of_keyboard): Defsubr it.
36430         * lisp/simple.el (execute-extended-command): Set this-command-keys
36431         as novice.el expects.  (Bug#25612)
36433 2017-02-09  Juri Linkov  <juri@linkov.net>
36435         * lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
36437         to t to display "Pending" in the search prompt for lax
36438         word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
36439         when 'bound' is non-nil.
36440         (word-search-regexp, isearch-symbol-regexp): Don't depend on lax
36441         at the beginning of regexp (bug#22589).
36443         * lisp/info.el (Info-isearch-search):
36444         Use isearch--lax-regexp-function-p.
36446         * doc/emacs/search.texi (Word Search, Symbol Search):
36447         Mention "Pending" prompt for lax word/symbol search.
36449 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
36451         src/bytecode.c (exec_byte_code): Remove unneeded assert.
36453         bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE
36455 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
36457         bytecode.c (exec_byte_code): don't check hash code in linear search.
36459         * src/bytecode.c (exec_byte_code): Don't check that the hash code is
36460           not nil when linear scanning the jump table. Hash tables for are
36461           declared with :size as the exact number of cases, so each entry i
36462           should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
36463           check.
36465 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
36467         Ibuffer: Update mode documentation
36469         * lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.
36471 2017-02-09  Steven Allen  <steven@stebalien.com>  (tiny change)
36473         Fix environment variable for xdg-data-dirs
36475         * lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS
36477 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
36479         Ibuffer: Erase output buffer before shell commands
36481         * lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
36482         BEFORE and AFTER; they are forms to run before/after the operation.
36483         * lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
36484         New defun; if shell-command-dont-erase-buffer is nil, then
36485         erase shell command output buffer.
36486         (ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.
36488 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
36490         Ibuffer: Don't truncate shell command output
36492         * lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
36493         (ibuffer-do-shell-command-pipe-replace)
36494         Use 'call-shell-region' (Bug#22679).
36495         (ibuffer-do-shell-command-file): Use call-process-shell-command.
36496         If FILE, the file that the buffer object is visiting,
36497         exists and the buffer is up-to-date, then use
36498         FILE instead of creating a temporary file (Bug#22679).
36500 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
36502         Improve byte-switch execution.
36504         * lisp/emacs-lisp/byte-opt.el,
36505           lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
36506           (byte-compile-lapcode): Calculate the actual jump address while
36507           compiling, store it in the jump table.
36509         * src/bytecode.c: Jump to the looked up value directly, do a linear
36510           search when the number of elements is <= 5.
36512 2017-02-09  Noam Postavsky  <npostavs@gmail.com>
36514         Make sure eshell pipelines don't drop data
36516         * lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
36517         handling output of the process, make sure to close the pipes only later,
36518         so that the next process in the pipeline recieves EOF only after getting
36519         all its input (Bug#25549).
36521 2017-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
36523         Make mm-shr use mail-parse-charset by default
36525         * lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
36526         This helps an html message with no charset spec to be decoded.
36528 2017-02-08  Stephen Berman  <stephen.berman@gmx.net>
36530         describe-char: unambiguous name for inserting ASCII 7
36532         * lisp/descr-text.el (describe-char): Make the input
36533         suggestion for inserting ASCII character 7 by name use the
36534         unambiguous name "BELL (BEL)" (bug#25641).
36536 2017-02-08  Michael Albinus  <michael.albinus@gmx.de>
36538         Modify suppressing `vc-refresh-state' in filenotify-tests.el
36540         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
36541         Use an advice rather than an alias for suppressing `vc-refresh-state'.
36543 2017-02-08  Noam Postavsky  <npostavs@gmail.com>
36545         Disable native completion for ipython (Bug#25067)
36547         * lisp/progmodes/python.el:
36548         (python-shell-completion-native-disabled-interpreters): Add "ipython".
36550 2017-02-07  Michael Albinus  <michael.albinus@gmx.de>
36552         Suppress undesired error messages in filenotify-tests.el
36554         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
36555         Suppress `vc-refresh-state', it produces undesired error messages.
36557 2017-02-07  Eli Zaretskii  <eliz@gnu.org>
36559         Fix a typo in ada-mode manual
36561         * doc/misc/ada-mode.texi (Project file variables): Add a missing
36562         right bracket.  Reported by Jean-Christophe Helary
36563         <jean.christophe.helary@gmail.com>.
36565 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
36567         Ensure that Gnus bugs show up in the Emacs tracker
36569         * lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
36570         package spec.
36572 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
36574         Revert "Don't tag Gnus bugs with "gnus""
36576         This reverts commit b6fa58072304c2a24f1fe8a0e06a4739a7f8211b.
36578         The debbugs syntax requires a package name
36580 2017-02-07  Vibhav Pant  <vibhavp@gmail.com>
36582         Add tests for checking byte-switch code.
36584         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
36585           test byte-switch bytecode.
36587 2017-02-07  Mark Oteiza  <mvoteiza@udel.edu>
36589         Add xdg library
36591         * etc/NEWS: Mention new library.
36592         * lisp/xdg.el: New file.
36594 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
36596         Do not trick info/dir’s timestamp
36598         * Makefile.in (${srcdir}/info/dir): When making this file, do not
36599         do anything special about its timestamp.  Previously this rule
36600         used move-if-change, which meant that this file’s timestamp could
36601         end up being older than the files it depends on, and this caused
36602         ‘make --question info’ to fail, which caused ‘make-dist’ to fail
36603         now that ‘make-dist’ invokes ‘make --question info’.
36605 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
36607         Make FOR_EACH_TAIL more like other FOR_EACH macros
36609         See comments by Stefan Monnier in:
36610         https://lists.gnu.org/r/emacs-devel/2017-02/msg00181.html
36611         and by Eli Zaretskii in:
36612         https://lists.gnu.org/r/emacs-devel/2017-02/msg00207.html
36613         * src/fns.c (internal_equal): Do not bypass check for depth
36614         overflow when tail-recursing via a dotted list tail or an overlay
36615         plist, to avoid a rare infloop.
36616         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
36617         arg, and update it at each iteration, rather than have callers
36618         access it.tail.  All callers changed.
36619         (FOR_EACH_TAIL): Do not check for dotted lists, as this is now
36620         the caller’s responsibility.  All callers changed.
36621         (FOR_EACH_TAIL_CONS): Remove.  All callers changed.
36622         (struct for_each_tail_internal.tail): Remove; no longer needed.
36623         (FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
36624         arg each time through the loop.  All callers changed.
36626 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
36628         Port to clang 3.8.0
36630         It does not allow a for-loop's control var to be an anonymous struct.
36631         * src/lisp.h (struct for_each_tail_internal): New type.
36632         (FOR_EACH_TAIL_INTERNAL): Use it.
36634 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
36636         Add cyclic-list tests
36638         * test/manual/cycle-tests.el: New file (Bug#25606).
36640 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
36642         FOR_EACH_TAIL now checks for quit
36644         As per Eli Zaretskii (Bug#25606#20).  Although these calls to
36645         maybe_quit are unnecessary in practice, Eli was not convinced
36646         that the calls are unnecessary.
36647         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
36648         Call maybe_quit every so often.
36649         (FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT.  All callers changed.
36651 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
36653         Signal list cycles in ‘length’ etc.
36655         Use macros like FOR_EACH_TAIL instead of maybe_quit to
36656         catch list cycles automatically instead of relying on the
36657         user becoming impatient and typing C-g (Bug#25606).
36658         * src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
36659         (Frassoc, Fdelete, Freverse):
36660         Use FOR_EACH_TAIL instead of maybe_quit.
36661         (Fnreverse): Use simple EQ to check for circular list instead
36662         of rarely_quit, as this suffices in this unusual case.
36663         (Fplist_put, Flax_plist_put, Flax_plist_put):
36664         Use FOR_EACH_TAIL_CONS instead of maybe_quit.
36665         (internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
36666         of by-hand tail recursion that did not catch cycles.
36667         * src/fns.c (Fsafe_length, Fplist_get):
36668         * src/xdisp.c (display_mode_element):
36669         Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
36670         * src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
36671         (rarely_quit): Simply count toward USHRT_MAX + 1, since the
36672         fancier versions are no longer needed.
36673         (FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
36674         (FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
36675         mostly taken from FOR_EACH_TAIL.
36676         (FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.
36678 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
36680         Simplify use of FOR_EACH_TAIL
36682         * src/data.c (circular_list): New function.
36683         * src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
36684         decl, to eliminate the need for the args TAIL, TORTOISE and N, and
36685         to speed things up a bit on typical hosts with optimization.
36686         All uses changed (Bug#25605).
36688 2017-02-05  Simen Heggestøyl  <simenheg@gmail.com>
36690         * lisp/textmodes/css-mode.el: Require subr-x at compile time
36692 2017-02-05  Eli Zaretskii  <eliz@gnu.org>
36694         Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
36696         * doc/lispref/nonascii.texi (Text Representations): Clarify that
36697         'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
36698         'filepos-to-bufferpos' can lead to expensive and slow processing.
36700         * lisp/international/mule-util.el (filepos-to-bufferpos)
36701         (bufferpos-to-filepos): Doc fix.  (Bug#25626)
36703 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
36705         Merge remote-tracking branch 'origin/master' into feature/byte-switch
36707 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
36709         bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.
36711         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
36712           (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
36713           make sure that obj1/obj2 can be compared with `eq'.
36715 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
36717         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =.
36719 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
36721         bytecomp.el: Inline lapcode containing `byte-switch' correctly.
36723         * lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
36724           Restore value of byte-compile-depth after emitting a jump to a tag
36725           in a jump table, or default/done tags.
36726           Set the depth of final tags for byte-switch to nil after emitting
36727           any jumps to them.
36729 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
36731         byte-opt.el: Replace jump tables while decompiling correctly.
36733         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
36734           Don't make a copy of the constant vector, as it isn't used with
36735           the decompiled lapcode.
36736           Make sure that the correct lapcode pair/list is being modified while
36737           replacing the jump table.
36739 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
36741         bytecomp.el: Don't store non-keyword symbols in jump-tables.
36743         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
36744           nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
36745           table can only be used when comparing variables with constant values.
36747 2017-02-04  Tom Tromey  <tom@tromey.com>
36749         typo fix
36751         (css--colon-inside-selector-p): Fix typo in docstring.
36753 2017-02-04  Tom Tromey  <tom@tromey.com>
36755         Set comment-multi-line in js-mode
36757         Bug#6806:
36758         * lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
36759         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.
36761 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
36763         * test/manual/indent/scss-mode.scss: Fix indentation
36765 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
36767         Fix indentation of multiline CSS property values
36769         * lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
36770         to properties higher precedence.
36771         (css--colon-inside-selector-p, css--colon-inside-funcall): New
36772         functions for helping SMIE during tokenization.
36773         (css-smie--forward-token, css-smie--backward-token): Distinguish
36774         colons belonging to properties from other colons.
36776         * test/manual/indent/css-mode.css: Add tests for the changes above.
36778         * test/manual/indent/scss-mode.scss: Ditto.
36780 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
36782         Add tests for lisp/kmacro.el
36784         * test/lisp/kmacro-tests.el: New file.  (Bug#24939)
36786 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
36788         Fix autorevert-tests on MS-Windows
36790         * test/lisp/autorevert-tests.el
36791         (auto-revert-test02-auto-revert-deleted-file): Don't check that
36792         auto-revert-use-notify was reset to nil on w32.
36794 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
36796         New macro 'ert-with-message-capture'
36798         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
36799         (Bug#25158)
36801         * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
36802         (auto-revert-test00-auto-revert-mode)
36803         (auto-revert-test01-auto-revert-several-files)
36804         (auto-revert-test02-auto-revert-deleted-file)
36805         (auto-revert-test03-auto-revert-tail-mode)
36806         (auto-revert-test04-auto-revert-mode-dired):
36807         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
36808         ert-with-message-capture.
36810 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
36812         Avoid invalid read syntax errors due to 'ert-with-test-buffer'
36814         * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
36815         'declare' form.  (Bug#24722)
36817 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
36819         Fix a syntax error when evaluating pcase.el under Edebug
36821         * lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
36822         with an explicit 'put' form.  Suggested by Gemini Lasswell
36823         <gazally@runbox.com>.  (Bug#24717)
36825 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
36826             Eli Zaretskii  <eliz@gnu.org>
36828         Change edebug-max-depth from defconst to defcustom
36830         * lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
36831         (Bug#24713)
36833         * etc/NEWS: Mention edebug-max-depth.
36835         * doc/lispref/edebug.texi (Checking Whether to Stop): Mention
36836         edebug-max-depth and index it.  Add cross-references for
36837         max-lisp-eval-depth and max-specpdl-size.
36839 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
36841         Support options with embedded whitespace in 'dired-listing-switches'
36843         * lisp/dired.el (dired-listing-switches): Document how to quote
36844         options with embedded whitespace.
36846         * lisp/files.el (insert-directory): Use split-string-and-unquote
36847         to support dired-listing-switches that specify command-line
36848         options with embedded spaces.  (Bug#25485)
36850 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
36851             Noam Postavsky  <npostavs@users.sourceforge.net>
36853         Add tests for lisp/emacs-lisp/testcover.el
36855         * test/lisp/emacs-lisp/testcover-tests.el: New file.
36856         * test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.
36858 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
36860         Document 'save-some-buffers-default-predicate'
36862         * doc/lispref/files.texi (Saving Buffers):
36863         * doc/emacs/files.texi (Save Commands): Document
36864         save-some-buffers-default-predicate.
36866 2017-02-04  Richard Stallman  <rms@gnu.org>
36868         New defcustom 'save-some-buffers-default-predicate'
36870         * lisp/files.el (save-some-buffers-default-predicate): New defcustom.
36871         (save-some-buffers): Use it when PRED is nil or omitted.
36873 2017-02-04  Mark Oteiza  <mvoteiza@udel.edu>
36875         Rename to if-let* and when-let*
36877         Make the existing if-let and when-let aliases.
36878         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros.  Rewrite
36879         docstrings, incorporating that from let* and the existing if-let.
36880         (if-let, when-let, and-let*): Alias them.
36882 2017-02-03  Vibhav Pant  <vibhavp@gmail.com>
36884         Revert "Use maphash instead of cl-loop."
36886         This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.
36888 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
36890         Bump Emacs version to 25.2 RC1
36892         * README:
36893         * configure.ac:
36894         * msdos/sed2v2.inp:
36895         * nt/README.W32: Bump Emacs version.
36896         * lisp/ldefs-boot.el: Update.
36898 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
36900         * admin/make-tarball.txt: Add documentation regarding the release banner.
36902 2017-02-03  Tino Calancha  <tino.calancha@gmail.com>
36904         * CONTRIBUTE (Documenting your changes): Index new vars/commands in manual.
36906 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
36908         Re-port alloc.c to Solaris sparc and simplify
36910         alloc.c had bitrotted a bit, and used an undefined symbol
36911         stack_base when Emacs was built on Solaris sparc, leading to
36912         compilation failures.  Also, code related to __builtin_unwind_init
36913         was unnecessarily duplicated.  Fix the bitrot and remove some
36914         duplication.
36915         * src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
36916         is never defined.
36917         (test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
36918         Define a no-op dummy, to simplify use.
36919         (test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
36920         than in the caller, to simplify use.
36921         (stacktop_sentry): New type.
36922         (__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
36923         (SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
36924         (flush_stack_call_func, Fgarbage_collect): Use it.
36925         (init_alloc): Omit unnecessary initialization.
36926         After dumping, Emacs need not re-test setjmp.
36928 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
36930         Add tests for scrolling
36932         * test/manual/scroll-tests.el: New tests for scroll-margin behavior.
36934 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
36936         Fix scrolling with partial lines
36938         * src/xdisp.c (partial_line_height): New function.
36939         (try_scrolling):
36940         * src/window.c (window_scroll_pixel_based): Use it for calculating the
36941         pixel scroll margin correctly in a window with partial lines.
36943 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
36945         Make limit on scroll-margin variable
36947         * src/xdisp.c (maximum-scroll-margin): New variable.
36948         * lisp/cus-start.el: Make it customizable.
36949         * etc/NEWS: Mention it.
36950         * doc/emacs/display.texi (Auto Scrolling):
36951         * doc/lispref/windows.texi (Textual Scrolling): Document it.
36952         * src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
36953         division by 4 (Bug #5718).
36955 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
36957         Don't count mode line for scroll-margin limit
36959         * src/window.c (window_scroll_margin): Use window_box_height to avoid
36960         counting header line, scrollbars for scroll-margin limit (Bug #5718).
36962 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
36964         Refactor uses of scroll_margin to a function
36966         Its effective range needs to be clamped between 0 and (window height /
36967         4), so it's better to have this constraint in a single place.
36969         * src/window.c (window_scroll_margin): New function.
36970         (window_scroll_pixel_based, window_scroll_line_based):
36971         (Frecenter, Fmove_to_window_line):
36972         * src/xdisp.c (try_scrolling, try_cursor_movement):
36973         (redisplay_window, try_window, try_window_id): Use it.
36975 2017-02-03  Dmitry Gutov  <dgutov@yandex.ru>
36977         (xref-collect-matches): Use '-E' together with '-e'
36979         * lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
36980         together with '-e', as suggested by Noam Postavsky
36981         (https://lists.gnu.org/r/emacs-devel/2017-01/msg00780.html).
36983 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
36985         Pacify Oracle Studio 12.5
36987         * src/emacs.c (main): Do not silently convert char * to bool.
36989 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
36991         Fix lisp.h underparenthesization
36993         * src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
36994         Parenthesize compound literals that are function call args.
36995         Although this does not fix any bugs, it is the proper style for
36996         macro parenthesization as it means this code will continue to
36997         work even if make_lisp_ptr is changed to a macro.
36999 2017-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
37001         * lisp/doc-view.el (doc-view-mode): Don't require a final newline
37003         (doc-view-revert-buffer): Silence overflow warnings.
37005 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
37007         Merge from gnulib
37009         2017-01-30 Port to PGI 16.10 x86-64
37010         2017-01-20 time_rz: fix comment typo
37011         2017-01-14 strftime: %z is -00 if unknown
37012         This incorporates:
37013         * doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
37014         * lib/time-internal.h, lib/verify.h:
37015         Copy from gnulib.
37017 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
37019         Check if there are hunks before kill or refine a hunk
37021         * lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
37022         (diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).
37024 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
37026         Ignore error after kill last file or hunk
37028         * lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
37029         Ignore error after kill last hunk (Bug#25570).
37030         (diff-file-kill): Idem.
37032 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
37034         Show current line highlighted in *Occur* buffer
37036         * lisp/replace.el (list-matching-lines-current-line-face)
37037         (list-matching-lines-jump-to-current-line): New user options.
37038         (occur--orig-line, occur--orig-line-str): New variables.
37039         (occur, occur-engine): Use them.
37040         (occur--final-pos): New variable.
37041         (occur-1): Use it.
37042         (occur-engine): Idem.
37043         Show the current line with 'list-matching-lines-current-line-face'.
37044         Set point on the first matching line after the current one.
37045         * etc/NEWS: Add entry for the new option.
37047 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
37049         Allow occur command to operate on the region
37051         See discussion in:
37052         https://lists.gnu.org/r/emacs-devel/2016-12/msg01084.html
37053         * lisp/replace.el (occur--region-start, occur--region-end)
37054         (occur--matches-threshold): New variables.
37055         (occur-engine): Use them.
37056         (occur): Idem.
37057         Add optional arg REGION; if non-nil occur applies in that region.
37058         * doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
37059         * doc/emacs/search.texi (Other Repeating Search): Idem.
37061 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
37063         Treat list-buffers-directory as a string
37065         Another step in the long history of list-buffers-directory.  A thread
37066         branch discussing the meaning/use of the variable starts here
37067         https://lists.gnu.org/r/emacs-devel/2009-09/msg00684.html
37068         Also see (info "(elisp) Buffer File Name").
37069         * lisp/buff-menu.el: Relocate special case code into info.el.  Nix
37070         Info-* defvars.
37071         (Buffer-menu--pretty-file-name): Remove special case.  Use
37072         bound-and-true-p.
37073         (Buffer-menu-info-node-description): Remove.
37074         * lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
37075         list-buffers-directory as a string.
37076         * lisp/info.el (Info-node-description): New function.
37077         (Info-select-node): Use it.
37079 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
37081         Turn on lexical-binding in parse-time.el
37083         * lisp/calendar/parse-time.el: Turn on lexical-binding.
37084         (parse-time-iso8601-regexp, parse-iso8601-time-string): Remove unused
37085         bindings.
37087 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
37089         Prevent creating thumbnails of all gif frames
37091         With the previous defaults, doing image-dired on a directory with an
37092         animated foo.gif would cause creation of foo.thumb-N.gif for each of
37093         N frames in foo.gif.  By default image-dired looks for foo.thumb.gif, so
37094         there additionally is no usable thumbnail after all the needless effort.
37095         image-dired never handled animation, regardless.
37096         * lisp/image-dired.el: Mention limitation.
37097         (image-dired-cmd-create-thumbnail-options):
37098         (image-dired-cmd-create-temp-image-options):
37099         (image-dired-cmd-create-standard-thumbnail-options): Append [0] to
37100         filename to indicate only converting the 0th frame.
37101         (image-dired-display-image-mode): Don't show a cursor.
37103 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
37105         Fix quitting bug when buffers are frozen
37107         Problem noted by Eli Zaretskii in:
37108         https://lists.gnu.org/r/emacs-devel/2017-01/msg00721.html
37109         This patch also fixes some other issues in that report.
37110         * src/lisp.h (incr_rarely_quit): Remove.
37111         All callers changed to use rarely_quit directly.
37112         * src/search.c (freeze_buffer_relocation)
37113         (thaw_buffer_relocation): New functions.
37114         (looking_at_1, fast_looking_at, search_buffer):
37115         Use them to fix bug when quitting when buffers are frozen.
37116         * src/sysdep.c (emacs_intr_read): Rename from emacs_nointr_read.
37117         All uses changed.
37119 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
37121         Revamp quitting and fix infloops
37123         This fixes some infinite loops that cannot be quitted out of,
37124         e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
37125         when byte-compiled and when run under X.  See:
37126         https://lists.gnu.org/r/emacs-devel/2017-01/msg00577.html
37127         This also attempts to keep the performance improvements I recently
37128         added, as much as possible under the constraint that the infloops
37129         must be caught.  In some cases this fixes infloop bugs recently
37130         introduced when I removed immediate_quit.
37131         * src/alloc.c (Fmake_list):
37132         Use rarely_quit, not maybe_quit, for speed in the usual case.
37133         * src/bytecode.c (exec_byte_code):
37134         * src/editfns.c (Fcompare_buffer_substrings):
37135         * src/fns.c (Fnthcdr):
37136         * src/syntax.c (scan_words, skip_chars, skip_syntaxes)
37137         (Fbackward_prefix_chars):
37138         Use rarely_quit so that users can C-g out of long loops.
37139         * src/callproc.c (call_process_cleanup, call_process):
37140         * src/fileio.c (read_non_regular, Finsert_file_contents):
37141         * src/indent.c (compute_motion):
37142         * src/syntax.c (scan_words, Fforward_comment):
37143         Remove now-unnecessary maybe_quit calls.
37144         * src/callproc.c (call_process):
37145         * src/doc.c (get_doc_string, Fsnarf_documentation):
37146         * src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents):
37147         * src/lread.c (safe_to_load_version):
37148         * src/sysdep.c (system_process_attributes) [GNU_LINUX]:
37149         Use emacs_read_quit instead of emacs_read in places where
37150         C-g handling is safe.
37151         * src/eval.c (maybe_quit): Move comment here from lisp.h.
37152         * src/fileio.c (Fcopy_file, e_write):
37153         Use emacs_write_quit instead of emacs_write_sig in places where
37154         C-g handling is safe.
37155         * src/filelock.c (create_lock_file): Use emacs_write, not
37156         plain write, as emacs_write no longer has a problem.
37157         (read_lock_data): Use emacs_read, not read, as emacs_read
37158         no longer has a problem.
37159         * src/fns.c (rarely_quit): Move to lisp.h and rename to
37160         incr_rarely_quit.  All uses changed..
37161         * src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member):
37162         * src/indent.c (compute_motion):
37163         * src/syntax.c (find_defun_start, back_comment, forw_comment)
37164         (Fforward_comment, scan_lists, scan_sexps_forward):
37165         Use incr_rarely_quit so that users can C-g out of long loops.
37166         * src/fns.c (Fnconc): Move incr_rarely_quit call to within
37167         inner loop, so that it catches C-g there too.
37168         * src/keyboard.c (tty_read_avail_input): Remove commented-out
37169         and now-obsolete code dealing with interrupts.
37170         * src/lisp.h (rarely_quit, incr_rarely_quit): New functions,
37171         the latter moved here from fns.c and renamed from rarely_quit.
37172         (emacs_read_quit, emacs_write_quit): New decls.
37173         * src/search.c (find_newline, search_buffer, find_newline1):
37174         Add maybe_quit to catch C-g.
37175         * src/sysdep.c (get_child_status): Always invoke maybe_quit
37176         if interruptible, so that the caller need not bother.
37177         (emacs_nointr_read, emacs_read_quit, emacs_write_quit):
37178         New functions.
37179         (emacs_read): Rewrite in terms of emacs_nointr_read.
37180         Do not handle C-g or signals; that is now for emacs_read_quit.
37181         (emacs_full_write): Replace PROCESS_SIGNALS two-way arg
37182         with INTERRUPTIBLE three-way arg.  All uses changed.
37184 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
37186         Remove immediate_quit.
37188         The old code that sets and clears immediate_quit was
37189         ineffective except when Emacs is running in terminal mode, and
37190         has problematic race conditions anyway, so remove it.  This
37191         will introduce some hangs when Emacs runs in terminal mode,
37192         and these hangs should be fixed in followup patches.
37193         * src/keyboard.c (immediate_quit): Remove.  All uses removed.
37195 2017-02-01  Alan Mackenzie  <acm@muc.de>
37197         Allow C++ nested brace-list-entries to be better indented.
37199         This fixes bug #24431.  The key change of this bug fix is correctly analyzing
37200         nested brace lists when the opening element stands on the same line as both
37201         its introductory brace and an enclosing parameter list parenthesis.
37203         * lisp/progmodes/cc-align.el (c-lineup-under-anchor): New line-up function.
37205         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Accept the
37206         presence of exactly an identifier between an open parenthesis and an open
37207         brace as evidence of the brace starting a brace list.
37208         (c-looking-at-statement-block): New function, extracted from
37209         c-looking-at-inexpr-block.  Enhance it to analyze inner blocks recursively
37210         when needed.
37211         (c-looking-at-inexpr-block): Extract new function (see above) and call it.
37212         (c-add-stmt-syntax): Enhance, with new &optional parameter, to supply the
37213         prime syntactic symbol with a fixed anchor point.  When this is used, restrict
37214         all added syntactic symbols to those having an anchor point on the same line.
37215         Add, in addition to the current additional symbols, c-brace-list-entry when
37216         needed; use c-looking-at-statement-block to determine the latter.
37217         (c-guess-basic-syntax, CASE 9D): Use c-add-stmt-syntax rather than just
37218         c-add-syntax, to assemble the syntactic context of a 'brace-list-entry, thus
37219         getting, possibly, several accompanying syntactic entries.
37221         * lisp/progmodes/cc-styles.el (c-style-alist, "gnu" style): New entry for
37222         'brace-list-intro, namely c-lineup-arglist-intro-after-paren.
37224         * lisp/progmodes/cc-vars.el (c-offsets-alist): Change the factory default
37225         offset for 'brace-list-entry from 0 to c-lineup-under-anchor.
37227         * doc/misc/cc-mode.texi (Syntactic Symbols): Amend the definition of
37228         brace-list-intro.
37229         (Brace List Symbols): Amend the example to show the new analysis of brace
37230         lists when the first element comes on the same line as the opening brace.
37231         (Misc Line-Up): Document the new line-up function c-lineup-under-anchor.
37233 2017-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
37235         Revert "DOn't use string-as-unibyte in Gnus"
37237         This reverts commit d1c931009004aef847105b7bac6b6ffafd985b82.
37239         Not all the cases where we had string-as-unibyte were characters,
37240         so this needs to be considered more thoroughly before being redone.
37242 2017-02-01  Vibhav Pant  <vibhavp@gmail.com>
37244         Use maphash instead of cl-loop.
37246         * lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
37247           instead of cl-loop
37249 2017-02-01  Michael Albinus  <michael.albinus@gmx.de>
37251         Fix a subtle problem in Tramp with timers
37253         * lisp/net/tramp.el (tramp-accept-process-output): Change argument
37254         list.  Make it work when called inside a timer.  See
37255         <https://lists.gnu.org/r/tramp-devel/2017-01/msg00010.html>.
37257 2017-01-31  Eli Zaretskii  <eliz@gnu.org>
37259         Index byte-compile-debug
37261         * doc/lispref/compile.texi (Compilation Functions): Index
37262         byte-compile-debug.
37264 2017-01-31  Philipp Stephani  <phst@google.com>
37266         Document `byte-compile-debug' in the ELisp manual
37268         * doc/lispref/compile.texi: Document variable `byte-compile-debug'.
37270 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
37272         read-multiple-choice: explain dialog popups more
37274         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
37275         when a graphical popup is used and how it can be avoided.
37277 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
37279         auth-source-user-and-password: add forgotten user parameter
37281                 * lisp/auth-source.el (auth-source-user-and-password): Use
37282                   accidentally unused "user" parameter.
37283                   Reported by Oscar Najera <najera.oscar@gmail.com>.
37285 2017-01-31  Simen Heggestøyl  <simenheg@gmail.com>
37287         Fix typo in a NEWS entry for CSS mode
37289 2017-01-31  Philipp Stephani  <phst@google.com>
37291         Document variable `byte-compile-debug'
37293         * lisp/emacs-lisp/bytecomp.el (byte-compile-debug): Document variable.
37295 2017-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
37297         DOn't use string-as-unibyte in Gnus
37299         * lisp/gnus/nnmail.el (nnmail-parse-active): Don't use
37300         string-as-unibyte.
37301         (nnmail-insert-xref): Ditto.
37303         * lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto.
37305         * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto.
37307         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto.
37308         (gnus-browse-foreign-server): Ditto.
37309         (gnus-browse-foreign-server): Ditto.
37311         * lisp/gnus/gnus-start.el
37312         (gnus-update-active-hashtb-from-killed): Ditto.
37313         (gnus-read-newsrc-el-file): Ditto.
37315         * lisp/gnus/mml.el (mml-generate-mime-1): Ditto.
37317         * lisp/gnus/nnir.el (nnir-get-active): Ditto.
37318         (nnir-get-active): Ditto.
37320 2017-01-31  Juri Linkov  <juri@linkov.net>
37322         Allow C-s C-w to yank ' to the search ring in the Gnus article buffer
37324         * lisp/gnus/gnus-art.el (gnus-article-mode-syntax-table): Make
37325         M-. in article buffers work for `foo' strings, and still allow
37326         C-s C-w to yank ' to the search ring (bug#22248).
37328 2017-01-31  Paul Eggert  <eggert@cs.ucla.edu>
37330         * src/alloc.c, src/lisp.h: Fix minor glitches in recent changes.
37332 2017-01-31  Tino Calancha  <tino.calancha@gmail.com>
37334         * test/lisp/vc/diff-mode-tests.el: Require diff-mode.
37336 2017-01-31  Dima Kogan  <dima@secretsauce.net>
37338         New test for diff-mode handling trailing --
37340         test/lisp/vc/diff-mode-tests.el: New test file
37342 2017-01-31  Dima Kogan  <dima@secretsauce.net>
37344         Handle patch terminators produced by git and bzr patch export
37346         Patch by Juri Linkov posted in the #9597 bug report
37348         * lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
37349         terminator (Bug #9597, #5302)
37351 2017-01-31  Dima Kogan  <dima@secretsauce.net>
37353         Revert two accidental commits
37355         This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
37356         This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.
37358 2017-01-31  Dima Kogan  <dima@secretsauce.net>
37360         stash
37362 2017-01-31  Dima Kogan  <dima@secretsauce.net>
37364         comint-get-old-input-default: behavior follows docstring
37366         lisp/comint.el (comint-get-old-input-default): Modify behavior to follow
37367         docstring: if `comint-use-prompt-regexp' is nil, then return the CURRENT LINE,
37368         if point is on an output field.
37370 2017-01-31  Noam Postavsky  <npostavs@gmail.com>
37372         Fix call to debugger on assertion failure
37374         * lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): The first
37375         argument must be `error', and the second is a list of arguments for
37376         `signal'.
37378 2017-01-30  Tom Tromey  <tom@tromey.com>
37380         css-mode documentation lookup feature
37382         * etc/NEWS: Mention new feature.
37383         * lisp/textmodes/css-mode.el (css-mode-map): New defvar.
37384         (css--mdn-lookup-history): New defvar.
37385         (css-lookup-url-format): New defcustom.
37386         (css--mdn-property-regexp, css--mdn-completion-list): New defconsts.
37387         (css--mdn-after-render, css--mdn-find-symbol, css-lookup-symbol): New
37388         defuns.
37389         * test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): New
37390         test.
37392 2017-01-30  Glenn Morris  <rgm@gnu.org>
37394         edt-mapper: just loading a library should not run code
37396         * lisp/emulation/edt-mapper.el (edt-mapper): New function,
37397         containing code previously at top-level.
37398         * lisp/emulation/edt.el (edt-load-keys): After loading edt-mapper,
37399         run edt-mapper function.
37401 2017-01-30  Glenn Morris  <rgm@gnu.org>
37403         mh-compat.el: remove duplicate definition
37405         * lisp/mh-e/mh-compat.el (mh-make-obsolete-variable):
37406         Remove duplicate definition.
37408 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
37410         Add delq list arg check
37412         * src/fns.c (Fdelq): Check that list is a proper list.
37413         This is more compatible with what ‘delete’ does.
37415 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
37417         * lisp/indent.el (indent-region-line-by-line): New function.
37419         Extracted from indent-region.
37420         (indent-region, indent-region-function): Use it.
37422 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
37424         * lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete.
37426 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
37428         More fixes to prevent crashes on C-g
37430         * src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit
37431         before returning, to avoid crashes in quit.  (Bug#25566)
37433 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
37435         Avoid crashes on C-g in TTY sessions
37437         * src/keyboard.c (handle_interrupt): Don't quit if
37438         waiting_for_input is set, as doing that is "unsafe": it will
37439         abort.  (Bug#25566)
37441 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
37443         * lisp/emacs-lisp/bytecomp.el: Create jump tables with :purecopy t
37445         Merge remote-tracking branch 'origin/master' into feature/byte-switch
37447 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
37449         Fix hash tables not being purified correctly.
37451         * src/alloc.c
37452         (purecopy_hash_table) New function, makes a copy of the given hash
37453         table in pure storage.
37454         Add new struct `pinned_object' and `pinned_objects' linked list for
37455         pinning objects.
37456         (Fpurecopy) Allow purifying hash tables
37457         (purecopy) Pin hash tables that are either weak or not declared with
37458         `:purecopy t`, use purecopy_hash_table otherwise.
37459         (marked_pinned_objects) New function, marks all objects in pinned_objects.
37460         (garbage_collect_1) Use it. Mark all pinned objects before sweeping.
37461         * src/lisp.h: Add new field `pure' to struct `Lisp_Hash_Table'.
37462         * src/fns.c: Add `purecopy' parameter to hash tables.
37463         (Fmake_hash_table): Check for a `:purecopy PURECOPY' argument, pass it
37464         to make_hash_table.
37465         (make_hash_table): Add `pure' parameter, set h->pure to it.
37466         (Fclrhash, Fremhash, Fputhash): Enforce that the table is impure with
37467         CHECK_IMPURE.
37468         * src/lread.c: (read1) Parse for `purecopy' parameter while reading
37469           hash tables.
37470         * src/print.c: (print_object) add the `purecopy' parameter while
37471           printing hash tables.
37472         * src/category.c, src/emacs-module.c, src/image.c, src/profiler.c,
37473           src/xterm.c: Use new (make_hash_table).
37475 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
37477         Escape dash in xref rgrep regexp
37479         * lisp/progmodes/xref.el (xref-collect-matches): Escape dash
37480         in REGEXP if it's the first character.
37482 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
37484         Say JavaScript, not Javascript
37486         * lisp/progmodes/js.el (js-mode-map, js-syntax-propertize)
37487         (js-js-error, js-eval, js-set-js-context)
37488         (js--get-js-context):
37489         Refer to the language consistently as JavaScript.
37491 2017-01-29  Juanma Barranquero  <lekktu@gmail.com>
37493         lisp/*.el: Fix some warnings
37495         * lisp/battery.el (dbus-get-property):
37496         * lisp/dired-aux.el (format-spec): Declare function.
37498         * lisp/net/zeroconf.el (zeroconf-list-service-names)
37499         (zeroconf-list-service-types, zeroconf-list-services):
37500         Mark unused lexical arg.
37502         * lisp/progmodes/hideshow.el (hs-hide-block-at-point):
37503         * lisp/progmodes/sql.el (sql-end-of-statement):
37504         Pass LIMIT to 'looking-back'.
37506 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
37508         Don't warn about obsolete defgenerics when defining them
37510         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
37511         should run after the definition code (Bug#25556).
37513 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
37515         Call modification hooks in org-src fontify buffers
37517         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
37518         `inhibit-modification-hooks' to nil, since this function can be called
37519         from jit-lock-function which binds that variable to t (Bug#25132).
37521 2017-01-29  Tino Calancha  <tino.calancha@gmail.com>
37523         Fix Bug#25524
37525         * lisp/vc/diff-mode.el (diff-beginning-of-hunk):
37526         Return position at the beginning off the hunk.
37527         (diff-file-junk-re): Add SVN keywords.
37529 2017-01-28  Stephen Berman  <stephen.berman@gmx.net>
37531         hl-line.el: Don't try to operate on a killed buffer
37533         * lisp/hl-line.el (hl-line-maybe-unhighlight): Examine only
37534         live buffers (bug#25522).
37536 2017-01-28  Mark Oteiza  <mvoteiza@udel.edu>
37538         Use access-file in EWW to check before downloading a file
37540         * lisp/net/eww.el (eww-download): Check accessibility of
37541         eww-download-directory to prevent starting a download that will fail
37542         to write.
37543         * src/fileio.c (Faccess_file): Clarify the use of string argument in
37544         the docstring.
37546 2017-01-28  Yuri D'Elia  <wavexx@thregr.org>
37548         Subject: Check Bcc after the Messag hook has run
37550         * lisp/gnus/message.el (message-send): If the hook modifies
37551         the message (mml tags or headers), we should check bcc on the
37552         final message, not on the original.
37554 2017-01-28  Eli Zaretskii  <eliz@gnu.org>
37556         Improve documentation of 'format' conversions
37558         * src/editfns.c (Fformat): More accurate description of %g and
37559         effects of the various flags on it.  More accurate description of
37560         integer conversions.
37562         * doc/lispref/strings.texi (Formatting Strings): More accurate
37563         description of %g and effects of the various flags on it.  More
37564         accurate description of integer conversions.  (Bug#25557)
37566 2017-01-28  Juanma Barranquero  <lekktu@gmail.com>
37568         test/*.el: Avoid byte-compiler warnings
37570         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.
37572         * test/lisp/faces-tests.el (faces--test): New customization group.
37573         (faces--test1, faces--test2): Use it.
37575         * test/lisp/ffap-tests.el (ffap-tests-25243):
37576         Call 'mark-whole-buffer' interactively.
37578         * test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
37579         (ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
37580         (ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
37581         (ibuffer-format-qualifier, ibuffer-unary-operand): Declare.
37583         * test/lisp/minibuffer-tests.el (completion-test1):
37584         Mark unused lexical arguments.
37586         * test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
37587         'with-no-warnings' to avoid them when the macro is invoked for effect.
37589         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
37590         Mark unused lexical arguments.
37592         * test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
37593         Mark unused lexical arguments.
37594         (let-alist-cons): Remove unused let binding.
37596         * test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
37597         (dbus-get-unique-name): Declare.
37599         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
37600         Call 'font-lock-fontify-buffer' interactively.
37602         * test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
37603         Mark unused lexical argument.
37605 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
37607         Restore a test that was removed by a recent commit
37609         * src/fileio.c (Ffile_accessible_directory_p): Don't overwrite the
37610         errno value unless it's necessary.  (Bug#25419)
37612 2017-01-27  Mark Oteiza  <mvoteiza@udel.edu>
37614         Fix a couple eww customization types
37616         * lisp/new/eww.el (eww-download-directory, eww-bookmarks-directory):
37617         Change customization type to "directory".
37619 2017-01-27  Philipp Stephani  <phst@google.com>
37621         Don't require a shell when loading htmlfontify
37623         * lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
37624         detecting the etags version (Bug#25468).
37625         * test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
37626         test.
37628 2017-01-27  Paul Eggert  <eggert@cs.ucla.edu>
37630         Slightly tune file-accessible-directory-p fix
37632         * src/fileio.c (Ffile_accessible_directory_p):
37633         Remove unnecessary test (Bug#25419).
37635 2017-01-27  Arash Esbati  <arash@gnu.org>
37637         Add \citetitle to biblatex cite format
37639         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
37640         \citetitle[*] to `reftex-cite-format' and bind them to keys i/I
37641         per user request
37642         https://lists.gnu.org/r/auctex/2017-01/msg00049.html.
37644 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
37646         Fix charsets and encodings from non-file MIME parts
37648         * lisp/gnus/mml.el (mml-generate-mime-1): Get the charsets and
37649         encoding right for parts that do not originate from files.
37651 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
37653         Fix 'describe-variable' for longish variable values
37655         * lisp/help-fns.el (describe-variable): Don't accidentally remove
37656         the last character of a variable's value.  (Bug#25545)
37658 2017-01-27  Vladimir Panteleev  <git@thecybershadow.net>  (tiny change)
37660         Remove stale functions from ert manual
37662         * doc/misc/ert.texi (Useful Techniques when Writing Tests):
37663         Replace ert--mismatch references with its cl-lib replacement,
37664         cl-mismatch.
37666 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
37668         Fix a typo in Eshell manual
37670         * doc/misc/eshell.texi (History): Fix a typo.  Reported by Mak
37671         Kolybabi <mak@kolybabi.com>.
37673 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
37675         Ensure last line is at window bottom in shell buffers
37677         * lisp/shell.el (shell-mode): Use setq-local.  Set
37678         scroll-conservatively to 101 locally.  See the discussion at
37679         https://lists.gnu.org/r/emacs-devel/2016-12/msg00736.html
37680         for the reasons.
37682 2017-01-27  Michael Hoffman  <emacs-hoffman@sneakemail.com>  (tiny change)
37684         Support Bash Ctrl-Z indication of directory name in term.el
37686         * lisp/term/xterm.el (term-emulate-terminal): Do not display ?\032 escape
37687         codes even when 'handled-ansi-message' is non-nil.  (Bug#11919)
37689 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
37691         Don't report zero errno for inaccessible directory
37693         * src/fileio.c (Ffile_accessible_directory_p): Report EACCES when
37694         a file handler reports a failure.  (Bug#25419)
37696 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
37698         Fix filenotify-tests on MS-Windows
37700         * test/lisp/filenotify-tests.el (file-notify-test04-file-validity)
37701         (file-notify-test05-dir-validity)
37702         (file-notify-test06-many-events)
37703         (file-notify-test08-watched-file-in-watched-dir): Manually remove
37704         the watch descriptor before calling file-notify--test-cleanup-p.
37705         (Bug#25539)
37707 2017-01-27  Hong Xu  <hong@topbug.net>
37709         python-mode: Fix detection for opening blocks.
37711         * lisp/progmodes/python.el
37712         (python-info-dedenter-opening-block-positions): There can't be any
37713         back-indented lines between an opening block and the current line.
37715         * test/lisp/progmodes/python-tests.el
37716         (python-indent-electric-colon-4): Add an indent test case where
37717         there is one-more indented previous opening block.
37719 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
37721         Fix Message check for bogus domain names
37723         * lisp/gnus/message.el (message-make-fqdn): Fix check for
37724         bogus system names (bug#24570).
37726 2017-01-27  Øyvind Stegard  <oyvind@stegard.net>  (tiny change)
37728         Subject: Restore correct Gnus newsgroup name after sending message
37730         * lisp/gnus/gnus-msg.el (gnus-msg-mail): Set the value of
37731         gnus-newsgroup-name in the correct buffer (bug#24329).
37733 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
37735         Mention the new Gnus sorting command
37737 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
37739         Don't try to find charsets of non-text MIME parts
37741         * lisp/gnus/mml.el (mml-generate-mime-1): It seems nonsensical
37742         to try to determine the charset of non-text message parts, so
37743         skip that (bug#24190).  This will also remove messages like
37744         "bunzip2ing /tmp/acsb.cpio.bz2...done" while sending messages
37745         if you include such files.
37747 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
37749         Add new command gnus-article-sort-by-marks
37751         * doc/misc/gnus.texi (Summary Sorting): Mention
37752         gnus-summary-sort-by-marks.
37754         * lisp/gnus/gnus-sum.el (gnus-article-sort-by-marks): New
37755         function (bug#23393).
37756         (gnus-thread-sort-by-marks): Ditto.
37757         (gnus-summary-sort-by-mark): New command suggested by Dan Jacobson.
37758         (gnus-summary-mode-map): Add keystroke.
37759         (gnus-summary-make-menu-bar): Add to menu.
37761 2017-01-26  Katsumi Yamaoka  <yamaoka@jpl.org>
37763         Make `C-h b' work correctly in Gnus article buffer (bug#18257)
37765         * lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
37766         Ignore summary commands that aren't bound to
37767         gnus-article-read-summary-keys keys (bug#18257).
37769 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37771         Fix crossposting in non-primary groups
37773         * lisp/gnus/message.el
37774         (message-cross-post-followup-to-header): Gnus server prefixes
37775         shouldn't be included in the group names (bug#21661).
37776         (message-cross-post-followup-to): Ditto.
37778 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37780         Gnus doc clarification
37782         * doc/misc/gnus.texi (Unavailable Servers): Explicitly say
37783         that "unreachable" is the same as disabling it (bug#21630).
37785 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37787         Remove dead code from rfc2047
37789         * lisp/mail/rfc2047.el (rfc2047-fold-field): Remove dead code.
37791         It's been disabled since 2005, when I made the change with the
37792         following comment.
37794         (rfc2047-encode-message-header): Disabled header folding -- not
37795         all headers can be folded, and this should be done by the message
37796         composition mode.  Probably.  I think.
37798 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37800         Fill too long mail headers
37802         * lisp/gnus/message.el (message--fold-long-headers): New
37803         function to fold too-long headers (bug#21608).
37804         (message-send-mail): Use it to fill headers longer than 998
37805         characters (which is the protocol limit).
37807 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37809         Make nndoc more resilient against corrupted files
37811         * lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Don't bug
37812         out on invalid files, like invalid .gz files (bug#21538).
37813         This may hinder Gnus from starting up.
37815 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37817         Respect buffer-local message-fcc-handler-function
37819         * lisp/gnus/message.el (message-do-fcc): Copy the local
37820         variables from the Message buffer so that local settings of
37821         `message-fcc-handler-function' etc are respected (bug#21174).
37823 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37825         (message-do-fcc): Modernize the code slightly.
37827         * lisp/gnus/message.el (message-do-fcc): Modernize the code slightly.
37829 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37831         Avoid a regexp overflow in message-goto-body
37833         * lisp/gnus/message.el (message-goto-body-1): Avoid using a
37834         complicated backtracking regexp, because they may overflow on
37835         large headers (bug#21160).
37837 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37839         Refactor message-goto-body
37841         * lisp/gnus/message.el (message-goto-body-1): Refactor out for reuse.
37843 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37845         Fix typo in last checkin
37847         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
37848         nnimap-shell-program (bug#20651).
37850 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37852         Document nnimap-shell-program
37854         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
37855         nnimap-shell-program (bug#20651).
37857 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37859         Document :shell-command in `make-network-process'
37861         * doc/lispref/processes.texi (Network): Document :shell-command.
37863         * lisp/net/network-stream.el (open-network-stream): Document
37864         the :shell-command parameter (bug#20651).
37866 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37868         Gnus doc clarification
37870         * lisp/gnus/gnus-sum.el (gnus-summary-save-article): Mention
37871         the gnus-prompt-before-saving variable (bug#20500).
37873 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37875         Fix the previous mml patch better
37877         * lisp/gnus/mml.el (mml-minibuffer-read-file): Fix the
37878         previous patch in a better way (bug#20480).
37880 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37882         Give a slight better error message in mml-minibuffer-read-file
37884         * lisp/gnus/mml.el (mml-minibuffer-read-file): Give a slightly
37885         better error message when the user enters nothing (bug#20480).
37887 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
37889         * lisp/emacs-lisp/bytecomp.el:(bc-cond-jump-table-info)add docstring
37891 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37893         Make eww buffers prettier in the buffer listing
37895         * lisp/net/eww.el (eww-render): Put the currently visited URL
37896         into the buffer listing (bug#23738).
37897         (eww-render): Ditto.
37899 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37901         Allow mml-attach-file to prompt less
37903         * lisp/gnus/mml.el (mml-attach-file): If given a prefix, don't
37904         prompt for type/description/disposition, but use defaults
37905         (bug#19202).
37907 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
37909         Don't allow message-newline-and-reformat to be run outside the body
37911         * lisp/gnus/message.el (message-newline-and-reformat): Error
37912         out if run outside the body of a message (bug#18820).
37914 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
37916         * lisp/emacs-lisp/bytecomp.el: Use correct function to push nil
37918         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
37919           byte-compile-constant instead of byte-compile-form to push nil.
37921 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
37923         * lisp/emacs-lisp/disass.el: Fix spacing while showing jump tables
37925 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
37927         Replace QUIT with maybe_quit
37929         There’s no longer need to have QUIT stand for a slug of C statements.
37930         Use the more-obvious function-call syntax instead.
37931         Also, use true and false when setting immediate_quit.
37932         These changes should not affect the generated machine code.
37933         * src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.
37935 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
37937         A quicker check for quit
37939         On some microbenchmarks this lets Emacs run 60% faster on my
37940         platform (AMD Phenom II X4 910e, Fedora 25 x86-64).
37941         * src/atimer.c: Include keyboard.h, for pending_signals.
37942         * src/editfns.c (Fcompare_buffer_substrings):
37943         * src/fns.c (Fnthcdr, Fmemq, Fmemql, Fassq, Frassq, Fplist_put)
37944         (Fnconc, Fplist_member):
37945         Set and clear immediate_quit before and after loop instead of
37946         executing QUIT each time through the loop.  This is OK for loops
37947         that affect only locals.
37948         * src/eval.c (process_quit_flag): Now static.
37949         (maybe_quit): New function, containing QUIT’s old body.
37950         * src/fns.c (rarely_quit): New function.
37951         (Fmember, Fassoc, Frassoc, Fdelete, Fnreverse, Freverse)
37952         (Flax_plist_get, Flax_plist_put, internal_equal, Fnconc):
37953         Use it instead of QUIT, for
37954         speed in tight loops that might modify non-locals.
37955         * src/keyboard.h (pending_signals, process_pending_signals):
37956         These belong to keyboard.c, so move them here ...
37957         * src/lisp.h: ... from here.
37958         (QUIT): Redefine in terms of the new maybe_quit function, which
37959         contains this macro’s old definiens.  This works well with branch
37960         prediction on processors with return stack buffers, e.g., x86
37961         other than the original Pentium.
37963 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
37965         Simplify make-list implementation
37967         * src/alloc.c (Fmake_list): Don’t unroll loop, as the complexity
37968         is not worth it these days.
37970 2017-01-26  Mark Oteiza  <mvoteiza@udel.edu>
37972         Make use of cl-loop destructuring
37974         * lisp/progmodes/js.el (js--get-tabs): Replace extraneous bits with
37975         destructuring.
37976         (with-js): Add declare forms.
37978 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37980         Revert "Bind C-c keys in the article buffer"
37982         This reverts commit 6b4195f2ace1f6328c5a833fde40f39babef4fa6.
37984         The commit somehow lead to problems in other parts of Emacs.
37986 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37988         Document how to quote MML tags
37990         * doc/misc/emacs-mime.texi (MML Definition): Mention how to
37991         quote MML tags (bug#18881).
37993 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
37995         Make address parsing more robust
37997         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't
37998         bug out on addresses like
37999         (ietf-drums-parse-address "\"Foo \"bar\" <larsi@gnus.org>")
38000         (bug#18572).
38002 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38004         Fix the %P (line number) thing in Gnus summary buffers
38006         * lisp/gnus/gnus-salt.el (gnus-pick-line-number): Remove hack.
38008         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Reset the
38009         "pick" mode line number on entry instead of relying in a hack (bug#18311).
38011 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38013         Fix wrong documentation on nnmairix keystrokes
38015         * doc/misc/gnus.texi (nnmairix keyboard shortcuts): The
38016         nnmairix commands are on G G, not $ (bug#18260).
38018 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38020         Bind C-c keys in the article buffer
38022         * lisp/gnus/gnus-art.el (gnus-article-mode-map): Also bind the
38023         C-c keys so that they execute in the summary buffer
38024         (bug#18257).  This makes commands like `C-c C-f' work from the
38025         article buffer.
38027 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38029         Don't mark articles in Gnus as displayed when they aren't
38031         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Don't
38032         mark any articles as selected if we're not selecting any
38033         articles (bug#18255).
38035 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
38037         * lisp/emacs-lisp/disass.el: Display jump tables for switch.
38039         * lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table
38041         * lisp/emacs-lisp/bytecomp.el: Simplify b-c-cond-valid-obj2-p
38043         * lisp/emacs-lisp/bytecomp.el: Fix byte-switch codegen with symbols.
38045 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
38047         * lisp/emacs-lisp/byte-opt.el: Add support for decompiling switch
38049         * lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
38050           constant encountered precedes a byte-switch op, replace all the
38051           addresses in the jump table with tags.
38053 2017-01-25  Mark Oteiza  <mvoteiza@udel.edu>
38055         Move cXXXr and cXXXXr to subr.el
38057         * etc/NEWS: Mention new core Elisp.
38058         * doc/lispref/lists.texi (List Elements): Document and index the new
38059         functions.
38060         * doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
38061         * lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
38062         (cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
38063         (cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
38064         (cddddr): New functions.
38065         * lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
38066         (cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
38067         (cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
38068         (cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
38069         (cl-cdddar, cl-cddddr): Alias to new subr functions.
38070         * lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
38071         elements.
38073 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38075         Only save .newsrc file if the native method is NNTP
38077         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
38078         the .newsrc file if the native select method is NNTP
38079         (bug#18198).  This avoids problems with invalid IMAP group
38080         names and the like in the .newsrc file.
38082 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38084         Only save .newsrc file if the native method is NNTP
38086         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
38087         the .newsrc file if the native select method is NNTP
38088         (bug#18198).  This avoids problems with invalid IMAP group
38089         names and the like in the .newsrc file.
38091 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38093         Gnus custom spec fix
38095         * lisp/gnus/gnus-art.el (gnus-signature-limit): Fix customize
38096         spec to match the doc string (bug#17679).
38098 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38100         Clarify confusing Gnus error message
38102         * lisp/gnus/gnus-topic.el (gnus-topic-unindent): Clarify
38103         confusing error message (bug#17677).
38105 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38107         Make C-u C-x m work with Message as documented
38109         * lisp/gnus/message.el (message-mail): Respect the CONTINUE
38110         parameter (bug#17175).
38112 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38114         Fix problem with auto-mode and dir-locals-collect-variables
38116         * lisp/files.el (dir-locals-collect-variables): When run from
38117         auto-mode, the file in question may not be an absolute path
38118         name (bug#24016).
38120         Example backtrace:
38122         Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
38123           dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
38124           hack-dir-local-variables()
38125           hack-local-variables(no-mode)
38126           run-mode-hooks(diff-mode-hook)
38127           diff-mode()
38128           mm-display-inline-fontify((#<buffer  *mm*-923037> ("text/x-diff" (
38130 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38132         Attach text files correctly in Message
38134         * lisp/gnus/mml.el (mml-generate-mime-1): Detect which coding
38135         system has been used in attached text files, and don't try to
38136         do any encoding of these files (bug#13808).
38138 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38140         Build fix for older gnutls versions
38142         * src/gnutls.c (emacs_gnutls_handle_error):
38143         GNUTLS_E_PREMATURE_TERMINATION is apparently only present in
38144         gnutls-3.
38146 2017-01-25  Tino Calancha  <tino.calancha@gmail.com>
38148         ediff-difference-vector-alist: Drop duplicated definition
38150         * lisp/vc/ediff-init.el (ediff-difference-vector-alist):
38151         Drop duplicated definition.
38152         (ediff-difference-vector-A, ediff-difference-vector-B)
38153         (ediff-difference-vector-C, ediff-difference-vector-Ancestor):
38154         Move definition before 'ediff-difference-vector-alist'.
38156 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38158         Revert "nnimap.el: support additional expunge options"
38160         This reverts commit 4e9baea6aba1633074889339dcc7cdc9d73880d3.
38162         The patch broke fetching new mail:
38164         Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
38165           format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
38166           (looking-at (format "%d .*\n" sequence))
38167           (not (looking-at (format "%d .*\n" sequence)))
38168           (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))
38170 2017-01-25  Nikolaus Rath  <Nikolaus@rath.org>
38172         nnimap.el: support additional expunge options
38174         * lisp/gnus/nnimap.el (nnimap-close-group)
38175         (nnimap-request-expire-articles, nnimap-delete-article)
38176         (nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
38177         settings for nnimap-expunge (bug#20670).
38179 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38181         Don't tag Gnus bugs with "gnus"
38183         * lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.
38185         * lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
38186         have its own package any more in the bug tracker.
38188 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
38190         Tweak TLS error messaging on closed connections
38192         * src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
38193         peer-closed-connection "The TLS connection was non-properly
38194         terminated" message to a lower level so that it isn't shown to
38195         the user by default.
38197 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
38199         Avoid having eww unexpectedly open external browsers
38201         * lisp/net/eww.el (eww-render): Instead of opening unsupported
38202         content types like audio/mpeg directly in an external browser
38203         (which can be very confusing especially when something
38204         redirects to a file like that), just display a simple
38205         interstitial that people can choose to click on or not
38206         (bug#22671).
38208 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
38210         When opening new eww buffers, use buffer names based on the host name
38212         * lisp/net/eww.el (eww-browse-url): When opening in a new
38213         window, use a buffer name based on the host name (bug#23738).
38214         (eww--dwim-expand-url): Refactored out into its own function
38215         for easier reuse.
38217 2017-01-24  David Engster  <deng@randomsample.de>
38219         xml: Fix parsing of default namespace with quoted names
38221         * lisp/xml.el (xml-parse-attlist): Properly extract namespace when
38222           parsing is done with quoted symbol names (bug#23440).
38223         * test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
38224           (xml-parse-test-default-namespace-qnames): Test for the above.
38226 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
38228         Fix rendering of some complex SVG images
38230         * lisp/net/shr.el (shr-parse-image-data): Don't transform
38231         SVG->DOM->XML unless we're blocking images, as this is apt to
38232         destroy the SVG (bug#24111).
38234 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
38236         Clarify the last clarification
38238         * lisp/net/shr.el (shr-width): Clarify the interaction with
38239         `shr-use-fonts' (bug#24928).
38241 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
38243         shr-width doc clarification
38245         * lisp/net/shr.el (shr-width): Clarify the interaction with
38246         `shr-use-fonts' (bug#24928).
38248 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
38250         Allow passing in max-width/height
38252         * lisp/net/shr.el (shr-rescale-image): Allow passing in
38253         max-width/height (bug#25287).
38255 2017-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
38257         * lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars
38259         Require `cl' for `pushnew'.
38260         (vhdl-scan-project-contents, vhdl-compose-wire-components)
38261         (vhdl-uniquify): Use `pushnew' instead of `add-to-list'.
38263 2017-01-24  Noam Postavsky  <npostavs@gmail.com>
38265         Fix comment detection on open parens
38267         Characters having both open paren syntax and comment start syntax were
38268         being detected as open parens even when they should have been part a
38269         comment starter (Bug#24870).
38271         * src/syntax.c (in_2char_comment_start): New function, extracted from
38272         `scan_sexps_forward'.
38273         (scan_sexps_forward): Add check for a 2-char comment starter before the
38274         loop.  Inside the loop, do that check after incrementing the 'from'
38275         character index.  Move the single char comment syntax cases into the
38276         switch instead of special casing them before.
38277         * test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
38278         (parse-partial-sexp-continue-over-comment-marker): New tests.
38280 2017-01-23  Alan Mackenzie  <acm@muc.de>
38282         Give , and .@ doc strings.  Fixes bug #24561.
38284         Also make *Help* links to ``' possible.  Also make usable as such doc strings
38285         on the function-documentation property of a symbol.
38287         * lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
38288         function-documentation property.  Also give these symbols a reader-construct
38289         property.
38291         * lisp/help-fns.el (describe-function): Allow the function-documentation
38292         property to work.  Use princ rather than prin1 to print the function's name
38293         when it has a reader-construct property.
38294         (help-fns-signature): Don't insert `high-usage' for a reader-construct.
38295         (describe-function-1): Adapt to process documentation on the
38296         function-documentation property.  Print "a reader construct" when appropriate.
38298         * lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
38299         ``'.
38301 2017-01-22  Paul Eggert  <eggert@cs.ucla.edu>
38303         Improve uses of CHECK_LIST etc.
38305         * src/eval.c (FletX): Report an error for invalid constructs like
38306         ‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
38307         (lambda_arity): Use plain CHECK_CONS.
38308         * src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
38309         (Fcopy_alist): Remove unnecessary CHECK_LIST call, since
38310         concat does that for us.
38311         (Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
38312         Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
38313         runtime check out of the loop.
38314         (Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
38315         (Fassq, Fassoc, Frassq, Frassoc):
38316         Simplify and use CHECK_LIST_END instead of CAR.
38317         (assq_no_quit, assoc_no_quit): Simplify and assume proper list.
38318         (Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
38319         * src/fontset.c (Fnew_fontset):
38320         * src/frame.c (Fmodify_frame_parameters):
38321         Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
38322         more-complete check.
38323         * src/gfilenotify.c (Fgfile_add_watch):
38324         Omit unnecessary CHECK_LIST, since Fmember does that for us.
38325         * src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
38326         Remove; no longer used.
38327         (CHECK_LIST_END): New inline function.
38329 2017-01-22  Tino Calancha  <tino.calancha@gmail.com>
38331         Prevent to use tabulated-list--near-rows unbound
38333         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
38334         Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
38336 2017-01-22  Juri Linkov  <juri@linkov.net>
38338         * lisp/simple.el (region-bounds): New function.
38340         (region-noncontiguous-p): Use it.
38341         https://lists.gnu.org/r/emacs-devel/2017-01/msg00044.html
38343 2017-01-21  Alan Mackenzie  <acm@muc.de>
38345         Fix low-level handling of (big) C macros.
38347         In particular, ensure that a comment detected by its syntax is not a CPP
38348         construct marked with generic comment delimiter syntax-table text
38349         properties.
38351         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
38352         c-macro-cache-syntactic to nil when the cached macro changes.
38353         (c-syntactic-end-of-macro, c-no-comment-end-of-macro)
38354         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
38355         (c-state-pp-to-literal, c-parse-ps-state-to-cache)
38356         (c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
38357         (c-determine-limit): When checking a parse syntax for a comment, check that
38358         we're not in a CPP construct marked by syntax-table generic comment delimiter
38359         text property.
38360         (c-state-pp-to-literal): Change from a defsubst to a defun.
38362         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
38363         parse syntax as described above under cc-engine.el.
38365 2017-01-21  Vibhav Pant  <vibhavp@gmail.com>
38367         * lisp/emacs-lisp/bytecomp.el: Remove unused debugging statements.
38369 2017-01-21  Noam Postavsky  <npostavs@gmail.com>
38371         Don't wait for frame to become visible
38373         * src/xterm.c (x_make_frame_visible): Remove code that waits for the
38374         frame to become visible.  We have to deal with invisible frames anyway,
38375         the loop could sometimes before the frame turned visible, and for some
38376         window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
38377         busy loop (Bug#24091).
38379 2017-01-21  Tino Calancha  <tino.calancha@gmail.com>
38381         diff-hunk-kill independent of point inside headers
38383         Make diff-apply-hunk and diff-hunk-kill independent of the point
38384         position in a diff header (Bug#17544).
38385         This change allows to apply hunks in order.  It also makes possible to
38386         press M-k repeatedly to kill hunks in the order they appear in the buffer.
38387         See discussion on #Bug25105.
38388         * lisp/vc/diff-mode.el (diff-file-junk-re):
38389         Move definition before it's used.
38390         (diff--at-diff-header-p): New predicate; return non-nil when point
38391         is inside a hunk header, a file header, or within a line
38392         matching diff-file-junk-re.
38393         (diff-beginning-of-hunk): Use it.
38394         Check if the point is inside a diff header, in the middle of a hunk,
38395         or before the first hunk.
38396         (diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
38397         before apply the hunk.
38398         (diff-hunk-kill, diff-file-kill):
38399         Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
38400         (diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
38402 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
38404         Improve documentation of hooks related to saving buffers
38406         * lisp/files.el (write-file-functions, write-contents-functions)
38407         (before-save-hook, after-save-hook): Note that these are only used
38408         by save-buffer.
38410         * doc/lispref/backups.texi (Auto-Saving):
38411         * doc/lispref/files.texi (Saving Buffers): Mention that
38412         save-related hooks are not run by auto-saving.  (Bug#25460)
38414 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
38416         Improve documentation of auto-save-visited-file-name
38418         * doc/emacs/files.texi (Auto Save Files): Mention subtle
38419         differences between saving the buffer and auto-saving with
38420         auto-save-visited-file-name set non-nil.  (Bug#25478)
38422 2017-01-20  Noam Postavsky  <npostavs@gmail.com>
38424         Fix free var FOO-mode-{syntax,abbrev}-table warnings
38426         * lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
38427         defvar the syntax and abbrev tables so that the compiler will know that
38428         they are dynamically bound variables (Bug#25446).
38430 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
38432         * lisp/emacs-lisp/bytecomp.el: Fix errors with matching quoted forms
38434         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
38435           eval obj2 to avoid quoted forms being stored as is.
38437 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
38439         lisp/emacs-lisp/bytecomp.el: Use byte-switch only for quoted symbols
38441 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
38443         * lisp/emacs-lisp/bytecomp.el: Add default-case for last cond clause.
38445         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
38446         default-case for last cond clause.
38448 2017-01-19  Philipp Stephani  <phst@google.com>
38450         Check that variable lists are actually lists
38452         'let' and 'let*' document that their first argument has to be a list,
38453         but don't check for that; instead, they allow (and silently ignore)
38454         other types.  Introduce an explicit type check.
38456         * src/eval.c (Flet, FletX): Check that the variable list is indeed a
38457         list.
38458         * test/src/eval-tests.el: Add unit tests.
38460 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
38462         Add type checking for Bswitch, when enabled at compile time.
38464         * src/bytecode.c: (exec_byte_code) If BYTE_CODE_SAFE is enabled at
38465           compile time, use CHECK_TYPE to verify that the jump table is a hash table.
38467 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
38469         Use byte-switch for all symbols.
38471         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
38472           t for all symbols (instead for just keywords)
38474 2017-01-19  Noam Postavsky  <npostavs@gmail.com>
38476         Avoid inefficient regex in diff-refine-hunk (Bug#25410)
38478         * lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
38479         (diff-refine-hunk): Use it instead of trying to match multiple lines
38480         with a single lines.
38482 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
38484         Remove lock file when auto-saving into the visited file
38486         * src/fileio.c (write_region): When auto-saving into the visited
38487         file, unlock the file whenever we mark the buffer unmodified.
38488         (Bug#25470)
38490 2017-01-18  Vibhav Pant  <vibhavp@gmail.com>
38492         * src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch
38494         Fgethash type checks the provided table object, which is unnecessary
38495         for compiled bytecode.
38497 2017-01-18  Tom Tromey  <tom@tromey.com>
38499         fix typo in mailcap-mime-extensions
38501         * lisp/net/mailcap.el (mailcap-mime-extensions): Use "text/x-patch",
38502         not "test/x-patch".  (Bug#25472)
38504 2017-01-18  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
38506         Fix typos in flymake.el
38508         * lisp/progmodes/flymake.el (flymake-check-patch-master-file-buffer):
38509         Spelling fixes in the doc string.
38511 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
38513         Fix a bug with signaling a thread that waits for condvar
38515         * src/thread.c (lisp_mutex_lock_for_thread): New function,
38516         with all the guts of lisp_mutex_lock.
38517         (lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
38518         (condition_wait_callback): Don't call post_acquire_global_lock
38519         before locking the mutex, as that could cause a signaled thread to
38520         exit prematurely, because the condvar's mutex is recorded to be
38521         not owned by any thread, and with-mutex wants to unlock it as part
38522         of unwinding the stack in response to the signal.
38524 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
38526         Rudimentary error handling for non-main threads
38528         * src/thread.c (last_thread_error): New static variable.
38529         (syms_of_threads): Staticpro it.
38530         (record_thread_error, Fthread_last_error): New functions.
38531         (syms_of_threads): Defsubr Fthread_last_error.
38533         * doc/lispref/threads.texi (Basic Thread Functions): Document
38534         thread-last-error.
38536         * test/src/thread-tests.el (thread-errors, thread-signal-early)
38537         (threads-condvar-wait): Test the values returned by
38538         thread-last-error.
38540 2017-01-17  Tom Tromey  <tom@tromey.com>
38542         Add info-lookup help for gdb-script-mode
38544         Bug#25464:
38545         * lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
38546         function.
38547         Add help for gdb-script-mode.
38549 2017-01-17  Tom Tromey  <tom@tromey.com>
38551         Treat ":root" as a css-selector
38553         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
38554         ":root" as selector.
38556 2017-01-17  Tom Tromey  <tom@tromey.com>
38558         Fix JS regexp literal syntax propertization in expressions
38560         Bug#25465:
38561         * lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
38562         literal after "!", "&", and "|".
38563         test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.
38565 2017-01-17  Glenn Morris  <rgm@gnu.org>
38567         More NEWS checking for admin.el's set-version
38569         * admin/admin.el (set-version): Warn if temporary NEWS markup
38570         still present in release candidates.
38572 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
38574         Mark unused arguments and remove unused variables
38576         * lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
38577         (dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
38578         (dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
38579         (dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
38580         (dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
38581         (dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
38582         (dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
38583         (dungeon-nil): Mark arguments as unused.
38584         (dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
38585         (dun-restore): Remove unused variable.
38587 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
38589         Fix auto-save-file-name problem in Tramp on MS Windows
38591         * lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
38592         rather than an ange-ftp regexp.
38594         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
38595         Fix a problem when running on MS Windows.
38597         * test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
38598         Adapt test.
38600 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
38602         Fix auto-save-file-name problem in Tramp on MS Windows. Do not merge
38604         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
38605         Fix a problem when running on MS Windows.
38607 2017-01-17  Paul Eggert  <eggert@cs.ucla.edu>
38609         Merge from origin/emacs-25
38611         42614fa Update remaining copyright years with admin.el M-x set-copyright
38612         f17a006 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...
38614 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
38616         Nix some uses of eval
38618         * lisp/play/dunnet.el: Fix triple negative.
38619         (dun-doverb): Use funcall instead of eval.
38620         (dun-echo): Just call dun-mprinc.
38621         (dun-save-val): Just bind value without eval.
38623 2017-01-17  Tom Tromey  <tom@tromey.com>
38625         Fix comment in css-mode.el
38627         * lisp/textmodes/css-mode.el: Remove obsolete comment.
38629 2017-01-16  Vibhav Pant  <vibhavp@gmail.com>
38631         update branch
38633 2017-01-16  Ian Dunn  <dunni@gnu.org>  (tiny change)
38635         * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (Bug#25445).
38637 2017-01-15  Noam Postavsky  <npostavs@gmail.com>
38639         Improve ffap-gopher-at-point handling of long lines
38641         * lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part.  Note
38642         setting to nil is now supported.
38643         (ffap--gopher-var-on-line): New function.
38644         (ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
38645         which could overflow the regexp stack on long lines (Bug#25391).  Use
38646         `let-alist' instead of calling `set' on local variables.
38647         * test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.
38649 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
38651         * lisp/emacs-lisp/byte-opt.el: Optimize how tags are checked for use.
38653         * lisp/emacs-lisp/byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
38654           finding the tag in a jump table.
38656 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
38658         * lisp/emacs-lisp/bytecomp.el: Add documentation, remove code duplication
38660 2017-01-14  Vibhav Pant  <vibhavp@gmail.com>
38662         Add new 'switch' byte-code.
38664         'switch' takes two arguments from the stack: the variable to test, and
38665         a jump table (implemented as a hash-table with the appropriate :test
38666         function). By looking up the value of the variable in the hash table,
38667         the interpreter can jump to the label pointed to by the value, if any.
38668         This implementation can only be used for `cond' forms of the type
38669         `(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
38670         variable `x` is same for all clauses.
38672         * lisp/emacs-lisp/bytecomp.el:
38674           * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
38675             (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
38676             (byte-compile-cond-jump-table), byte-compile-jump-tables.
38678           * Add defcustom `byte-compile-cond-use-jump-table'.
38680           * (byte-compile-cond): Use them.
38682           * (byte-compile-lapcode): Patch tags present in jump tables, if any.
38684         * lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
38685           some peephole optimizations to prevent them from messing up any code
38686           involving `byte-switch`.
38688         * src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
38690 2017-01-14  Alan Third  <alan@idiocy.org>
38692         Fix NS main thread check (bug#25265)
38694         * src/nsterm.m (ns_read_socket, ns_select): Replace mainThread with
38695         isMainThread.
38697 2017-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
38699         * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
38701         `:sqli-comint-func' does not have to be a symbol.
38703 2017-01-14  Alan Mackenzie  <acm@muc.de>
38705         Correct c-parse-state-get-strategy for moving HERE backward into a macro.
38707         * lisp/progmodes/cc-engine.el (c-parse-state-get-strategy): When HERE is below
38708         its previous value, we chose strategy 'forward, and the new HERE is in a
38709         (different) macro, ensure the returned START-POINT is not above the start of
38710         the macro.
38712 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
38714         Include "Date:" in mail messages filed by 'sendmail-send-it'
38716         * lisp/mail/sendmail.el (mail-do-fcc): Insert a 'Date:' header
38717         into the filed message.  In the outgoing message, sendmail will
38718         add the date, but the composed message body doesn't have it.
38719         (Bug#25436)
38721 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
38723         * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#25440)
38725 2017-01-14  Dmitry Gutov  <dgutov@yandex.ru>
38727         Remove leftover references to log-view-message-face
38729         * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.
38731         * lisp/vc/vc-git.el (vc-git-root-log-format): Same.
38733         * lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
38735 2017-01-13  Phillip Lord  <phillip.lord@russet.org.uk>
38737         Record autoloads till emacs dump
38739         * admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
38740         * lisp/ldefs-boot-auto.el (batch-byte-compile): Update
38742         Previously, autoloads were collected till loaddefs.el was generated as
38743         part of the build. However, bootstrap-emacs does not load
38744         loaddefs (rather it is dumped), hence we must record autoloads until the
38745         full emacs binary is dumped.
38747 2017-01-13  Tom Tromey  <tom@tromey.com>
38749         Add chained indentation to js-mode
38751         Bug#20896
38752         * lisp/progmodes/js.el (js-chain-indent): New variable.
38753         (js--skip-term-backward, js--skip-terms-backward)
38754         (js--chained-expression-p): New functions.
38755         (js--proper-indentation): Call js--chained-expression-p.
38756         * test/manual/indent/js-chain.js: New file.
38757         * test/manual/indent/js.js: Add (non-)chained indentation test.
38759 2017-01-13  Tom Tromey  <tom@tromey.com>
38761         Fix js-mode indentation bug
38763         Bug#15582:
38764         * lisp/progmodes/js.el (js--find-newline-backward): New function.
38765         (js--continued-expression-p): Use it.
38766         * test/manual/indent/js.js: Add new test.
38768 2017-01-13  Tom Tromey  <tom@tromey.com>
38770         Fix definition of EMACS in test/manual/indent/Makefile
38772         * test/manual/indent/Makefile (EMACS): Add one more "..".
38774 2017-01-13  Tom Tromey  <tom@tromey.com>
38776         Add .jsx to auto-mode-alist
38778         Bug#25389:
38779         * lisp/files.el (auto-mode-alist): Add entry for .jsx.
38781 2017-01-13  Tom Tromey  <tom@tromey.com>
38783         Fix two js-mode filling bugs
38785         Bug#19399 and Bug#22431:
38786         * lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
38787         c-block-comment-start-regexp.
38788         * test/lisp/progmodes/js-tests.el: New file.
38790 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
38792         Fix last change
38794         * test/src/thread-tests.el (threads-condvar-wait): Revert
38795         previous change.  Make sure no other threads from previous
38796         tests are running, to avoid interfering with our thread counts.
38798 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
38800         Fix the new condvar test
38802         * test/src/thread-tests.el (threads-condvar-wait): Enlarge the
38803         time we sleep in the main thread to let the other thread
38804         process notifications.
38806 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
38808         Minor improvements in the new condvar test
38810         * test/src/thread-tests.el (threads-test-condvar-wait): Use
38811         with-mutex instead of emulating it inline.
38812         (threads-condvar-wait): Improve comments.  Check that the new
38813         thread is alive before waiting for it to become blocked on the
38814         conditional variable.
38816 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
38818         Fix a bug in waiting for condition variable
38820         * src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
38821         (lisp_mutex_unlock_for_wait, condition_wait_callback)
38822         (condition_notify_callback): Improve commentary.
38823         (condition_wait_callback): Call post_acquire_global_lock before
38824         attempting to lock the mutex, to make sure the lock's owner is
38825         recorded correctly.
38827         * test/src/thread-tests.el (threads-condvar-wait): New test.
38829 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
38831         Improve documentation of dabbrevs
38833         * doc/emacs/abbrevs.texi (Dynamic Abbrevs): Add a cross reference
38834         to "Dabbrev Customization".
38835         (Dabbrev Customization): More details about the default value of
38836         dabbrev-abbrev-char-regexp and use cases when it might not be good
38837         enough.  (Bug#25432)
38839 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
38841         Fix last change of dd80ee6 (was: mm-uu.el: Don't dissect patch part)
38843 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
38845         mm-uu.el: Don't dissect patch part
38847         This fixes a bug that the patch part is broken in the article
38848         <87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.
38850         * lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
38851         Don't dissect patch part.
38853 2017-01-13  Dmitry Lazurkin  <dilaz03@gmail.com>
38855         Fix extracting async def type and name in python mode imenu
38857         * lisp/progmodes/python.el (python-imenu--get-defun-type-name):
38858         New function.
38859         (python-imenu--build-tree): Use python-imenu--get-defun-type-name for
38860         extract async or simple def type and name at current
38861         position (Bug#24820).
38862         * test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
38863         (python-imenu-create-flat-index-1): Add async def's.
38865 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
38867         Remove garbage from Content-Transfer-Encoding value (bug#25420)
38869         * lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
38870         (ietf-drums-remove-garbage): New function.
38871         (ietf-drums-remove-whitespace): Remove CR as well.
38873         * lisp/mail/mail-parse.el (mail-header-strip-cte):
38874         Alias to ietf-drums-strip-cte.
38876         * lisp/gnus/gnus-art.el (article-decode-charset):
38877         * lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
38878         * lisp/gnus/mm-decode.el (mm-dissect-buffer):
38879         * lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
38880         (nndoc-rfc822-forward-generate-article):
38881         * lisp/mh-e/mh-mime.el (mh-decode-message-body):
38882         Replace mail-header-strip with mail-header-strip-cte.
38884 2017-01-13  Paul Eggert  <eggert@cs.ucla.edu>
38886         Restore behavior of ‘./autogen.sh autoconf git’
38888         * autogen.sh: Do both autoconf and git setup when invoked
38889         as ‘./autogen.sh autoconf git’.  Avoid unnecessary newline in chatter.
38890         Mention new --no-check option in usage message.  (Bug#25359)
38892 2017-01-12  Glenn Morris  <rgm@gnu.org>
38894         * autogen.sh: Simplify argument parsing.
38896 2017-01-12  Noam Postavsky  <npostavs@gmail.com>
38898         Clarify that easy-menu-add is a nop (Bug#25382)
38900         * lisp/emacs-lisp/easymenu.el (easy-menu-add): Make it into an alias of
38901         `ignore', like `easy-menu-remove'.
38903 2017-01-12  Glenn Morris  <rgm@gnu.org>
38905         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fix entry.
38907 2017-01-11  Glenn Morris  <rgm@gnu.org>
38909         * autogen.sh: Add --no-check option.  (Bug#25359)
38911 2017-01-11  Glenn Morris  <rgm@gnu.org>
38913         Convert some network test failures to skipping
38915         These tests intermittently fail on hydra.nixos.org for unclear
38916         reasons related to starting the external process.
38917         This isn't an Emacs issue, and the failures cause noise on
38918         the emacs-buildstatus list.  (Bug#24503)
38919         * test/lisp/net/network-stream-tests.el (echo-server-nowait)
38920         (connect-to-tls-ipv4-nowait): Skip rather than fail if the
38921         external process fails to start properly.
38923 2017-01-11  Eli Zaretskii  <eliz@gnu.org>
38925         Revert "Add DNS keywords and remove duplications"
38927         This reverts commit 1cb9aa5b14867983d0013a61709b4d0af18364ff.
38929 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
38931         Add DNS keywords and remove duplications
38933         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
38934         NSEC" DNS related keywords and remove duplication of "NSAP".
38936 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
38938         Add DNS keywords and remove duplications
38940         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
38941         NSEC" DNS related keywords and remove duplication of "NSAP".
38943 2017-01-11  Alan Mackenzie  <acm@muc.de>
38945         Handle syntactic WS cache properties more accurately at buffer changes.
38947         This fixes bug #25362.
38949         * lisp/progmodes/cc-engine.el (c-sws-lit-type, c-sws-lit-limits)
38950         (c-invalidate-sws-region-before, c-invalidate-sws-region-after-del)
38951         (c-invalidate-sws-region-after-ins): New variables and functions.
38952         (c-invalidate-sws-region-after): Change from a defsubst to a defun.
38953         Also pass
38954         it the standard OLD-LEN argument.  Call both
38955         c-invalidate-sws-region-after-{ins,del} to check for "dangerous" WS
38956         cache
38957         properties.
38959         * lisp/progmodes/cc-langs.el (c-block-comment-ender-regexp): New language
38960         variable.
38962         * lisp/progmodes/cc-mode.el (c-before-change): Call
38963         c-invalidate-sws-region-before.
38964         (c-after-change): Pass old-len to c-invalidate-sws-region-after.
38966 2017-01-11  Michael Albinus  <michael.albinus@gmx.de>
38968         Support stat 8.26 in Tramp
38970         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
38971         environment variable of newer coreutils.  (Bug#23422)
38973 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
38975         Improve documentation of coding-systems
38977         * doc/lispref/nonascii.texi (Coding System Basics): Mention
38978         'prefer-utf-8'.  Index it and 'undecided'.
38979         (Encoding and I/O): Fix a typo.
38980         (User-Chosen Coding Systems): Improve the documentation of
38981         ACCEPT-DEFAULT-P argument to select-safe-coding-system.  Document
38982         select-safe-coding-system-function.
38983         (Specifying Coding Systems): Document coding-system-require-warning.
38985 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
38987         Merge from gnulib
38989         This incorporates:
38990         2017-01-09 maint: time stamp -> timestamp
38991         2017-01-07 stdioext: Port to Minix 3.2 and newer
38992         2017-01-06 glob, intprops, xalloc: work around Clang bug
38993         2017-01-02 revert copyright-year change to synced files
38994         * doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
38995         * lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
38996         * lib/utimens.c, lib/xalloc-oversized.h:
38997         Copy from gnulib.
38999 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
39001         Don't use unsafe encoding for the bookmark file
39003         * lisp/bookmark.el (bookmark-write-file): Handle the case when the
39004         explicitly specified encoding of the bookmark file cannot encode the
39005         additional bookmarks just added.  (Bug#25365)
39007 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
39009         Improve definition of 'variable-pitch' face on MS-Windows
39011         * lisp/faces.el (variable-pitch): Don't specify too many
39012         attributes of the font, otherwise faces that request different
39013         weight or slant or size will not get them.
39015 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
39017         Fix an error message in python.el
39019         * lisp/progmodes/python.el (python-shell-get-process-or-error):
39020         Don't repeat the same key binding twice.  (Bug#25405)
39022 2017-01-09  Phillip Lord  <phillip.lord@russet.org.uk>
39024         Remove unused ldefs-boot.el
39026          * lisp/ldefs-boot.el: Remove
39028         This file was not removed as reported in c27b645956a11, but accidentally
39029         left.
39031 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
39032             Eli Zaretskii  <eliz@gnu.org>
39034         Use expanded stack during regex matches
39036         While the stack is increased in main(), to allow the regex stack
39037         allocation to use alloca we also need to modify regex.c to actually take
39038         advantage of the increased stack, and not limit stack allocations to
39039         SAFE_ALLOCA bytes.
39041         * src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
39042         allocations in signal handlers which no longer happens and correct
39043         description about when and why MATCH_MAY_ALLOCATE should be defined.
39044         (emacs_re_safe_alloca): New variable.
39045         (REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
39046         of MAX_ALLOCA.
39047         (emacs_re_max_failures): Rename from `re_max_failures' to avoid
39048         confusion with glibc's `re_max_failures'.
39049         * src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
39050         to the stack.  Instead of changing emacs_re_max_failures based on the
39051         new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
39052         remains constant regardless, since if we run out stack space SAFE_ALLOCA
39053         will fall back to heap allocation.
39055 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
39057         Fix computation of regex stack limit
39059         The regex stack limit was being computed as the number of stack entries,
39060         whereas it was being compared with the current size as measured in
39061         bytes.  This could cause indefinite looping when nearing the stack limit
39062         if re_max_failures happened not to be a multiple of sizeof
39063         fail_stack_elt_t (Bug #24751).
39065         * src/regex.c (GROW_FAIL_STACK): Compute both current stack size and
39066         limit as numbers of stack entries.
39068 2017-01-08  Alan Third  <alan@idiocy.org>
39070         Remove apploopnr
39072         * src/nsterm.m (ns_select, ns_read_socket): Remove apploopnr and only
39073         allow app loop to run in main thread.
39075 2017-01-08  Glenn Morris  <rgm@gnu.org>
39077         Remove unused configure output variable
39079         * configure.ac (GNULIB_MK):
39080         * Makefile.in (gnulib_mk): Remove, no longer used.
39082 2017-01-08  Glenn Morris  <rgm@gnu.org>
39084         Fix automake dependencies
39086         * Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk.  (Bug#25372)
39087         All platforms need this file to exist.
39089 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
39091         Remove unnecessary blankp code
39093         * src/character.c (blankp): Remove redundant code that slows Emacs
39094         down a bit.  The caller already does the test.
39096 2017-01-08  Stefan Merten  <stefan@merten-home.de>
39098         * lisp/textmodes/rst.el: Fix rst-forward-indented-block.
39100         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
39101         (rst-svn-timestamp)
39102         (rst-official-version, rst-official-cvs-rev)
39103         (rst-package-emacs-version-alist): Maintain version numbers.
39104         (rst-forward-indented-block): Fix. Start searching at next
39105         line again. Fixes fontification of comments continuing on the
39106         same line they started.
39108 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
39110         Remove @SET_MAKE@ from manually-maintained files
39112         Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
39113         * Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
39114         * src/Makefile.in: Remove @SET_MAKE@.
39116 2017-01-07  Michael Albinus  <michael.albinus@gmx.de>
39118         Fix a problem with `start-file-process' in Tramp
39120         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
39121         `start-file-process' shall work when `non-essential' is
39122         non-nil, but there is already an established connection.
39123         <https://github.com/company-mode/company-mode/issues/462>
39125 2017-01-07  Rolf Ade  <rolf@pointsman.de>  (tiny change)
39127         Fix selecting SQLite database files with sql-mode (Bug#23566)
39129         * lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
39130         SQLite database file name, by default.
39131         (sql-get-login-ext): Fixed read-file-name arguments to provide
39132         path completion even if a database name pattern is customized and to
39133         allow creation of new SQLite database files.
39135 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
39137         Clarify major mode switching
39139         * doc/emacs/modes.texi (Major Modes):
39140         * doc/lispref/modes.texi (Modes, Major Modes): Explictly say that each
39141         buffer has exactly one major mode and can't be "turned off", only
39142         switched away from (Bug#25357).
39144 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
39146         Add helpful comment to compile-command's docstring
39148         * lisp/progmodes/compile.el (compile-command): Mention trailing space in
39149         docstring (Bug#25337).
39151 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
39153         Specify encoding of the bookmark file
39155         * lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
39156         Accept an argument CODING and include a 'coding:' cookie in the
39157         bookmark file preamble.
39158         (bookmark-upgrade-file-format-from-0): Call
39159         'bookmark-insert-file-format-version-stamp' with the file buffer's
39160         encoding, as detected when it was read.
39161         (bookmark-file-coding-system): New variable.
39162         (bookmark-load): Set bookmark-file-coding-system to the encoding
39163         of the loaded file.
39164         (bookmark-write-file): Bind coding-system-for-write to either the
39165         user setting via "C-x RET c" or to the existing file encoding,
39166         defaulting to 'utf-8-emacs'.  Update the value of
39167         bookmark-file-coding-system.  (Bug#25365)
39169 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
39171         Avoid infloop in 'ispell-region'
39173         * lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
39174         Protect against 'ispell-skip-region-alist' being nil.  Reported by
39175         Ernest Adrogué <nfdisco@gmail.com>, see
39176         https://lists.gnu.org/r/help-gnu-emacs/2017-01/msg00007.html.
39178 2017-01-06  Philipp Stephani  <phst@google.com>
39180         Add support for Unicode whitespace in [:blank:]
39182         See Bug#25366.
39184         * src/character.c (blankp): New function for checking Unicode
39185         horizontal whitespace.
39186         * src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal
39187         whitespace.
39188         (BIT_BLANK): New bit for range table.
39189         (re_wctype_to_bit, execute_charset): Use it.
39190         * test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add
39191         unit test for [:blank:] character class.
39192         * test/src/regex-tests.el (test): Adapt unit test.
39193         * doc/lispref/searching.texi (Char Classes): Document new Unicode
39194         behavior for [:blank:].
39196 2017-01-06  Eli Zaretskii  <eliz@gnu.org>
39198         Fix ':version' of 'select-enable-primary'
39200         * lisp/select.el (select-enable-primary): Fix a typo in
39201         ':version'.  (Bug#25375)
39203 2017-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
39205         (feedmail-deduce-address-list): Avoid add-to-list on local variables.
39207         Author:
39209         * lisp/mail/feedmail.el (feedmail-deduce-address-list):
39210         Avoid add-to-list on local variables.
39212 2017-01-06  Noam Postavsky  <npostavs@gmail.com>
39214         Fix isearch handling of C-u C-u...
39216         * lisp/isearch.el: Add `isearch-scroll' property to
39217         universal-argument-more so that `isearch-allow-scroll' will apply to it
39218         as well.
39219         (isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
39220         `universal-argument-more' as well (Bug#25302).
39222 2017-01-05  Paul Eggert  <eggert@cs.ucla.edu>
39224         Shorten autogen.sh script
39226         * autogen.sh: Use a shorter script, as some 'sed' implementations
39227         mishandle long scripts.
39229 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
39231         Yet another fix for autogen.sh
39233         * autogen.sh (gnulib.mk): Make the Sed script more portable.
39235         * nt/Makefile.in (${srcdir}/gnulib.mk): Adapt the Sed command to
39236         the changes in autogen.sh.
39238 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
39240         * autogen.sh (gnulib.mk): Another attempt to fix macOS build.
39242 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
39244         Fix dependencies of nt/gnulib.mk
39246         * Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
39247         of nt/gnulib.mk on lib/Makefile.in.
39249 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
39251         Unbreak macOS build
39253         * autogen.sh (gnulib.mk): Don't use non-portable extensions of GNU
39254         Sed.
39256 2017-01-05  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
39258         Fix term.el handling of ^Z-sequences spanning chunks
39260         Bash will after each command send ?\032 and the current directory "/tmp"
39261         to inform term.el.  Bash output is buffered in 4096 bytes chunks.  If a
39262         command outputs roughly 4096 bytes then the end of the first chunk will
39263         be "/tm" (Bug#13350).
39265         * lisp/term.el (term-emulate-terminal): Change the regexp to find the
39266         end of the ?\032 sequence to use \n instead of $, the latter can match
39267         end of string as well.
39269 2017-01-05  Mark Oteiza  <mvoteiza@udel.edu>
39271         Turn on lexical-binding in mb-depth.el
39273         * lisp/mb-depth.el: Turn on lexical-binding.
39274         (minibuffer-depth-setup): Bind things used multiple times.
39276 2017-01-04  Alan Third  <alan@idiocy.org>
39278         Revert "Rework NS event handling (bug#25265)"
39280         This reverts commit e0e5b0f4a4ce1d19ee0240c514dedd873d4165dc.
39282 2017-01-04  Glenn Morris  <rgm@gnu.org>
39284         Update remaining copyright years with admin.el M-x set-copyright
39286         * etc/refcards/ru-refcard.tex (cyear): Set to 2017.
39288 2017-01-04  Glenn Morris  <rgm@gnu.org>
39290         * lisp/ffap.el (ffap-lax-url): Bump :version after recent change.
39292 2017-01-04  Paul Eggert  <eggert@cs.ucla.edu>
39294         Port recent autogen.sh changes to Darwin
39296         Problem reported by Sam Steingold (Bug#25347).
39297         * autogen.sh: Don't assume 'sed -f-' reads a script from stdin, as
39298         POSIX does not require it and it does not work on Darwin.
39300 2017-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
39302         Avoid add-to-list on local variables
39304         * lisp/gnus/nnir.el: Use lexical-binding and cl-lib.
39305         (nnir-retrieve-headers): Use pcase.
39306         (nnir-search-thread): Avoid add-to-list on local variables.
39308         * lisp/gnus/smime.el: Use lexical-binding and cl-lib.
39309         (smime-verify-region): Avoid add-to-list on local variables.
39311         * lisp/mail/undigest.el: Use lexical-binding and cl-lib.
39312         (rmail-digest-parse-mime, rmail-digest-rfc1153)
39313         (rmail-digest-parse-rfc934): Avoid add-to-list on local variable.
39315         * lisp/net/ldap.el (ldap-search): Move init into declaration.
39317         * lisp/net/newst-backend.el (newsticker--cache-add):
39318         Avoid add-to-list on local variables; Simplify code with `assq'.
39320         * lisp/net/zeroconf.el: Use lexical-binding and cl-lib.
39321         (dbus-debug): Remove declaration, unused.
39322         (zeroconf-service-add-hook, zeroconf-service-remove-hook)
39323         (zeroconf-service-browser-handler, zeroconf-publish-service):
39324         Avoid add-to-list and *-hook on local variables.
39326         * lisp/org/org-archive.el (org-all-archive-files):
39327         * lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
39328         Avoid add-to-list on local variables.
39330         * lisp/org/ox-publish.el (org-publish--run-functions): New function.
39331         (org-publish-projects): Use it to avoid run-hooks on a local variable.
39332         (org-publish-cache-file-needs-publishing): Avoid add-to-list on
39333         local variables.
39335         * lisp/progmodes/ada-prj.el: Use setq instead of (set '...).
39336         (ada-prj-load-from-file): Avoid add-to-list on local variables.
39338         * lisp/progmodes/ada-xref.el (ada-initialize-runtime-library): Simplify.
39339         (ada-gnat-parse-gpr, ada-parse-prj-file-1)
39340         (ada-xref-find-in-modified-ali): Avoid add-to-list on local variables.
39342         * lisp/progmodes/idlw-shell.el (idlwave-shell-update-bp-overlays):
39343         Avoid add-to-list on local variables.
39345 2017-01-04  Mark Oteiza  <mvoteiza@udel.edu>
39347         Turn on lexical-binding in md4.el
39349         * lisp/md4.el: Turn on lexical-binding.
39350         * test/lisp/md4-tests.el: New file.
39352 2017-01-03  Stefan Merten  <stefan@merten-home.de>
39354         Lots of refactorings and a few minor improvements.
39356         User visible improvements and changes:
39357         * Improve and debug `rst-forward-section` and `rst-backward-section`.
39358         * Auto-enumeration may be used with all styles for list insertion.
39359         * Improve and debug `rst-toc-insert`.
39360         * Adapt change in Emacs to use customization group `text` instead of `wp`.
39361         * Bind `n` and `p` in `rst-toc-mode`.
39362         * `z` in `toc-mode` returns to the previous window configuration.
39363         * Require Emacs version >= 24.1.
39365         Lots of refactorings including:
39366         * Silence byte compiler.
39367         * Use lexical binding.
39368         * Use `cl-lib`.
39369         * Add tests and raise test coverage.
39371 2017-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
39373         (cl-defstruct): Improve error message for slots w/o value (bug#25312)
39375         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
39376         emit a warning for those coders who forgot to put a default value in
39377         their slot.
39379 2017-01-03  Philipp Stephani  <p.stephani2@gmail.com>
39381         Small patch for ffap.el
39383         * lisp/ffap.el (ffap-alist): Document that ffap sets the match data
39384         while walking 'ffap-alist'.
39386 2017-01-03  Eli Zaretskii  <eliz@gnu.org>
39388         Generate nt/gnulib.mk from lib/gnulib.mk
39390         This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
39391         with the purpose of avoiding manual maintenance of
39392         nt/gnulib.mk.
39394         * nt/gnulib-modules-to-delete.cfg: New file.
39395         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
39396         (am__v_GEN_1): New variables.
39397         (${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
39398         lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.
39400         * make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
39401         files to link.
39402         * configure.ac (GNULIB_MK): Compute the value according to $opsys.
39403         * autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
39404         running autoreconf.
39405         * Makefile.in (gnulib_mk): New variable.
39406         ($(srcdir)/nt/gnulib.mk): Rule to produce it.
39407         (AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
39408         name.
39409         * .gitignore: Add nt/gnulib.mk.
39411         * src/w32.c (acl_errno_valid): Implement it here, as we no longer
39412         build the acl-permissions module from Gnulib.
39414 2017-01-03  Noam Postavsky  <npostavs@gmail.com>
39416         Handle multibyte chars spanning chunks in term.el
39418         * lisp/term.el (term-terminal-undecoded-bytes): New variable.
39419         (term-mode): Make it buffer local.  Don't make `term-terminal-parameter'
39420         buffer-local twice.
39421         (term-emulate-terminal): Check for bytes of incompletely decoded
39422         characters, and save them until the next call when they can be fully
39423         decoded (Bug#25288).
39425 2017-01-03  Michael Albinus  <michael.albinus@gmx.de>
39427         Finish work on filenotify-tests.el
39429         * test/lisp/filenotify-tests.el (file-notify--test-monitors):
39430         New variable.
39431         (file-notify--test-cleanup, file-notify--test-monitor): Use it.
39432         (file-notify--test-read-event, file-notify-test02-events)
39433         (file-notify-test04-file-validity): Handle "gvfs-monitor-dir.exe".
39434         (file-notify-test03-autorevert)
39435         (file-notify-test08-watched-file-in-watched-dir):
39436         Set `file-notify--test-desc' for proper work of
39437         `file-notify--test-monitor'.  (Bug#21804)
39439 2017-01-02  Michael Albinus  <michael.albinus@gmx.de>
39441         Check also for "gvfs-monitor-dir.exe" in Tramp
39443         * lisp/net/tramp-sh.el (tramp-get-remote-gvfs-monitor-dir): Check also
39444         for "gvfs-monitor-dir.exe".
39446 2017-01-02  Eli Zaretskii  <eliz@gnu.org>
39448         Fix compilation --without-x
39450         * src/composite.c (autocmp_chars) [HAVE_WINDOW_SYSTEM]: Call
39451         font_range only if it is compiled in.  (Bug#25334)
39453 2017-01-02  Sašo Živanović  <saso.zivanovic@guest.arnes.si>
39455         Fix RefTeX to show table of contents for dtx files (tiny change)
39457         * lisp/textmodes/reftex.el (reftex-compile-variables): Change the
39458           section regexp so that it accepts lines starting with the comment
39459           character. (tiny change)
39460         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file): Filter
39461           gathered toc entries, accepting a commented entry if and only if the
39462           source file is a ".dtx" file. (tiny change)
39464 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
39466         Remove mistakenly-added files
39468         Problem reported by Glenn Morris in:
39469         https://lists.gnu.org/r/emacs-devel/2017-01/msg00008.html
39470         * lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
39471         * lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
39472         * lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
39473         * lisp/obsolete/iso-acc.el, lisp/obsolete/iso-insert.el:
39474         * lisp/obsolete/iso-swed.el, lisp/obsolete/resume.el:
39475         * lisp/obsolete/scribe.el, lisp/obsolete/spell.el:
39476         * lisp/obsolete/swedish.el, lisp/obsolete/sym-comp.el:
39477         Remove files that were added by mistake during a merge.
39479 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
39481         Warn about incomplete untarring of link files
39483         The current tar-mode doesn't really support unpacking symlinks, it
39484         simply creates an empty file of the same name.
39486         * lisp/tar-mode.el (tar--describe-as-link): New function extracted from
39487         `tar--check-descriptor'.
39488         (tar-untar-buffer): Use it to warn about imperfectly untarred link
39489         files.
39491 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
39493         Remove sh-mode's skeleton-end-hook
39495         * lisp/progmodes/sh-script.el (sh-mode): Remove local setting of
39496         `skeleton-end-hook', `skeleton-insert' already does `newline-and-indent'
39497         and also respects `skeleton-end-newline' (Bug#16634).
39499 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
39501         * nt/gnulib.mk (stdint.h): Update to match lib/gnulib.mk here.
39503 2017-01-01  Mark Oteiza  <mvoteiza@udel.edu>
39505         Add term/tmux.el
39507         Since tmux version 2.1, new tmux terminfos are shipped due to oddities
39508         with xterm and screen terminfos.  This is simply a duplication of
39509         term/screen.el with screen -> tmux.
39510         * lisp/term/tmux.el: New file.
39512 2017-01-01  Philipp Stephani  <phst@google.com>
39514         Fix encoding of JSON surrogate pairs
39516         JSON requires that such pairs be treated as UTF-16 surrogate pairs, not
39517         individual code points; cf. Bug #24784.
39519         * lisp/json.el (json-read-escaped-char): Fix decoding of surrogate
39520         pairs.
39521         (json--decode-utf-16-surrogates): New defun.
39523         * test/lisp/json-tests.el (test-json-read-string): Add test for
39524         surrogate pairs.
39526 2017-01-01  Michael Albinus  <michael.albinus@gmx.de>
39528         Remove tramp-gw.el, which was synced from emacs-25 by accident
39530 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
39532         Do not use Gnulib’s m4/wint_t.m4.
39534         * admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
39535         Fix typo so that warn-on-use.m4 is removed too.
39536         * configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
39537         * m4/wint_t.m4: Remove.
39539 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
39541         Merge from gnulib, continued
39543         * m4/wint_t.m4: New file, copied from gnulib.
39545 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
39547         Update copyright year to 2017 in master
39549         Run admin/update-copyright in the master branch.  This fixes files
39550         that were not already fixed in the emacs-25 branch before it was
39551         merged here.
39553 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
39555         Remove test/automated detritus from merge
39557 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
39559         Merge from gnulib
39561         This incorporates:
39562         2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
39563         2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
39564         2016-12-17 getlogin: Port to newer mingw
39565         2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
39566         2016-12-17 Avoid redefinition errors on MSVC
39567         * lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
39568         * m4/stdint.m4, m4/unistd_h.m4:
39569         Copy from gnulib.
39570         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
39571         Plus, this commit updates the indenting on copyright notices to
39572         match that of gnulib.
39574 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
39576         Merge from origin/emacs-25
39578         2e2a806 Fix copyright years by hand
39579         5badc81 Update copyright year to 2017
39581 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
39583         Merge from origin/emacs-25
39585         665be69 ; Update ChangeLog.2 and AUTHORS files
39587         # Conflicts:
39588         #       etc/AUTHORS
39590 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
39592         Merge from origin/emacs-25
39594         697167b ; Improve wording of previous change in variables.texi
39595         d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
39596         8b71826 Don't modify minibuffer variables globally
39597         5b5e036 Revert to pre-25.1 behavior in ffap
39598         19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
39599         3ace730 Attempt to fix 64-bit AIX build
39600         f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
39601         c04ac8a Document that variable binding order is unspecified
39602         272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
39603         08de101 Fix M-x hints on Mac port
39604         86a297a Work around reporting a dpi change in apply_xft_settings
39605         cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
39606         9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't m...
39607         88cdf14 Improve skeleton docstrings
39609 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
39611         Merge from origin/emacs-25
39613         4179238 Improve documentation of 'w32-scroll-lock-modifier'
39615 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
39617         Merge from origin/emacs-25
39619         9adb101 Document 'describe-fontset'
39620         229315c ; Add missing symbol quoting.
39621         3d94931 Repair desktop restoration on text terminals
39622         43022f9 Ignore forward-sexp-function in js-mode indentation code
39623         b19fb49 Improve documentation of 'define-coding-system'
39624         467768f Fix Bug#25162
39625         6db78ae Fix a typo in define-abbrev-table
39626         5f7d906 Bump makeinfo requirement from 4.7 to 4.13
39627         442e2f6 Fixes related to select-enable-clipboard
39628         e4ac450 Define struct predicate before acccesors
39629         08decbd Doc fix for vc-git
39630         5531e75 Further improve make-dist checking
39631         953bf67 Improve previous make-dist change
39632         129645a Make make-dist --snapshot do some sanity checks
39634         # Conflicts:
39635         #       lisp/menu-bar.el
39637 2017-01-01  Alan Mackenzie  <acm@muc.de>
39639         Give eval-and-compile a correct edebug spec.  Fixes bug #16184 properly.
39641         * lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
39642         from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.
39644         * lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
39645         t to (&rest def-form).
39647 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
39649         Fix copyright years by hand
39651         These are dates that admin/update-copyright did not update, or
39652         updated incorrectly.
39654 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
39656         Update copyright year to 2017
39658         Run admin/update-copyright.
39660 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
39662         Clarify internal_catch etc.
39664         The recent change to internal_catch and friends relied on some
39665         confusion I introduced to the code in 2013.  Attempt to fix
39666         the confusion by clarifying the code instead.  This saves an
39667         instruction and a load dependency in the typical case.
39668         * src/eval.c (internal_catch, internal_condition_case)
39669         (internal_condition_case_1, internal_condition_case_2)
39670         (internal_condition_case_n): Undo the previous change.  Instead,
39671         use use ‘c’ rather than ‘handlerlist’ in the typical case.
39672         Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.
39674 2016-12-31  Ken Brown  <kbrown@cornell.edu>
39676         Further improve filenotify-tests.el
39678         * test/lisp/filenotify-tests.el
39679         (file-notify--test-read-event): Adapt to file monitors of type
39680         GFamFileMonitor, which occur on Cygwin.
39681         (file-notify--test-monitor): Update doc string.
39683 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
39685         * src/xdisp.c (string_from_display_spec): Simplify.
39687 2016-12-31  Alan Third  <alan@idiocy.org>
39689         Rework NS event handling (bug#25265)
39691         * src/nsterm.m (unwind_apploopnr): Remove.
39692         (ns_read_socket): Remove references to apploopnr.  Make processing the
39693         NS event loop conditional on being in the main thread.
39694         (ns_select): Remove references to apploopnr.  Remove all fd_handler
39695         related stuff.  Check if there are events waiting on the NS event
39696         queue rather than running the event loop.  Remove unused variables and
39697         code.
39698         (fd_handler): Remove.
39699         (ns_term_init): Remove creation of fd_handler thread.
39700         (hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
39701         EmacsView:windowDidExpose): Remove send_appdefined.
39702         (ns_send_appdefined): Always check the event queue for
39703         applicationDefined events rather than relying on send_appdefined var.
39704         * src/nsterm.h: Remove reference to fd_handler method.
39706 2016-12-31  Philipp Stephani  <phst@google.com>
39708         Checkdoc: use syntax functions instead of regex
39710         In checkdoc.el, get rid of the error-prone regex to find definition
39711         forms, and use existing syntax-based navigation functions instead.
39712         This fixes a corner case with one-argument `defvar' forms.
39714         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
39715         (checkdoc-next-docstring, checkdoc-defun): Use it.
39716         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
39717         Add unit test.
39719 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
39721         Don't define NOMINMAX on MS-Windows
39723         * src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define.  This is no
39724         longer needed with the current sources and MinGW headers, while
39725         defining NOMINMAX causes an annoying compiler warning.
39727 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
39729         Simplify code in eval.c that calls 'setjmp'
39731         * src/eval.c (internal_catch, internal_condition_case)
39732         (internal_condition_case_1, internal_condition_case_2)
39733         (internal_condition_case_n): Factor out the common tail of the
39734         functions.
39736 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
39738         Simplify code in 'string_from_display_spec'
39740         * src/xdisp.c (string_from_display_spec): Eliminate a redundant
39741         test before the loop.
39743 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
39745         Serialize random number generation on MS-Windows
39747         * src/w32.c (rand_as183): New function.
39748         (random): Use it instead of MS runtime's 'rand'.  This avoids
39749         producing separate and identical random series in each Lisp
39750         thread.
39751         (srandom): Modify to supply 3 seed values to 'rand_as183'.
39753 2016-12-31  Michael Albinus  <michael.albinus@gmx.de>
39755         * src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol.
39757 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
39759         Don't call xg_select for a NextStep build.
39761         NextStep builds use glib but don't use xg_select.
39763         * src/process.c (wait_reading_process_output): Don't call xg_select
39764         for a NextStep build.
39766 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
39768         Increase the obarray size.
39770         In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
39771         the time we've started.  The old obarray size ensured an average chain
39772         length of 10 or more.
39774         * src/lread.c (OBARRAY_SIZE): Increase to 15121.
39776 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
39778         Initialize thread support for Xlib.
39780         * src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
39781         before doing anything else with X.
39783 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
39785         Rename primary_thread to main_thread
39787         This avoids the confusion of using two different phrases "main thread"
39788         and "primary thread" internally to mean the same thing.  See:
39789         https://lists.gnu.org/r/emacs-devel/2016-12/msg01142.html
39790         * src/thread.c (main_thread): Rename from primary_thread,
39791         since the new name no longer clashes with main_thread_id
39792         and Emacs internals normally call this the "main thread".
39793         (init_main_thread): Rename from init_primary_thread.
39794         (main_thread_p): Rename from primary_thread_p.
39795         All uses changed.
39797 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
39799         Rename main_thread to main_thread_id and simplify
39801         * src/emacs-module.c: Include syssignal.h, for main_thread_id.
39802         [HAVE_PTHREAD]: Do not include pthread.h.
39803         (main_thread): Remove.  All uses replaced by main_thread_id,
39804         or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
39805         the main_thread_id established by sysdep.c, there is no need for a
39806         separate copy of the main thread ID here.
39807         (module_init): Remove.  All uses removed.
39808         * src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
39809         Rename from main_thread.  All uses changed.  Now extern.
39811 2016-12-30  Michael Albinus  <michael.albinus@gmx.de>
39813         * src/gfilenotify.c (Fgfile_monitor_name): Return a symbol.
39815 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
39817         * src/sysdep.c (deliver_process_signal): Improve comment.
39819 2016-12-30  Alan Mackenzie  <acm@muc.de>
39821         CC Mode: Fix the fontification of a spuriously recognized enum member.
39823         The "enum" was in an argument list, but triggered the fontification of a
39824         following identifier in the function block as though it were in an enum
39825         declaration.
39827         * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
39828         (c-basic-matchers-after): Replace the inline stanza for enum elements with a
39829         call to c-font-lock-enum-body.
39831         * lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
39832         variable.
39834 2016-12-30  Nicolas Petton  <nicolas@petton.fr>
39836         Bump Emacs version to 25.1.91
39838         * README:
39839         * configure.ac:
39840         * msdos/sed2v2.inp:
39841         * nt/README.W32: Bump Emacs version.
39842         * lisp/ldefs-boot.el: Update.
39844 2016-12-30  Eli Zaretskii  <eliz@gnu.org>
39846         Attempt to fix crashes with threads in GTK builds
39848         * src/xgselect.c (xg_select): Call pselect via thread_select, not
39849         directly, to avoid running Lisp (via unblock_input) when more than
39850         one thread could be running.  (Bug#25247)
39851         * src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
39852         xg_select directly instead of through thread_select.
39853         * src/xgselect.h (xg_select): Last 2 arguments are no longer
39854         'const', for consistency with thread_select.
39856 2016-12-30  Arash Esbati  <arash.esbati@gmail.com>
39858         Add entry for biblatex
39860         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
39861         entry for biblatex macros.
39863 2016-12-30  Alan Mackenzie  <acm@muc.de>
39865         Backport: Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
39867         The ambiguity was whether INITVALUE is evaluated when it's not going to be
39868         used to set SYMBOL's value.
39870         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
39872         (cherry picked from commit 8295e97f18490a535d1188a3daf0b0fd1bf4fa0d)
39874 2016-12-30  Tino Calancha  <tino.calancha@gmail.com>
39876         ffap-string-at-point: Limit max length of active region
39878         Prevents that 'ffap-guesser' waste time checking large strings
39879         which are likely not valid candidates (Bug#25243).
39880         * lisp/ffap.el (ffap-max-region-length): New variable.
39881         (ffap-string-at-point): Use it.
39882         * test/lisp/ffap-tests.el: New test suite.
39883         (ffap-tests-25243): Add test for this bug.
39885 2016-12-30  Thien-Thi Nguyen  <ttn@gnu.org>
39887         last-chance: Also ignore NEWS files + typo fixes
39889         * admin/last-chance.el: Fix typo in copyright notice.
39890         (last-chance-uninteresting-regexps): Add entry to match NEWS files.
39891         (last-chance-cleanup): Fix typo in docstring.
39893 2016-12-29  Mike Kupfer  <mkupfer@alum.berkeley.edu>
39895         * lisp/mh-e/mh-e.el (mh-fetch-x-image-url): Fix a docstring typo.
39897 2016-12-29  Alan Mackenzie  <acm@muc.de>
39899         Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
39901         The ambiguity was whether INITVALUE is evaluated when it's not going to be
39902         used to set SYMBOL's value.
39904         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
39906 2016-12-29  Michael Albinus  <michael.albinus@gmx.de>
39908         Improve filenotify-tests.el
39910         * src/inotify.c (Finotify_valid_p):
39911         * src/kqueue.c (Fkqueue_valid_p):
39912         * src/w32notify.c (Fw32notify_valid_p):
39913         * src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
39914         (Fgfile_monitor_name): New defun.
39915         (syms_of_gfilenotify): Declare Sgfile_monitor_name.
39917         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
39918         New defun, derived from `file-notify--test-read-event-timeout'.
39919         Replace all calls of `read-event' by this.
39920         (file-notify--test-timeout): Fix docstring.
39921         (file-notify--test-monitor): New defun.
39922         (file-notify--deftest-remote): Do not bind
39923         `file-notify--test-read-event-timeout' anymore.
39924         (file-notify-test00-availability): Print also monitor, if existent.
39925         (file-notify--test-with-events): Add an additional
39926         `file-notify--test-read-event' call, in order to get it work
39927         after `file-notify-add-watch'.  Remove special timeout for cygwin.
39928         (file-notify-test02-events): Make a better check for cygwin.
39929         (file-notify-test06-many-events): Improve event list for cygwin.
39930         (file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
39932 2016-12-29  Alan Mackenzie  <acm@muc.de>
39934         Partially correct fontification of "(b*3)", and the like, in C++ Mode
39936         This problem is caused by the fundamental ambiguity in C++ between
39937         argument declarations and initialization clauses.
39939         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
39940         paren preceded by an arithmetic operator, we give this the context nil, not
39941         'arglist.
39943         * lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
39944         New lang consts and vars.
39946 2016-12-29  Alan Mackenzie  <acm@muc.de>
39948         Initialize edebug-offset-indices to a cons, not nil.  Fixes bug #16184.
39950         This is because there are times when this variable is changed by setcar before
39951         an atom is pushed onto it by debug-enter.  This happens, for example, whilst
39952         instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.
39954         * lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).
39956 2016-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
39958         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
39960         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
39961         Cherry picked from commit e6161f648903d821865b9610b3b6aa0f82a5dcb7.
39963 2016-12-27  Michael Albinus  <michael.albinus@gmx.de>
39965         Release Tramp 2.3.1
39967         * doc/misc/trampver.texi:
39968         * lisp/net/trampver.el: Change version to "2.3.1".
39970         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
39971         `eshell-mode-hook' but `eshell-first-time-mode-hook'.
39973         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
39974         (tramp-compat-file-name-quote)
39975         (tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.
39977 2016-12-27  Paul Eggert  <eggert@cs.ucla.edu>
39979         Simplify prog1 implementation
39981         Inspired by a suggestion from Chris Gregory in:
39982         https://lists.gnu.org/r/emacs-devel/2016-12/msg00965.html
39983         On my platform, this generates exactly the same machine insns.
39984         * src/eval.c (prog_ignore): Rename from unwind_body, since
39985         it’s more general than that.  All callers changed.
39986         (Fprog1): Simplify by using prog_ignore.
39987         (Fwhile): Clarify by using prog_ignore.
39989 2016-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
39991         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
39993         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
39995 2016-12-27  Mark Oteiza  <mvoteiza@udel.edu>
39997         Remove a use of lexical-let
39999         * lisp/gnus/message.el (message-completion-function): Just use let,
40000         since the file now uses lexical-binding.
40002 2016-12-27  Ken Brown  <kbrown@cornell.edu>
40004         Improve filenotify-tests.el on Cygwin (Bug #21804)
40006         * test/lisp/filenotify-tests.el [CYGWIN]
40007         (file-notify--test-read-event-timeout): Increase.
40008         (file-notify--test-with-events): Add delay before executing body.
40009         (file-notify-test02-events, file-notify-test04-file-validity):
40010         Adjust expected results.
40012 2016-12-27  Eli Zaretskii  <eliz@gnu.org>
40014         Fix expand-file-name on DOS_NT systems when /: escaping is used
40016         * src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
40017         file names escaped by "/:".  Don't recursively expand
40018         default-directory escaped with "/:" which is not followed by a
40019         drive spec.  (Bug#25183)
40021 2016-12-27  Bake Timmons  <65pandas@gmail.com>
40023         Fix `mail-sources' value of `(group)' in Gnus manual (bug#25275)
40025         * doc/misc/gnus.texi (Mail Source Specifiers):
40026         Replace wrong `mail-sources' value of `(group)' in Gnus manual with
40027         the correct `((group))' value.  (bug#25275) (tiny change)
40029 2016-12-27  Bake Timmons  <65pandas@gmail.com>
40031         Fix bug in customizing `mail-sources' variable (bug#25274)
40033         * lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
40034         for lone argument. (bug#25274) (tiny change)
40036 2016-12-26  Philipp Stephani  <phst@google.com>
40038         Checkdoc: Don't require a space before an arg list
40040         See Bug#24998.
40042         * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
40043         space before a argument list.
40044         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
40045         Add unit test.
40047 2016-12-26  Eli Zaretskii  <eliz@gnu.org>
40049         Document 'default-toplevel-value' and 'set-default-toplevel-value'
40051         * doc/lispref/variables.texi (Default Value): Document
40052         'default-toplevel-value' and 'set-default-toplevel-value'.
40054 2016-12-25  Michihito Shigemura  <m_shigemura@shigemk2.com>  (tiny change)
40056         Add zshrc and zshenv detection to sh-mode (bug#25217)
40058         * lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match
40060 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
40062         Fix typo in lisp.h reordering patch
40064         * src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
40065         Reported by Eli Zaretskii (Bug#25128#19).
40067 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
40069         regex.h now includes sys/types.h
40071         * src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
40072         Do not include sys/types.h; no longer needed.
40073         * src/regex.h: Include <sys/types.h>, as that's what Gnulib and
40074         glibc regex.h does, and POSIX has blessed this since 2008.
40076 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
40078         Reorder lisp.h to declare types before using them
40080         This puts basic functions for types to be after the corresponding
40081         type definitions.  This is a more-common programming style in C,
40082         and will make it easier to port Emacs to gcc
40083         -fcheck-pointer-bounds, since the functions now have access to the
40084         corresponding types' sizes.  This patch does not change the code;
40085         it just moves declarations and definitions and removes
40086         no-longer-needed forward declarations (Bug#25128).
40087         * src/buffer.c, src/data.c, src/image.c:
40088         Include process.h, for PROCESSP.
40089         * src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
40090         * src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
40091         * src/termhooks.h (TERMINALP, XTERMINAL):
40092         * src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
40093         * src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
40094         (XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
40095         Move here from lisp.h.
40096         * src/intervals.h: Include buffer.h, for BUFFERP.
40097         Include lisp.h, for Lisp_Object.
40098         * src/lisp.h: Reorder declarations and definitions as described
40099         above.  Move thread includes to be later, so that they can use the
40100         reordered definitions.  Move some symbols to other headers (noted
40101         elsewhere).  Remove forward decls that are no longer needed.
40102         * src/thread.h: Include systhread.h here, not in lisp.h,
40103         since lisp.h itself does not need systhread.h.
40105 2016-12-25  Leo Liu  <sdl.web@gmail.com>
40107         Don't modify minibuffer variables globally
40109         * lisp/files.el (cd): Use setq-local instead.  (Bug#25260)
40111 2016-12-25  Dima Kogan  <dima@secretsauce.net>
40113         diff-mode auto-refines only after a successful motion
40115         Prior to this patch (if enabled) auto-refinement would kick in after all
40116         hunk navigation commands, even if the motion failed.  This would result
40117         in a situation where the hunk navigation would signal an error and beep,
40118         but yet still accomplish potentially useful work, by auto-refining.
40119         This patch moves the auto-refinement code to only run when a motion was
40120         successful
40122         * lisp/vc/diff-mode.el (diff--internal-hunk-next,
40123           diff--internal-hunk-prev): Removed auto-refinement-triggering code
40124         * lisp/vc/diff-mode.el (diff--wrap-navigation): Added
40125           auto-refinement-triggering code
40127 2016-12-25  Dima Kogan  <dima@secretsauce.net>
40129         diff-mode is able to better handle file headers
40131         This fixes a regression introduced in
40133           https://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
40135         This bug was filed in
40137           https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105
40139         Patches generated from a VCS such as git contain a patch message at the
40140         start, and diff-mode is now once-again able to properly able to ignore
40141         this message when issuing navigation commands around the message.
40143         * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
40144           thoroughly ignore the header when looking for a beginning of file
40145           diffs.
40147 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
40149         Use libpng-config --ldflags, not --libs
40151         Problem reported by James K. Lowden (Bug#25268).
40152         * configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.
40154 2016-12-24  Eli Zaretskii  <eliz@gnu.org>
40156         Revert to pre-25.1 behavior in ffap
40158         * lisp/ffap.el (ffap-lax-url): Change the default to t, to produce
40159         the same behavior as in Emacs 24.x.  (Bug#25264)
40160         Explain the trade-offs of customizing this in the doc string.
40162 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
40164         * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
40166 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
40168         Remove redundant `save-match-data' in whitespace.el
40170         * lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
40171         (whitespace-report-region): Remove redundant `save-match-data' calls.
40173 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
40175         Fix whitespace eob cleanup
40177         * lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
40178         of empty lines at end of buffer.
40179         * test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
40180         (whitespace-tests--cleanup-string): New helper function for tests.
40182 2016-12-24  Hong Xu  <hong@topbug.net>
40184         Fix timezone detection of parse-iso8601-time-string
40186         * lisp/calendar/parse-time.el (parse-iso8601-time-string): Fix timezone
40187         parsing.  Add a doc string.  (Bug#25086)
40188         * src/editfns.c (Fdecode-time): Doc fix.
40189         * doc/misc/emacs-mime.texi (time-date): Add an example for
40190         parse-iso8601-time-string.
40191         * test/lisp/calendar/parse-time-tests.el (parse-time-tests): Add
40192         tests for parse-iso8601-time-string.
40194 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
40196         Simplify exec_byte_code via moving decls etc.
40198         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
40199         initializers into decls, and by omitting some unnecessary changes
40200         to ‘top’.
40202 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
40204         Remove interpreter’s byte stack
40206         This improves performance overall on my benchmark on x86-64,
40207         since the interpreted program-counter resides in a machine
40208         register rather than in RAM.
40209         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
40210         is no longer a byte stack to decode.
40211         * src/bytecode.c (struct byte_stack, byte_stack_list)
40212         (relocate_byte_stack): Remove.  All uses removed.
40213         (FETCH): Simplify now that pc is now local (typically, in a
40214         register) and no longer needs to be relocated.
40215         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
40216         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
40217         (exec_byte_code): Allocate a copy of the function’s bytecode,
40218         so that there is no problem if GC moves it.
40219         * src/lisp.h (struct handler): Remove byte_stack member.
40220         All uses removed.
40221         * src/thread.c (unmark_threads): Remove.  All uses removed.
40222         * src/thread.h (struct thread_state): Remove m_byte_stack_list member.
40223         All uses removed.  m_stack_bottom is now the first non-Lisp field.
40225 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
40227         BYTE_CODE_SAFE typo fix
40229         * src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
40230         not on whether it is defined.
40232 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
40234         BYTE_CODE_SAFE cleanups
40236         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
40237         (struct byte_stack) [BYTE_MAINTAIN_TOP]:
40238         Remove unused members ‘top’ and ‘bottom’.
40239         (exec_byte_code): Nest inside { } to avoid GCC warning about
40240         jumping over declaration when compiled with -DBYTE_CODE_SAFE.
40242 2016-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
40244         last-chance: new utility lib for dangling deterrence
40246         * admin/last-chance.el: New file.
40248 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
40250         Use max_align_t instead of void *
40252         * src/thread.c (run_thread): Don’t assume void * is aligned enough.
40254 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
40256         Attempt to fix 64-bit AIX build
40258         * src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
40259         type-casts that assumed 32-bit pointers.  (Bug#25141)
40261 2016-12-23  Philipp Stephani  <phst@google.com>
40263         Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
40265         * doc/misc/ediff.texi (Hooks): Clarify usage of 'ediff-cleanup-hook'
40267 2016-12-23  Philipp Stephani  <phst@google.com>
40269         Document that variable binding order is unspecified
40271         * doc/lispref/variables.texi (Local Variables):
40272         * doc/misc/cl.texi (Modify Macros): Document that binding order in 'let' and
40273         'cl-letf' is unspecified.
40275 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
40277         Prevent infloops in redisplay due to truncate-lines and overlays
40279         * src/xdisp.c (hscroll_window_tree): Avoid inflooping in
40280         redisplay_window when a screen line ends in an overlay string with
40281         a newline.  (Bug#25246)
40283 2016-12-23  Philipp Stephani  <phst@google.com>
40285         Treat incomplete integer literals as errors
40287         See Bug#25120.
40289         * src/lread.c (read_integer): Treat incomplete integer literals as errors.
40290         * test/src/lread-tests.el (lread-empty-int-literal): New unit test for
40291         incomplete integer literals.
40293 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
40295         * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
40297 2016-12-23  Stefan Monnier  <monnier@IRO.UMontreal.CA>
40299         Fix M-x hints on Mac port
40301         * lisp/simple.el (execute-extended-command--shorter): Call
40302         input-pending-p to trigger input processing on some systems, such
40303         as Mac port.  (Bug#23002)
40305 2016-12-23  Michael Albinus  <michael.albinus@gmx.de>
40307         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Make it robust.
40309 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
40311         Avoid aborts due to unaligned byte stack of threads
40313         * src/thread.c (run_thread): Make sure the pointers to thread byte
40314         stack are properly aligned.  (Bug#25247)
40316 2016-12-22  Paul Eggert  <eggert@cs.ucla.edu>
40318         Pacify --enable-gcc-warnings
40320         * src/charset.c (load_charset_map):
40321         * src/coding.c (decode_coding_object):
40322         * src/frame.c (make_frame):
40323         * src/window.c (Frecenter):
40324         Mark locals with UNINIT to silence false alarms from
40325         -Wmaybe-uninitialized.
40326         * src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
40327         (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
40328         Check and assume that values are nonnull.  This pacifies
40329         -Wmaybe-uninitialized in Fmake_variable_buffer_local and
40330         Fmake_local_variable.
40332 2016-12-22  Eli Zaretskii  <eliz@gnu.org>
40334         Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS
40336         * src/thread.c (primary_thread_p): New function.
40337         * src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
40338         meant for thread objects allocated dynamically.
40339         * src/thread.h (primary_thread_p): Add prototype.
40341 2016-12-22  Martin Rudalics  <rudalics@gmx.at>
40343         Work around reporting a dpi change in apply_xft_settings
40345         * src/xsettings.c (apply_xft_settings): Don't report a change
40346         when dpi settings do not differ substantially.
40348 2016-12-22  Noam Postavsky  <npostavs@gmail.com>
40350         Use completion-at-point in verilog-mode
40352         There were some functions in verilog-mode that implemented in-buffer
40353         completion, but this needlessly duplicates completion-at-point
40354         functionality, and the popup window management had problems
40355         (see Bug #23842).  We need to keep them for backwards compatibility with
40356         older emacs versions, but use completion-at-point if available.
40358         * lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
40359         obsolete if completion-cycle-threshold is available.
40360         (verilog-mode-map, verilog-menu): Bind completion-at-point and
40361         completion-help-at-point in preference to verilog-complete-word and
40362         verilog-show-completions, respectively.
40363         (verilog-mode): Add verilog-completion-at-point to
40364         completion-at-point-functions.
40365         (verilog-completion-at-point): New function.
40366         (verilog-show-completions, verilog-complete-word): Use it to avoid code
40367         duplication.
40369 2016-12-21  Reuben Thomas  <rrt@sc3d.org>
40371         Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries
40373         * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
40374         override CASECHARS and NOT-CASECHARS.  The ispell dictionaries
40375         retain their hardwired values, and all other dictionaries are given
40376         sensible defaults.
40378 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
40380         * lisp/textmodes/tex-mode.el (tex-compile-commands): Add luatex
40381         and xetex commands.
40383 2016-12-21  Eli Zaretskii  <eliz@gnu.org>
40385         Fix aborts in GC under GC_CHECK_MARKED_OBJECTS
40387         * src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
40388         for thread objects.  They are marked via the all_threads list, and
40389         therefore don't need to be inserted into the red-black tree, so
40390         mem_find will never find them.  Reported by Daniel Colascione
40391         <dancol@dancol.org> in
40392         https://lists.gnu.org/r/emacs-devel/2016-12/msg00817.html.
40394 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
40396         * src/data.c (Fmake_variable_frame_local): Remove
40398         * src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.
40400         * src/data.c (swap_in_symval_forwarding, set_internal)
40401         (set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
40402         (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
40403         Don't pay attention to ->frame_local any more.
40404         (syms_of_data): Remove Qtrapping_frame_local and don't defsubr
40405         Smake_variable_frame_local.
40407         * etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
40408         of make-variable-frame-local.
40410         * lisp/help-fns.el (describe-variable): Don't handle the now impossible
40411         frame-local case.
40413         * lisp/subr.el (make-variable-frame-local): Remove obsolescence data.
40415         * src/frame.c (store_frame_param):
40416         * src/eval.c (specbind): Don't pay attention to ->frame_local any more.
40418         * src/widget.c (first_frame_p): Remove, unused.
40420 2016-12-21  Paul Eggert  <eggert@cs.ucla.edu>
40422         Port dumping better to WSL
40424         Problem reported by Angelo Graziosi in:
40425         https://lists.gnu.org/r/emacs-devel/2016-12/msg00822.html
40426         * src/sysdep.c (disable_address_randomization):
40427         Detect buggy platforms where 'personality' always returns 0.
40429 2016-12-21  Michael Albinus  <michael.albinus@gmx.de>
40431         Remove gateway methods in Tramp
40433         * doc/misc/tramp.texi (Top, Configuration): Remove section
40434         `Gateway methods', insert section `Firewalls' in menu.
40435         (History): Gateways are removed now.
40436         (Gateway methods): Remove section.
40437         (Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
40438         (Firewalls): New section.
40440         * etc/NEWS: Gateway methods in Tramp have been removed.
40442         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
40443         (tramp-file-name-port, tramp-accept-process-output): Simplify.
40445         * lisp/net/tramp-gw.el: Remove.
40447         * lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
40448         (tramp-gw-socks-method): Remove declarations.
40449         (tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
40450         Remove `tramp-gw-args' and `tramp-default-port'.  (Bug#18967)
40451         (tramp-do-copy-or-rename-file-out-of-band)
40452         (tramp-compute-multi-hops, tramp-maybe-open-connection):
40453         Remove gateway support.
40455         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
40456         Remove gateway tests.
40458 2016-12-20  Alan Mackenzie  <acm@muc.de>
40460         Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't merge to trunk.
40462         lisp/progmodes/cc-defs.el: Amend the version number.
40463         etc/NEWS: Add an item explaining the change.
40465 2016-12-20  Tino Calancha  <tino.calancha@gmail.com>
40467         files-test-read-file-in-: Delete temporary dir on exit
40469         * test/lisp/files-tests.el (files-test-read-file-in-~):
40470         Create subdir inside dir.
40472 2016-12-20  Christopher Genovese  <genovese@cmu.edu>
40474         ibuffer: New filters and commands
40476         Add several new filters and improve documentation.
40477         See discussion on:
40478         https://lists.gnu.org/r/emacs-devel/2016-11/msg00399.html
40479         * lisp/ibuf-ext.el: Add paragraph to file commentary.
40480         (ibuffer-saved-filters, ibuffer-filtering-qualifiers)
40481         (ibuffer-filter-groups): Update doc string.
40482         (ibuffer-unary-operand): Add new function that transparently
40483         handles 'not' formats for compound filters.
40484         (ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
40485         (ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
40486         (ibuffer-decompose-filter): Handle 'and' as well,
40487         and handle 'not' consistently with other uses.
40488         (ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
40489         (ibuffer--or-and-filter): New defun.
40490         (ibuffer-or-filter, ibuffer-and-filter): Use it.
40491         (ibuffer-format-qualifier): Handle 'and' filters as well.
40492         (ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
40493         (ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
40494         (ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
40495         Add new pre-defined filters.
40496         (ibuffer-filter-chosen-by-completion): Add new interactive command
40497         for easily choosing a filter from the descriptions.
40498         * lisp/ibuffer.el (ibuffer-mode-map):
40499         Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
40500         ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
40501         ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
40502         respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
40503         'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
40504         'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
40505         and '/ DEL' respectively.
40506         * test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
40507         skip specification.
40508         Add menu entries for the new filters.
40509         (ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
40510         ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
40511         ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
40512         ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
40513         ibuffer-decompose-filter, ibuffer-and-filter
40514         ibuffer-or-filter): Add new tests; they are skipped unless
40515         ibuf-ext is loaded.
40517 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
40519         Update NEWS
40521         * etc/NEWS (Image-Dired): New section.
40523 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
40525         Recognize graphicsmagick in image-dired
40527         * lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
40528         (image-dired-cmd-create-thumbnail-options):
40529         (image-dired-cmd-create-temp-image-program):
40530         (image-dired-cmd-create-temp-image-options):
40531         (image-dired-cmd-create-standard-thumbnail-options):
40532         (image-dired-cmd-rotate-thumbnail-program):
40533         (image-dired-cmd-rotate-thumbnail-options): Account for existence of
40534         gm(1) executable.
40536 2016-12-20  Noam Postavsky  <npostavs@gmail.com>
40538         Improve skeleton docstrings
40540         * lisp/skeleton.el (skeleton-end-newline): Remove mention of
40541         `skeleton-end-hook', its default code was moved into `skeleton-insert'.
40542         (skeleton-insert): Mention `skeleton-end-newline' and move reference to
40543         `skeleton-end-hook' above the explanation of skeleton syntax.
40545 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
40547         Implement asynchronous thumbnail generation in image-dired
40549         Additionally, all FOO-options defcustoms that were in fact shell command
40550         strings have been converted to argument lists.  Another method for
40551         shrinking PNG thumbs with optipng(1) has been added.
40552         * lisp/image-dired.el: Remove TODO item in commentary.
40553         (image-dired-cmd-create-thumbnail-options):
40554         (image-dired-cmd-create-temp-image-options):
40555         (image-dired-cmd-rotate-thumbnail-options):
40556         (image-dired-cmd-rotate-original-options):
40557         (image-dired-cmd-write-exif-data-options):
40558         (image-dired-cmd-read-exif-data-options): Convert to argument lists.
40559         (image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
40560         Change string type to file.
40561         (image-dired-cmd-create-standard-thumbnail-command): Remove.
40562         (image-dired-cmd-pngnq-options):
40563         (image-dired-cmd-create-standard-thumbnail-options):
40564         (image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
40565         New defcustoms.
40566         (image-dired-queue, image-dired-queue-active-jobs):
40567         (image-dired-queue-active-limit): New variables.
40568         (image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
40569         (image-dired-optipng-thumb): New functions.
40570         (image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
40571         Use start-process instead of call-process.  Set file modes.  Trigger
40572         PNG file optimization in process sentinel.
40573         (image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
40574         (image-dired-display-thumbs):
40575         (image-dired-create-thumbs): Don't expect call-process return value.
40576         (image-dired-display-image, image-dired-rotate-thumbnail): Use
40577         start-process instead of call-process.
40578         (image-dired-rotate-original, image-dired-set-exif-data):
40579         (image-dired-get-exif-data): Adapt to arguments being an arg list.
40581 2016-12-19  Andreas Schwab  <schwab@linux-m68k.org>
40583         Protect change of window's buffer in vertical-motion against unwinds (bug#25209)
40585         * src/indent.c (restore_window_buffer): New function.
40586         (Fvertical_motion): Use it to restore window's buffer.
40588 2016-12-19  Glenn Morris  <rgm@gnu.org>
40590         Improve default load-path for uninstalled CANNOT_DUMP builds
40592         * src/lread.c (load_path_default) [CANNOT_DUMP]:
40593         Use build load-path if we seem to be running uninstalled.  (Bug#24974)
40594         I think this became an issue several years ago when we stopped
40595         using EMACSLOADPATH in the Makefiles; however this change should
40596         improve the CANNOT_DUMP uninstalled case in general.
40598 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
40600         Improve documentation of 'w32-scroll-lock-modifier'
40602         * doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
40603         w32-scroll-lock-modifier so that Scroll Lock toggles the LED.
40605         * src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
40606         fix.  (Bug#25204)
40608 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
40610         Document 'describe-fontset'
40612         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
40613         (Bug#25216)
40615 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
40617         Document 'describe-fontset'
40619         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
40620         (Bug#25216)
40622 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
40624         Fix crashes upon C-g on Posix TTY frames
40626         * src/thread.h (struct thread_state): New member not_holding_lock.
40627         (maybe_reacquire_global_lock): Add prototype.
40628         * src/thread.c: Include syssignal.h.
40629         (maybe_reacquire_global_lock): New function.
40630         (really_call_select): Set the not_holding_lock member of the
40631         thread state before releasing the lock, and rest it after
40632         re-acquiring the lock when the select function returns.  Block
40633         SIGINT while doing this to make sure we are not interrupted on TTY
40634         frames.
40635         * src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
40636         functions.
40637         * src/syssignal.h (block_interrupt_signal, restore_signal_mask):
40638         Add prototypes.
40639         * src/keyboard.c (read_char) [THREADS_ENABLED]: Call
40640         maybe_reacquire_global_lock.  (Bug#25178)
40642 2016-12-19  Sam Steingold  <sds@gnu.org>
40644         avoid Eager macro-expansion failure: (void-function string-to-list)
40646         * lisp/loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
40647           in "mule-util", so we have to load "mule-util" before "ucs-normalize",
40648           otherwise I get "Eager macro-expansion failure" on "make bootstrap"
40650 2016-12-19  Michael Albinus  <michael.albinus@gmx.de>
40652         Fix Bug#24980
40654         * lisp/ido.el (ido-add-virtual-buffers-to-list):
40655         Suppress Tramp invocation.  (Bug#24980)
40657 2016-12-18  Philipp Stephani  <phst@google.com>
40659         Add a new compile error regexp for Clang includes
40661         Clang uses a slight variation of GCC's include format, causing includes
40662         to be treated as warnings instead of informational messages.  Use a new
40663         regular expression instead.
40665         * lisp/progmodes/compile.el
40666         (compilation-error-regexp-alist-alist): New element
40667         `clang-include' for Clang-style "included from" lines.
40668         * test/lisp/progmodes/compile-tests.el
40669         (compile-tests--test-regexps-data): Add unit test.
40671 2016-12-18  Alan Third  <alan@idiocy.org>
40673         Reinstate ispell character offset (bug#25219)
40675         * lisp/textmodes/ispell.el (ispell-process-line): insert -1 where
40676         ispell-offset used to be.
40678 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
40680         Bind new image-mode scroll commands in image-dired
40682         * lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings
40683         to new image-mode commands.
40685 2016-12-18  Noam Postavsky  <npostavs@gmail.com>
40687         Fix rx-any with range with ?\] and ?-
40689         * lisp/emacs-lisp/rx.el: Make sure not to produce a circular
40690         list (Bug#25123).
40691         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test.
40693 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
40695         Use floor of mtime instead of rounding for thumb property
40697         This seems to be the correct thing to do, at least more in line with
40698         what at least one other implementation does.  Anything using
40699         gnome-desktop [0] effectively does the same, as
40700         gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for
40701         comparison and time_t on GNU/Linux is a signed int.
40702         [0] https://git.gnome.org/browse/gnome-desktop/
40703         * lisp/image-dired.el (image-dired-create-thumb): Use floor here.
40705 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
40707         Fix spelling mistake in private defun name (Bug#25218)
40709         lisp/textmodes/flyspell.el (flyspell-ajust-cursor-point): Rename to
40710         `flyspell-adjust-cursor-point'.
40712 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
40714         Remove XEmacs support from flyspell.el (Bug#25218)
40716         lisp/textmodes/flyspell.el (flyspell-prog-mode, flyspell-mode-on):
40717         (flyspell-word, flyspell-delete-region-overlays):
40718         (flyspell-correct-word-before-point): Remove XEmacs support.
40719         (flyspell-xemacs-popup): Remove XEmacs-specific defun.
40721 2016-12-17  Michael Albinus  <michael.albinus@gmx.de>
40723         More tests for Tramp
40725         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle quoted
40726         file names.
40728         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Quote file
40729         name properly.
40731         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
40732         Mark quoted file name as absolute.  (Bug#25183)
40733         (tramp--test-windows-nt-and-batch)
40734         (tramp--test-windows-nt-and-pscp-psftp-p): New defuns.
40735         (tramp--test-windows-nt-or-smb-p): Rename from
40736         `tramp--test-smb-windows-nt-p'.  Adapt callees.
40737         (tramp--test-check-files): Improve checks for environment variables.
40738         (tramp-test33-special-characters)
40739         (tramp-test33-special-characters-with-stat)
40740         (tramp-test33-special-characters-with-perl)
40741         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
40742         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
40743         (tramp-test34-utf8-with-ls): Add more checks for skip.
40745 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
40747         Fix comments
40749         * src/thread.h (struct thread_state): Fix comments.
40750         * src/process.c (wait_reading_process_output): Fix a typo in
40751         commentary.
40753 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
40755         Repair desktop restoration on text terminals
40757         * lisp/desktop.el (desktop-restoring-frameset-p): Test for the GUI
40758         frame here, instead of in desktop-restoring-frameset.  That's
40759         because desktop-read wants to know whether frameset will actually
40760         be restored, and has fallback procedures up its sleeve when it
40761         won't be; these fallbacks need to be invoked when the frameset is
40762         not going to be restored.  (Bug#24298)
40764 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
40766         Fix crashes on MS-Windows during dumping
40768         * src/unexw32.c (get_section_info): Make extra_bss_size be the
40769         maximum of extra_bss_size and extra_bss_size_static.  This avoids
40770         computing the size of the output file smaller than it actually
40771         needs to be, which then causes copy_executable_and_dump_data to
40772         write beyond the requested size of the file mapping, thus relying
40773         on the OS roundup to page boundary to save us from ourselves.  See
40774         https://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
40775         for the details.
40777         * lib/stdio-impl.h: Revert the workaround fix of not including
40778         errno.h for MinGW.
40780 2016-12-17  Dmitry Gutov  <dgutov@yandex.ru>
40782         Ignore forward-sexp-function in js-mode indentation code
40784         * lisp/progmodes/js.el (js--multi-line-declaration-indentation)
40785         (js--maybe-goto-declaration-keyword-end):
40786         Bind forward-sexp-function to nil (bug#25215).
40788 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
40790         Be more selective clearing the image cache
40792         * lisp/image-dired.el (image-dired-create-thumbs):
40793         (image-dired-rotate-thumbnail, image-dired-refresh-thumb): Only clear
40794         the current thumbnail file from the image cache.
40796 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
40798         Unbreak the MinGW build
40800         * lib/stdio-impl.h [__MINGW32__]: Don't include errno.h.  Without
40801         this, temacs crashes while dumping.
40803 2016-12-16  Nicolas Petton  <nicolas@petton.fr>
40805         Make seq-into return the sequence when no conversion needed
40807         * lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
40808           no conversion is needed.
40809         * test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
40810           a regression test checking for identity.
40812 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
40814         Improve documentation of 'define-coding-system'
40816         * lisp/international/mule.el (define-coding-system): Warn against
40817         possible infinite recursion in pre-write-conversion and
40818         post-read-conversion functions.  (Bug#25203)
40820 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
40822         New commands image-scroll-left and image-scroll-right
40824         * etc/NEWS: Mention them.
40825         * lisp/image-mode.el (image-scroll-left, image-scroll-right): New
40826         functions.
40828 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
40830         More image-dired refactoring
40832         * lisp/image-dired.el (image-dired-thumbnail-mode):
40833         (image-dired-display-image-mode): Add :group 'image-dired so
40834         customize-mode works.
40835         (image-dired-display-image): Rearrange.
40836         (image-dired-copy-with-exif-file-name): This map is for side effect.
40837         (image-dired-dired-edit-comment-and-tags): Just use #'identity.
40839 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
40841         * lisp/image-dired.el: Turn on lexical-binding.
40843 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
40845         Teach image-dired to also generate large thumbs
40847         * lisp/image-dired.el (image-dired-thumbnail-storage): Add
40848         standard-large option.
40849         (image-dired-thumb-size): Add condition for standard-large storage.
40850         (image-dired-insert-thumbnail): Check for new option.  Change
40851         thumbnail path conditionally.
40852         (image-dired-thumb-size): New function.
40853         (image-dired-create-thumb, image-dired-line-up-dynamic): Use it.
40855 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
40857         Merge from gnulib
40859         This incorporates:
40860         2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
40861         2016-12-12 fpending: port to native Windows with MSVC
40862         * .gitignore: Do not ignore lib/stdio-impl.h.
40863         * lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
40864         Copy from gnulib.
40865         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
40866         * lib/stdio-impl.h:
40867         New file, copied from gnulib.
40868         * nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
40870 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
40872         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
40873         Append newline.
40875 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
40877         Don't abuse princ and spam messages
40879         * lisp/image-dired.el (image-dired-format-properties-string): Nix princ.
40880         (image-dired-display-thumb-properties):
40881         (image-dired-dired-display-properties): Nix princ.  Bind
40882         message-log-max to nil.
40884 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
40886         Inherit things from special-mode and image-mode
40888         * lisp/image-dired.el: Require image-mode library.
40889         (image-dired-thumbnail-mode-map): Remove superfluous binding.
40890         (image-dired-display-image-mode-map): Remove superfluous binding.
40891         Add movement remaps from image-mode-map.
40892         (image-dired-thumbnail-mode): Derive from special-mode.
40893         (image-dired-display-image-mode): Derive from special-mode. Call
40894         image-mode-setup-winprops.
40896 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
40898         Fix some image-dired customization types
40900         * lisp/image-dired.el (image-dired): Add info link to defgroup.
40901         (image-dired-dir, image-dired-gallery-dir): Set type to directory.
40902         (image-dired-db-file, image-dired-temp-image-file):
40903         (image-dired-cmd-create-thumbnail-program):
40904         (image-dired-cmd-create-temp-image-program):
40905         (image-dired-cmd-rotate-thumbnail-program):
40906         (image-dired-cmd-rotate-original-program):
40907         (image-dired-temp-rotate-image-file):
40908         (image-dired-cmd-write-exif-data-program):
40909         (image-dired-cmd-read-exif-data-program): Set type to file.
40910         (image-dired-create-thumb, image-dired-line-up-dynamic): Check storage
40911         type at runtime, since setting image-dired-thumb-size does not
40912         automatically set image-dired-thumb-width and image-dired-thumb-height.
40914 2016-12-15  Eli Zaretskii  <eliz@gnu.org>
40916         Prevent crashes in xg_select due to concurrency
40918         * src/xgselect.c (xg_select): Don't call Glib functions that use
40919         'context' if we failed to acquire it.  This means some other
40920         thread owns the context, in which case both using the context and
40921         calling block_input/unblock_input will step on that thread's toes
40922         and eventually lead to crashes.  (Bug#25172)
40924 2016-12-15  Nicolas Petton  <nicolas@petton.fr>
40926         Fix circular list handling in seq-mapn
40928         * lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
40929         * test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
40930           Add a regression test.
40932 2016-12-15  Michael Albinus  <michael.albinus@gmx.de>
40934         Check in tramp-tests.el, that environment variables are set correctly
40936         * test/lisp/net/tramp-tests.el (tramp--test-check-files):
40937         Check also, that environment variables are set correctly.
40939 2016-12-15  Dominique Quatravaux  <dominique.quatravaux@epfl.ch>  (tiny change)
40941         Protect environment variables with double quotes in Tramp
40943         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
40944         Protect environment variables with double quotes.
40946 2016-12-15  Tino Calancha  <tino.calancha@gmail.com>
40948         * lisp/ibuf-macs.el (define-ibuffer-filter): Wrap ,@body in a progn.
40950 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
40952         * lisp/image-dired.el (image-dired-create-thumb): Create parent directories.
40954 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
40956         * lisp/image-mode.el (image-mode-winprops-alist): Add docstring.
40958 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
40960         Recognize pngnq or pngnq-s9
40962         * lisp/image-dired.el (image-dired-cmd-pngnq-program): Also consider
40963         pngnq-s9 as a possible executable.
40965 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
40967         Update standard image-dired thumbnail location
40969         * lisp/image-dired.el (image-dired-thumb-name): Conform to the latest
40970         standard: consider XDG_CACHE_HOME, falling back on ~/.cache.
40972 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
40974         Reset window scroll when displaying an image
40976         When viewing a large image full size and scrolling, for instance, to
40977         the lower right corner, then selecting a much smaller image in the
40978         thumbnail buffer, the window stays scrolled so the new image is out of
40979         the window.  One must scroll back to the "origin" to view the new
40980         displayed image, or just kill the image-dired-display-image buffer and
40981         try again.  This fixes the issue.
40982         * lisp/image-dired.el (image-dired-display-window-width):
40983         (image-dired-display-window-height): Operate on a window as argument.
40984         (image-dired-display-image): Bind (image-dired-display-window) and use
40985         it. Set window vscroll and hscroll to zero when refreshing the
40986         buffer's contents.
40988 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
40990         More image-dired polish
40992         * lisp/image-dired.el (image-dired-file-name-at-point): New function.
40993         (image-dired-thumbnail-mode, image-dired-display-image-mode): Disable
40994         undo list. Add image-dired-file-name-at-point to
40995         file-name-at-point-functions to facilitate find-file and friends.
40996         (image-dired-thumbnail-display-external):
40997         (image-dired-dired-display-external): Use start-process instead, to
40998         avoid needlessly blocking and using a shell.
41000 2016-12-13  Phillip Lord  <phillip.lord@russet.org.uk>
41002         Replace ldefs-boot with a much smaller file
41004          * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
41005            (bootstrap): Depend on bootstrap-build.
41006          * admin/ldefs-clean.el: New file.
41007          * lisp/Makefile.in (compile-first): Depend on loaddefs.el
41008          * lisp/ldefs-boot.el: Remove.
41009          * lisp/ldefs-boot-auto.el: New file.
41010          * lisp/ldefs-boot-manual.el: New file.
41011          * lisp/loadup.el: Load ldefs-boot-manual.el.
41012          * src/emacs.c (generating_ldefs_boot): New variable.
41013            (main): Check whether we are generating ldefs.
41014          * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
41015            requested.
41016          * src/lisp.h (generating_ldefs_boot): New variable.
41017          * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
41018            lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
41019            lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
41020            ldefs-boot.
41021          * admin/update_autogen: Alter mechanism for ldefs-boot generation.
41023 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41025         Remove support for aspell < 0.60 (from 2004)
41027         lisp/textmodes/ispell.el (ispell-check-version): Require Aspell 0.60.
41028         (ispell-aspell-dictionary-alist): Remove check that we have Aspell 0.60.
41030 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41032         Minor docstring and comment fixes to ispell.el
41034         lisp/textmodes/ispell.el (ispell-aspell-dictionary-alist): Mention
41035         ispell-aspell-dictionary-alist, not ispell-dictionary-alist.
41036         (ispell-set-spellchecker-params): Change double-single quotes to
41037         single single quotes in comment.
41039 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41041         Remove unused variable
41043         * lisp/textmodes/ispell.el (current-ispell-directory): Remove.
41045 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41047         Remove XEmacs-specific ispell-with-no-warnings
41049         * lisp/textmodes/ispell.el (ispell-with-no-warnings): Remove this
41050         defmacro, needed only for XEmacs.
41051         (ispell-command-loop, ispell-message): Use with-no-warnings directly.
41053 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41055         Remove meaningless defconst ispell-version
41057         * lisp/textmodes/ispell.el (ispell-version): Since ispell.el is now
41058         firmly part of Emacs, and the version hasn’t changed since 2003, and
41059         isn’t used anywhere, remove it.  3rd-party code can better use the
41060         Emacs version, or feature or function checks.
41061         (ispell-check-version): No longer report ispell.el version.
41063 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41065         Remove boundp test for always-bound symbol
41067         * lisp/textmodes/ispell.el (ispell-message): mail-yank-prefix is
41068         defvar’d at the top of the file, so remove a test to see if it is
41069         bound.
41071 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41073         Remove support for ispell < 3.1.12
41075         * lisp/textmodes/ispell.el (ispell-offset): Remove.
41076         (ispell-check-version): Require ispell >= 3.1.12, released in 1994.
41077         (ispell-process-line): No longer use ispell-offset.
41079 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41081         Remove unused constant
41083         * lisp/textmodes/ispell.el (ispell-required-version): Remove.
41085 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41087         Remove support for old versions of supercite and GNUS from ispell.el
41089         * lisp/textmodes/ispell.el (ispell-message): Require supercite >= 3.0
41090         and GNUS >= 5.  Not exactly the bleeding edge!
41092 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41094         Remove remaining mentions of XEmacs from ispell.el
41096         * lisp/textmodes/ispell.el (ispell-valid-dictionary-list):
41097         (ispell-add-per-file-word-list): Remove mentions of XEmacs from
41098         comments.
41100 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41102         Remove XEmacs-specific minibuffer handling code from ispell.el
41104         * lisp/textmodes/ispell.el (ispell-init-process): Assume we are not in
41105         XEmacs.
41107 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41109         Remove XEmacs-specific horizontal scrollbar handling in ispell.el
41111         * lisp/textmodes/ispell.el (ispell-command-loop): Remove
41112         XEmacs-specific code.
41114 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41116         Remove XEmacs-specific code dealing with enable-multibyte-characters
41118         * lisp/textmodes/ispell.el (ispell-decode-string):
41119         (ispell-init-process):  Remove XEmacs-specific guard.
41121 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41123         Remove XEmacs-specific code from ispell.el
41125         * lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
41126         (ispell-menu-map-needed): Remove XEmacs-specific check.
41127         (ispell-word): Remove XEmacs-specific extent code.
41128         (ispell-init-process): Remove XEmacs workaround for local add-hook.
41129         Assume we have set-process-query-on-exit-flag.
41130         (ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
41131         workaround for called-interactively-p.
41133 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41135         Remove some commented-out code
41137         lisp/textmodes/ispell.el (ispell-process)
41138         ispell-valid-dictionary-list): Remove commented-out code.
41140 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41142         Remove XEmacs and old Emacs highlighting code
41144         * lisp/textmodes/ispell.el
41145         (ispell-highlight-spelling-error-xemacs): Remove.
41146         (ispell-highlight-spelling-error): Assume display-color-p exists.
41148 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41150         Assume Emacs supports [:alpha:] in regexps
41152         * lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
41153         (ispell-set-spellchecker-params): Remove tests of
41154         ispell-emacs-alpha-regexp.
41156 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41158         Remove some XEmacs-specific code from ispell.el
41160         * lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
41161         (ispell-int-char): Remove.
41163 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41165         Generalize over-specific documentation
41167         * lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
41168         document precise personal wordlist filenames for only two supported
41169         spelling checkers, simply say that the default personal dictionary
41170         depends on the chosen spelling checker.  The user can check the
41171         spelling checker’s documentation if necessary.  This is simpler, and
41172         works for other supported (and future, or unknown) spelling checkers.
41174 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41176         Remove tests for built-in functions
41178         * lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
41179         back-up definition.
41180         (ispell-add-per-file-word-list): Remove tests for comment-padright and
41181         comment-normalize-vars.
41183 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41185         Remove unused ispell-looking-back
41187         * lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.
41189 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41191         Assume we have version<= for checking ispell version
41193         * lisp/textmodes/ispell.el (ispell-check-minver): Remove.
41194         (ispell-check-version): Use version<= directly.
41196 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
41198         Remove ispell.el pre-GNU Emacs comments
41200         * lisp/textmodes/ispell.el (Commentary): Remove original maintainer
41201           details, as Emacs version, bug report address and so forth should be
41202           used instead for this version.  Remove in-line change history; use
41203           git instead.
41205 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
41207         More small fixes for image-dired
41209         * lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
41210         node.
41211         (image-dired--with-db-file): Add declare forms.
41212         (image-dired-hidden-p): Rewrite with cl-loop.  It's not necessary to
41213         run through the whole list.
41215 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
41217         Remove image-dired-kill-buffer-and-window
41219         This breaks window layout, especially when quitting a
41220         image-dired-display-image-mode buffer.
41221         * lisp/image-dired.el (image-dired-thumbnail-mode-map):
41222         (image-dired-display-image-mode-map): Replace in keymap and menu items
41223         bindings to image-dired-kill-buffer-and-window with quit-window.
41224         (image-dired-kill-buffer-and-window): Remove.
41226 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
41228         Replace image-dired-setup-dired-keybindings with a minor mode
41230         * lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
41231         remove mention of nonexistent image-dired-dired and to refer to the
41232         new minor mode.
41233         (image-dired-minor-mode-map): New keymap assimilated from
41234         image-dired-setup-dired-keybindings.  In the future, the keymap parent
41235         should be removed, and perhaps also the duplicate bindings that
41236         already exist in dired-mode-map.
41237         (image-dired-setup-dired-keybindings): Remove.  Replace with an
41238         obsolete function alias.
41239         (image-dired-minor-mode): New minor mode, assuming the role of
41240         image-dired-setup-dired-keybindings.
41242 2016-12-13  Paul Eggert  <eggert@cs.ucla.edu>
41244         * test/src/regex-resources/PTESTS: Convert to UTF-8.
41246 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
41248         Clarify thread-signal semantics
41250         * doc/lispref/threads.texi (Basic Thread Functions): Explain that the
41251         thread will be signaled as soon as possible.
41253 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
41255         Clean up var watcher disabling on thread switching
41257         * src/data.c (Fset_default): Move code into new C level function,
41258         `set_default_internal'.
41259         (set_default_internal): New function, like `Fset_default' but also takes
41260         additional bindflag parameter.
41261         (set_internal): Only call `notify_variable_watchers' if bindflag is not
41262         SET_INTERNAL_THREAD_SWITCH.
41263         * src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
41264         passed on to set_internal and set_default_internal.  Adjust callers.
41265         (rebind_for_thread_switch, unbind_for_thread_switch): Pass
41266         SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
41267         temporarily adjusting symbol's trapped_write field.
41269 2016-12-13  Glenn Morris  <rgm@gnu.org>
41271         Minor fix for define-derived-mode
41273         * lisp/emacs-lisp/derived.el (define-derived-mode):
41274         Do not let eg eval-defun reset the values of syntax or abbrev tables,
41275         since they might have been defined externally.  (Bug#16160)
41277 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
41279         * build-aux/git-hooks/pre-commit: Add whitespace comment.
41281 2016-12-12  Clément Pit--Claudel  <clement.pitclaudel@live.com>
41283         Move backtrace to ELisp using a new mapbacktrace primitive
41285         * src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
41286         (Fmapbacktrace, Fbacktrace_frame_internal): New functions.
41287         (get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
41289         * lisp/subr.el (backtrace--print-frame): New function.
41290         (backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
41291         (backtrace-frame): Reimplement using `backtrace-frame--internal'.
41293         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
41294         `mapbacktrace' instead of searching for "(debug" in the output of
41295         `backtrace'.
41297         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
41298         (subr-test-backtrace-integration-test): New tests.
41300         * doc/lispref/debugging.texi (Internals of Debugger): Document
41301         `mapbacktrace' and missing argument BASE of `backtrace-frame'.
41303 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
41305         Use C99 syntax for font drivers
41307         Problem reported by Daniel Colascione in:
41308         https://lists.gnu.org/r/emacs-devel/2016-12/msg00515.html
41309         * src/ftcrfont.c (ftcrfont_driver):
41310         * src/ftfont.c (ftfont_driver):
41311         * src/ftxfont.c (ftxfont_driver):
41312         * src/macfont.m (macfont_driver):
41313         * src/nsfont.m (nsfont_driver):
41314         * src/xfont.c (xfont_driver):
41315         * src/xftfont.c (xftfont_driver):
41316         Use C99 syntax, not the old GNU C syntax.
41318 2016-12-12  Glenn Morris  <rgm@gnu.org>
41320         Obsolete gs.el
41322         * lisp/gs.el: Move to lisp/obsolete.  (Bug#1524)
41323         * doc/lispref/display.texi (Image Formats): Remove postscript.
41324         (PostScript Images): Remove section.
41325         * doc/lispref/elisp.texi: Update menu.
41327 2016-12-12  Glenn Morris  <rgm@gnu.org>
41329         Un-revert recent Ffset change
41331         * src/data.c (Ffset): Reinstate the check for "nil".
41333 2016-12-12  Glenn Morris  <rgm@gnu.org>
41335         Minor advice.el fix
41337         * lisp/emacs-lisp/advice.el (ad-preactivate-advice):
41338         Avoid setting the function definition of nil.
41339         This was happening during bootstrap of org-compat.el,
41340         apparently due to eager macro expansion of code behind
41341         a (featurep 'xemacs) test.
41343 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
41345         Make etags-tests work in out-of-tree builds
41347         * test/lisp/progmodes/etags-tests.el (etags-bug-158)
41348         (etags-bug-23164): Make them work in an out-of-tree build.
41349         Reported by Ken Brown <kbrown@cornell.edu>.
41351 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
41353         Avoid crashing if a new thread is signaled right away
41355         * src/thread.c (post_acquire_global_lock): Don't raise the pending
41356         signal if the thread's handlers were not yet set up, as that will
41357         cause Emacs to exit with a fatal error.  This can happen if a
41358         thread is signaled as soon as make-thread returns, before the new
41359         thread had an opportunity to acquire the global lock, set up the
41360         handlers, and call the thread function.
41362         * test/src/thread-tests.el (thread-signal-early): New test.
41364 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
41366         Fix point motion in cloned buffers
41368         * src/thread.c (post_acquire_global_lock): Call
41369         set_buffer_internal_2 instead of tricking set_buffer_internal_1
41370         into resetting the current buffer even if it didn't change.  This
41371         avoids bug#25165, caused by failing to record the modified values
41372         of point and mark, because current_buffer was set to NULL.  Also,
41373         don't bother re-setting the buffer if there was no thread switch,
41374         as that just wastes cycles.
41375         * src/buffer.c (set_buffer_internal_2): New function, with most of
41376         the body of set_buffer_internal_1, but without the test for B
41377         being identical to the current buffer.
41378         (set_buffer_internal_1): Call set_buffer_internal_2 if B is not
41379         identical to the current buffer.
41380         * src/buffer.h (set_buffer_internal_2): Add prototype.
41382         * test/src/thread-tests.el (thread-sticky-point): New test.
41384 2016-12-12  Michael Albinus  <michael.albinus@gmx.de>
41386         Further improvements in Tramp's file name unquoting
41388         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
41389         (tramp-adb-handle-write-region): Unquote localname.
41390         (tramp-adb-handle-copy-file): Implement direct copy on remote device.
41391         (tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.
41393         * lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
41394         (tramp-handle-file-name-case-insensitive-p):
41395         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
41396         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
41397         (tramp-gvfs-maybe-open-connection):
41398         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
41399         * lisp/net/tramp-smb.el (tramp-smb-get-share)
41400         (tramp-smb-get-localname): Use it.
41402         * test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
41403         (tramp--test-special-characters, tramp-test34-utf8)
41404         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
41405         (tramp-test34-utf8-with-ls): Use it.
41407 2016-12-12  Martin Rudalics  <rudalics@gmx.at>
41409         Strengthen conditions for resizing sibling windows (Bug#25169)
41411         * lisp/window.el (window-resize, delete-window): Resize other siblings
41412         only if `window-combination-resize' equals t (Bug#25169).
41414 2016-12-12  Noam Postavsky  <npostavs@gmail.com>
41416         Quote filenames containing '~' in prompts
41418         When in a directory named '~', the default value given by
41419         `read-file-name' should be quoted by prepending '/:', in order to
41420         prevent it from being interpreted as referring to the $HOME
41421         directory (Bug#16984).
41423         * lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
41424         (completion--sifn-requote, read-file-name-default): Use it instead of
41425         `minibuffer--double-dollars'.
41426         * test/lisp/files-tests.el (files-test-read-file-in-~): Test it.
41428 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
41430         Undo part of last change
41432         * src/thread.h:
41433         * src/keyboard.c:
41434         * src/keyboard.h: Undo part of last change:
41435         input_available_clear_time is again a global variable.
41437 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
41439         Avoid aborts when a thread signals an error
41441         * src/thread.h (struct thread_state): Add members
41442         m_waiting_for_input and m_input_available_clear_time.
41443         (waiting_for_input, input_available_clear_time): New macros.
41444         * src/keyboard.c (waiting_for_input, input_available_clear_time):
41445         Remove; they are now macros that reference the current thread.
41446         (Bug#25171)
41447         * src/w32select.c: Don't include keyboard.h.
41449         * test/src/thread-tests.el (thread-errors): New test.
41451 2016-12-11  Philipp Stephani  <phst@google.com>
41453         Clean up compile-tests.el
41455         Switch to lexical binding.  Make checkdoc happy.
41457         * test/lisp/progmodes/compile-tests.el (compile--test-error-line)
41458         (compile-test-error-regexps): Instead of checking a single Boolean
41459         value, use `should' for each attribute of the message to be compared.
41460         (compile-tests--test-regexps-data): Document sixth list element
41461         TYPE.
41463 2016-12-11  Michael Albinus  <michael.albinus@gmx.de>
41465         Fix Bug#25162
41467         * doc/emacs/files.texi (Reverting): Document
41468         auto-revert-remote-files and auto-revert-verbose.
41470         * lisp/autorevert.el (auto-revert-verbose, auto-revert-mode)
41471         (auto-revert-tail-mode, global-auto-revert-mode): Fix docstring.
41473 2016-12-11  Glenn Morris  <rgm@gnu.org>
41475         Fix a typo in define-abbrev-table
41477         * lisp/abbrev.el (define-abbrev-table): Fix typo in docstring handling.
41479 2016-12-11  Glenn Morris  <rgm@gnu.org>
41481         Improve previous cperl-mode change
41483         * lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
41484         Improve previous change.
41486 2016-12-11  Glenn Morris  <rgm@gnu.org>
41488         Mark default cperl abbrevs as system ones
41490         * lisp/progmodes/cperl-mode.el (cperl-mode):
41491         Mark our abbrevs as system ones.  (Bug#10934)
41493 2016-12-11  Glenn Morris  <rgm@gnu.org>
41495         Revert earlier Ffset change
41497         * src/data.c (Ffset): Allow nil again, since it caused
41498         eager macro-expansion failures.
41500 2016-12-11  Glenn Morris  <rgm@gnu.org>
41502         Tweaks for message bogus address detection
41504         * lisp/gnus/message.el (message-bogus-recipient-p):
41505         Do not require "@", since some mailers deliver to local addresses
41506         without one.  (Bug#23054)
41507         Move "@.*@" from here...
41508         (message-bogus-addresses): ...to here, so it can be customized.
41510 2016-12-11  Glenn Morris  <rgm@gnu.org>
41512         Do not allow nil to be defined as a function
41514         * lisp/emacs-lisp/byte-run.el (defun):
41515         * src/data.c (Ffset): Do not allow "nil".  (Bug#25110)
41517 2016-12-11  Glenn Morris  <rgm@gnu.org>
41519         Bump makeinfo requirement from 4.7 to 4.13
41521         * configure.ac: Bump makeinfo version requirement from 4.7 to 4.13.
41522         We need at least 4.8, and that may be buggy, so go for the last
41523         of the 4 series, which is 8 years old.  (Bug#25108)
41525 2016-12-11  Glenn Morris  <rgm@gnu.org>
41527         Fixes related to select-enable-clipboard
41529         * lisp/menu-bar.el (clipboard-yank, clipboard-kill-ring-save)
41530         (clipboard-kill-region):
41531         * lisp/eshell/esh-io.el (eshell-virtual-targets)
41532         (eshell-clipboard-append):
41533         Replace option gui-select-enable-clipboard with
41534         select-enable-clipboard; renamed October 2014.  (Bug#25145)
41536 2016-12-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
41538         Add some sanity checking of defun arglist
41540         * lisp/emacs-lisp/byte-run.el (defun):
41541         Check for malformed argument lists.  (Bug#15715)
41543 2016-12-11  Matt Armstrong  <marmstrong@google.com>  (tiny change)
41545         Minor shell-mode fix for zsh
41547         * lisp/shell.el (shell-mode): Prevent shell-dirstack-query
41548         becoming confused by zsh abbreviations.  (Bug#24632)
41550 2016-12-10  Noam Postavsky  <npostavs@gmail.com>
41552         Define struct predicate before acccesors
41554         The accessor functions use the predicate function, which causes problems
41555         when reloading after unload-feature: the compiler-macro property is
41556         still present on the predicate symbol, and the compiler fails to find
41557         the definition when trying to inline it into the accessor
41558         function (Bug#25088).
41560         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
41561         before field accessor definitions.
41563 2016-12-10  Andreas Schwab  <schwab@linux-m68k.org>
41565         * Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
41566         system unit file.
41568 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
41570         Support concurrency in Emacs Lisp
41572         Merge branch 'test-concurrency'
41574         * src/thread.c:
41575         * src/thread.h:
41576         * src/systhread.c:
41577         * src/systhread.h: New files.
41578         * src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
41579         xnmalloc unconditionally.
41580         * src/window.c (struct save_window_data): Rename current_buffer to
41581         f_current_buffer.
41582         * src/w32proc.c (sys_select): Change the function signature to
41583         closer fit 'pselect' on Posix hosts.
41584         * src/search.c:
41585         * src/regex.h: Convert some globals to macros that reference
41586         thread-specific values.
41587         * src/process.c (pset_thread, add_non_keyboard_read_fd)
41588         (add_process_read_fd, add_non_blocking_write_fd)
41589         (recompute_input_desc, compute_input_wait_mask)
41590         (compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
41591         (compute_write_mask, clear_waiting_thread_info)
41592         (update_processes_for_thread_death, Fset_process_thread)
41593         (Fprocess_thread): New functions.
41594         (enum fd_bits): New enumeration.
41595         (fd_callback_data): Add 'thread' and 'waiting_thread', rename
41596         'condition' to 'flags'.
41597         (set_process_filter_masks, create_process, create_pty)
41598         (Fmake_serial_process, finish_after_tls_connection)
41599         (connect_network_socket, deactivate_process)
41600         (server_accept_connection, wait_reading_process_output)
41601         (Fcontinue_process, Fstop_process, keyboard_bit_set)
41602         (add_timer_wait_descriptor, add_keyboard_wait_descriptor)
41603         (delete_keyboard_wait_descriptor): Use the new functions instead
41604         of manipulating fd flags and masks directly.
41605         (syms_of_process): Defsubr the new primitives.
41606         * src/print.c (print_object): Print threads, mutexes, and
41607         conditional variables.
41608         * src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
41609         and PVEC_CONDVAR.
41610         (XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
41611         (CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
41612         (XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
41613         (struct handler): Add back byte_stack.  Rename lisp_eval_depth to
41614         f_lisp_eval_depth.
41615         * src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
41616         (rebind_for_thread_switch, do_one_unbind)
41617         (unbind_for_thread_switch): New functions.
41618         (init_eval): 'handlerlist' is not malloc'ed.
41619         (specbind): Call do_specbind.
41620         (unbind_to): Call do_one_unbind.
41621         (mark_specpdl): Accept 2 arguments.
41622         (mark_specpdl): Mark the saved value in a let-binding.
41623         * src/emacs.c (main): Call init_threads_once, init_threads, and
41624         syms_of_threads.
41625         * src/data.c (Ftype_of): Support thread, mutex, and condvar
41626         objects.
41627         (Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
41628         (syms_of_data): DEFSYM and defsubr new symbols and primitives.
41629         * src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
41630         (BYTE_CODE_QUIT): Add back.
41631         (exec_byte_code): Add back byte stack manipulation.
41632         * src/alloc.c (cleanup_vector): Handle threads, mutexes, and
41633         conditional variables.
41634         (mark_stack): Now extern; accept additional argument 'bottom'.
41635         (flush_stack_call_func): New function.
41636         (garbage_collect_1): Call mark_threads and unmark_threads.  Don't
41637         mark handlers.
41638         * src/.gdbinit (xbytecode): Add back.
41640         * test/src/thread-tests.el: New tests.
41641         * test/src/data-tests.el (binding-test-manual)
41642         (binding-test-setq-default, binding-test-makunbound)
41643         (binding-test-defvar-bool, binding-test-defvar-int)
41644         (binding-test-set-constant-t, binding-test-set-constant-nil)
41645         (binding-test-set-constant-keyword)
41646         (binding-test-set-constant-nil): New tests.
41648         * doc/lispref/processes.texi (Processes and Threads): New
41649         subsection.
41650         * doc/lispref/threads.texi: New file
41651         * doc/lispref/elisp.texi (Top): Include it.
41652         * doc/lispref/objects.texi (Thread Type, Mutex Type)
41653         (Condition Variable Type): New subsections.
41654         (Type Predicates): Add thread-related predicates.
41655         * doc/lispref/objects.texi (Editing Types):
41656         * doc/lispref/elisp.texi (Top): Update higher-level menus.
41658         * etc/NEWS: Mention concurrency features.
41660 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
41662         Fix error messages in thread.c
41664         * src/thread.c (lisp_mutex_unlock, Fcondition_wait)
41665         (Fcondition_notify, Fthread_join): Fix error messages.
41667 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
41669         Improve doc strings in thread.c
41671         * src/thread.c (Fmake_condition_variable, Fcondition_wait)
41672         (Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
41673         (Fthread_join, Fall_threads): Doc fixes.
41675 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
41677         Fix building with check-lisp-object-type
41679         * src/thread.c (mark_one_thread): Use NILP to compare with
41680         m_saved_last_thing_searched, which is a Lisp object.  Reported by
41681         Andreas Politz <politza@hochschule-trier.de>.
41683 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
41685         Documentation and commentary improvements
41687         * src/lisp.h:
41688         * src/regex.c:
41689         * src/xgselect.c (xg_select): Improve commentary and formatting.
41691         * doc/lispref/objects.texi (Thread Type, Mutex Type)
41692         (Condition Variable Type): New subsections.
41693         (Type Predicates): Add thread-related predicates.
41694         * doc/lispref/objects.texi (Editing Types):
41695         * doc/lispref/elisp.texi (Top): Update higher-level menus.
41697 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
41699         Fix further problems with quoted file names in Tramp
41701         * lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
41702         (tramp-unquote-name): Move defsubst ...
41703         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
41704         (tramp-compat-file-name-quote)
41705         (tramp-compat-file-name-unquote): ... here. Adapt callees.
41707         * lisp/net/tramp-cache.el (tramp-flush-file-property)
41708         (tramp-flush-directory-property):
41709         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
41710         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
41711         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
41712         (tramp-smb-handle-substitute-in-file-name)
41713         (tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
41715 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
41717         *src/sysdep.c: Fix a comment.
41719 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
41721         Fix compilation error on Fedora 24
41723         * src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
41724         Reported by Paul Eggert <eggert@cs.ucla.edu>.
41726 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
41728         Fix compilation warnings due to prototype of thread_select
41730         * src/thread.h <int select_func>: Make the 5th and 6th arguments
41731         be 'const'.
41732         * src/process.c [WINDOWSNT]:
41733         * src/w32proc.c: Make the 5th and 6th argument to sys_select be
41734         'const'.
41736 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
41738         Fix compilation on Debian GNU/Linux
41740         * src/thread.h: Include sys/types.h, for ssize_t that regex.h
41741         uses.  Reported by Robert Marshall <robert.marshall@codethink.co.uk>.
41743 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
41745         Fix subtle errors with let-binding of localized variables
41747         * src/eval.c (do_specbind): Don't require a "symbol" that is
41748         actually a cons cell, in order to call set-default, as there are
41749         no longer such bindings.  This makes do_specbind work like the
41750         pre-concurrency implementation in specbind for bindings of
41751         forwarded symbols.  Use specpdl_kind to access the type of the
41752         binding.
41753         (specpdl_kind): New function.
41755 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
41757         Document file-name-quote, file-name-unquote and file-name-quoted-p
41759         * doc/lispref/files.texi (File Name Expansion):
41760         * etc/NEWS: Mention file-name-quote, file-name-unquote and
41761         file-name-quoted-p.
41763         * lisp/files.el (file-name-non-special): Revert using
41764         file-name-quote, file-name-unquote and file-name-quoted-p.
41766 2016-12-09  Noam Postavsky  <npostavs@gmail.com>
41768         Fix bad quoting of python-shell-interpreter
41770         `python-shell-calculate-command' was using `shell-quote-argument' as if
41771         it was generating a shell command, but its callers don't pass the result
41772         to a shell, and they expect to parse it with `split-string-and-unquote'.
41773         This caused problems depending on the flavor of shell quoting in
41774         effect (Bug#25025).
41776         * lisp/progmodes/python.el (python-shell-calculate-command): Use
41777         `combine-and-quote-strings' to quote the interpreter, so that it can be
41778         parsed by `python-shell-make-comint' successfully using
41779         `split-string-and-unquote'.
41781 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
41783         * src/lisp.h (struct terminal): Remove unnecessary forward decl.
41785 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
41787         Make read1 more reentrant
41789         This is needed if ‘read’ is called soon after startup, before the
41790         Unicode tables have been set up, and it reads a \N escape and
41791         needs to look up a value the Unicode tables, a lookup that in turn
41792         calls read1 recursively.  Although this change doesn’t make ‘read’
41793         fully reentrant, it’s good enough to handle this case.
41794         * src/lread.c (read_buffer_size, read_buffer): Remove static vars.
41795         (grow_read_buffer): Revamp to use locals, not statics, and to
41796         record memory allocation un the specpdl.  All callers changed.
41797         (read1): Start with a stack-based buffer, and use the heap
41798         only if the stack buffer is too small.  Use unbind_to to
41799         free any heap buffer allocated.  Use bool for boolean.
41800         Redo symbol loop so that only one call to grow_read_buffer
41801         is needed.
41802         (init_obarray): Remove no-longer-needed initialization.
41804 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
41806         Fix compilation warnings
41808         * src/thread.c (Fmake_thread): Call emacs_abort, to avoid
41809         compilation warning.
41811 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
41813         Fix unlikely substitute-command-keys memory leak
41815         * src/doc.c (Fsubstitute_command_keys):
41816         Free buffer when unwinding.
41818 2016-12-08  Michael Albinus  <michael.albinus@gmx.de>
41820         Add file-name-quoted-p, file-name-quote, file-name-unquote
41822         * lisp/files.el (file-name-quoted-p, file-name-quote)
41823         (file-name-unquote): New defsubst.
41824         (find-file--read-only, find-file-noselect)
41825         (file-name-non-special): Use them.
41827 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
41829         Add a NEWS entry.
41831 2016-12-08  Glenn Morris  <rgm@gnu.org>
41833         Minor fix for symbol-file
41835         * lisp/subr.el (symbol-file): Avoid false matches with "require"
41836         elements in load-history.  (Bug#25109)
41838 2016-12-08  Glenn Morris  <rgm@gnu.org>
41840         Doc fix for vc-git
41842         * lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.
41844 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
41846         Fix Bug#24962
41848         * lisp/buff-menu.el (list-buffers--refresh):
41849         List buffers with name starting with " " if they visit a file.
41850         * test/lisp/buff-menu-tests.el (buff-menu-24962):
41851         Update test result as pass.
41853 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
41855         ediff-fixup-patch-map: Improve prompt
41857         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
41858         Make clear in the prompt when we are applying a multi patch.
41860 2016-12-08  Glenn Morris  <rgm@gnu.org>
41862         Retain message logging in map-y-or-n-p
41864         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
41865         Stop disabling logging to Messages buffer.  (Bug#13326)
41867 2016-12-08  Glenn Morris  <rgm@gnu.org>
41869         Doc fix for recent change
41871         * lisp/simple.el (region-modifiable-p): Doc fix.
41873 2016-12-08  Glenn Morris  <rgm@gnu.org>
41875         Quieten make-dist default operation
41877         * make-dist: Add --verbose option.  Default to quieter operation.
41879 2016-12-08  Glenn Morris  <rgm@gnu.org>
41881         Further improve make-dist checking
41883         * make-dist: Print status messages when checking.
41885 2016-12-08  Glenn Morris  <rgm@gnu.org>
41887         Improve previous make-dist change
41889         * make-dist: Let make check the info files more thoroughly.
41891 2016-12-08  Glenn Morris  <rgm@gnu.org>
41893         Make make-dist --snapshot do some sanity checks
41895         * make-dist: Snapshot mode no longer disables checks.
41896         Checks now includes checks for freshness.  (Bug#25084)
41897         Checks now exits with an error if problems were found.
41899 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
41901         Fix regression introduced by commit 7b1e97f
41903         * lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
41904         of cadr; required after commit 20f5a5b.
41906 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
41908         Put post-25 ChangeLog entries into ChangeLog.3
41910         * ChangeLog.2: Copy from emacs-25 branch.
41911         * ChangeLog.3: New file, with changes only in master.
41912         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
41914 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
41916         Fix network streams.
41918         The original code messed up flags in fd_callback_data[], and also
41919         didn't call add_process_read_fd for process-related file descriptors.
41921 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
41923         Minimize spurious diffs from master.
41925 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
41927         Fix the test suite
41929         * test/automated/bindings.el: Contents moved to
41930         test/src/data-tests.el.
41931         * test/automated/threads.el: Moved to test/src/thread-tests.el.
41933 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
41935         Fix a typo in bytecode.c.
41937 2016-12-05  Eli Zaretskii  <eliz@gnu.org>
41939         Fix compilation problems.
41941         Fix merged code in process.c and eval.c.
41943 2016-12-04  Eli Zaretskii  <eliz@gnu.org>
41945         Merge branch 'concurrency'
41947         Conflicts (resolved):
41948                 configure.ac
41949                 src/Makefile.in
41950                 src/alloc.c
41951                 src/bytecode.c
41952                 src/emacs.c
41953                 src/eval.c
41954                 src/lisp.h
41955                 src/process.c
41956                 src/regex.c
41957                 src/regex.h
41959 2015-11-02  Eli Zaretskii  <eliz@gnu.org>
41961         Fix the MS-Windows build
41963         * src/thread.h [WINDOWSNT]: Include sys/socket.h.
41965         * src/sysselect.h: Don't define fd_set and FD_* macros for
41966         MS-Windows here.
41967         * src/w32.h: Define them here.
41969         * src/process.h (sys_select): Declare prototype.
41971         * src/sysdep.c:
41972         * src/process.c:
41973         * src/filelock.c:
41974         * src/emacs.c:
41975         * src/callproc.c: Move inclusion of sys/select.h after lisp.h.
41976         * nt/inc/socket.h: Include w32.h instead of sysselect.h
41978 2015-11-01  Ken Raeburn  <raeburn@raeburn.org>
41980         merge from trunk
41982 2013-10-19  Barry O'Reilly  <gundaetiapo@gmail.com>
41984         * src/eval.c (unbind_for_thread_switch): Fix iteration over the
41985         specpdl stack.
41987 2013-10-18  Tom Tromey  <tromey@redhat.com>
41989         change condition-variablep to condition-variable-p
41991 2013-09-01  Eli Zaretskii  <eliz@gnu.org>
41993         Fix crashes when unbind_for_thread_switch signals an error.
41995          src/eval.c (unbind_for_thread_switch): Accept a 'struct
41996          thread_state *' argument and use specpdl_ptr and specpdl of that
41997          thread.  Fixes crashes if find_symbol_value signals an error.
41998          src/thread.c (post_acquire_global_lock): Update current_thread
41999          before calling unbind_for_thread_switch.  Pass the previous thread
42000          to unbind_for_thread_switch.
42002 2013-08-31  Eli Zaretskii  <eliz@gnu.org>
42004         Improve MS-Windows implementation of threads.
42006          src/systhread.c (sys_cond_init): Set the 'initialized' member to
42007          true only if initialization is successful.  Initialize wait_count
42008          and wait_count_lock.
42009          (sys_cond_wait, sys_cond_signal, sys_cond_broadcast): If
42010          'initialized' is false, do nothing.
42011          (sys_cond_wait): Fix the implementation to avoid the "missed
42012          wakeup" bug: count the waiting threads, and reset the broadcast
42013          event once the last thread was released.
42014          (sys_cond_signal, sys_cond_broadcast): Use SetEvent instead of
42015          PulseEvent.  Don't signal the event if no threads are waiting.
42016          (sys_cond_destroy): Only close non-NULL handles.
42017          (sys_thread_create): Return zero if unsuccessful, 1 if successful.
42018          src/systhread.h (w32thread_cond_t): New member 'initialized'.
42019          Rename waiters_count and waiters_count_lock to wait_count and
42020          wait_count_lock, respectively.
42022 2013-08-30  Eli Zaretskii  <eliz@gnu.org>
42024         Enable thread support in the MS-Windows build.
42026          src/systhread.h (w32thread_critsect, w32thread_cond_t, sys_mutex_t)
42027          (sys_cond_t, sys_thread_t) [WINDOWSNT]: New data types.
42028          src/systhread.c (sys_mutex_init, sys_mutex_lock, sys_mutex_unlock)
42029          (sys_mutex_destroy, sys_cond_init, sys_cond_wait)
42030          (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy)
42031          (sys_thread_self, sys_thread_equal, w32_beginthread_wrapper)
42032          (sys_thread_create, sys_thread_yield) [WINDOWSNT]: New functions.
42034          configure.ac (THREADS_ENABLED): Enable threads for MinGW, even
42035          if pthreads is not available.
42037 2013-08-27  Tom Tromey  <tromey@redhat.com>
42039         use condition-notify in the docs, not condition-signal
42041         zap until-condition docs
42043         zap until-condition
42045         rename thread-blocker to thread--blocker
42047         remove binding_symbol
42049         fix style of threadp, mutexp, and condition-variable-p
42051         make thread_check_current_buffer return bool
42053         add a comment before flush_stack_call_func
42055         fix whitespace_regexp warning
42057 2013-08-26  Eli Zaretskii  <eliz@gnu.org>
42059         Fix MS-Windows build.
42061          src/callproc.c:
42062          src/emacs.c:
42063          src/filelock.c:
42064          src/process.c:
42065          src/sysdep.c:
42066          src/w32.c: Reshuffle Windows-specific headers to avoid errors with
42067          redefinition of fd_set etc.
42068          src/process.c: Don't use num_pending_connects when
42069          NON_BLOCKING_CONNECT is not defined.
42070          src/sysselect.h: Move definitions of FD_* macros and of SELECT_TYPE
42071          here from w32.h.
42072          src/w32proc.c (sys_select): Adjust the argument types to what
42073          thread.h expects.
42075          nt/inc/sys/socket.h: Include stdint.h.  Include sysselect.h instead
42076          of w32.h.
42078 2013-08-26  Tom Tromey  <tromey@redhat.com>
42080         use record_unwind_protect_void, avoid warning
42082         implement --enable-threads and a thread-less mode
42084 2013-08-25  Tom Tromey  <tromey@redhat.com>
42086         merge from trunk
42088 2013-08-20  Tom Tromey  <tromey@redhat.com>
42090         fix up some merge errors in process.c
42092         remove a dead function
42093         clean up a fixme I added in create_pty during the merge
42095 2013-08-20  Tom Tromey  <tromey@redhat.com>
42097         merge from trunk
42099 2013-07-26  Tom Tromey  <tromey@redhat.com>
42101         merge from trunk
42103 2013-07-13  Tom Tromey  <tromey@redhat.com>
42105         Merge from trunk
42107 2013-07-12  Tom Tromey  <tromey@redhat.com>
42109         Use thread_alive_p in a couple more spots
42111 2013-07-07  Tom Tromey  <tromey@redhat.com>
42113         fix xfree bug in run_thread
42115         this fixes run_thread to account for the dummy slot
42116         in specpdl
42118 2013-07-07  Tom Tromey  <tromey@redhat.com>
42120         merge from trunk
42122         this merges frmo trunk and fixes various build issues.
42123         this needed a few ugly tweaks.
42124         this hangs in "make check" now
42126 2013-07-06  Tom Tromey  <tromey@redhat.com>
42128         add assertion to flush_stack_call_func
42130         functions called via flush_stack_call_func are assumed
42131         to return with the global lock held again, and with
42132         current_thread reset.  this assertion verifies part of this
42134 2013-07-06  Tom Tromey  <tromey@redhat.com>
42136         call init_primary_thread from init_threads
42138 2013-07-05  Tom Tromey  <tromey@redhat.com>
42140         avoid SAFE_ALLOCA
42142         avoid SAFE_ALLOCA in xgselect.c.
42143         in this code it is just as easy to always use malloc;
42144         and it avoids thread-switching problems, as the safe-alloca
42145         stuff implicitly refers to the current thread
42147 2013-07-05  Tom Tromey  <tromey@redhat.com>
42149         avoid current_thread sometimes
42151         this tweaks thread.c to use 'self' instead of current_thread
42152         in a couple spots.  this is clearer and more robust
42154 2013-07-05  Tom Tromey  <tromey@redhat.com>
42156         initialize saved_value
42158         initialize the saved_value field in all needed cases
42159         also, add an assertion to do_one_unbind
42161 2013-07-04  Tom Tromey  <tromey@redhat.com>
42163         fix buglet in test case
42165 2013-07-04  Tom Tromey  <tromey@redhat.com>
42167         unlink thread later
42169         unlink thread from global list later
42170         also remove some unnecessary destruction code
42172 2013-07-04  Tom Tromey  <tromey@redhat.com>
42174         introduce thread_alive_p macro
42176         This introduces the thread_alive_p macro and changes
42177         thread-alive-p to use it.  This is a minor cleanup.
42178         It also changes all-threads to ignore dead threads.
42180 2013-07-03  Tom Tromey  <tromey@redhat.com>
42182         Don't call unbind_for_thread_switch in run_thread
42184         This removes the call to unbind_for_thread_switch from run_thread.
42185         This isn't necessary because acquire_global_lock does it properly.
42187 2013-07-03  Tom Tromey  <tromey@redhat.com>
42189         remove unused field from struct thread_state
42191         Fix a comment.
42193 2013-06-13  Tom Tromey  <tromey@redhat.com>
42195         merge from trunk
42197 2013-06-06  Tom Tromey  <tromey@redhat.com>
42199         fix a few latent issues in the thread patch
42201         * we called unbind_for_thread_switch unconditionally, but this
42202           is wrong if the previous thread exited
42203         * likewise, exiting a thread should clear current_thread
42204         * redundant assignment in run_thread
42205         * clean up init_threads - no need to re-init the primary thread
42207         This patch still sometimes causes weird hangs in "make check".
42208         However, I think that is a kernel bug, since Emacs enters the zombie
42209         state but its parent process hangs in wait.  This shouldn't happen.
42211 2013-06-04  Tom Tromey  <tromey@redhat.com>
42213         update eval.c to make it build again after the merge
42215 2013-06-03  Tom Tromey  <tromey@redhat.com>
42217         merge from trunk; clean up some issues
42219 2013-03-18  Tom Tromey  <tromey@redhat.com>
42221         don't let kill-buffer kill a buffer if it is current in any thread
42223 2013-03-18  Tom Tromey  <tromey@redhat.com>
42225         fix process bugs
42227         Fix some process-related bugs, mostly thinkos from the conversion to
42228         recording fd state as flags.
42229         This now passes the test suite without hanging.
42231 2013-03-17  Tom Tromey  <tromey@redhat.com>
42233         merge from trunk
42235 2013-03-08  Tom Tromey  <tromey@redhat.com>
42237         merge from trunk
42239 2013-01-16  Tom Tromey  <tromey@redhat.com>
42241         merge from trunk
42243 2013-01-06  Tom Tromey  <tromey@redhat.com>
42245         merge from trunk
42247 2012-12-23  Tom Tromey  <tromey@redhat.com>
42249         mention let bindings and lack of other ways to rewind
42251 2012-12-17  Tom Tromey  <tromey@redhat.com>
42253         Remove bit accidentally left over from the merge
42255         merge from trunk
42257 2012-09-04  Tom Tromey  <tromey@redhat.com>
42259         merge from trunk
42261         link from thread docs to match data
42263 2012-08-27  Tom Tromey  <tromey@redhat.com>
42265         cannot thread-join the current thread
42267         fix test suite for condition-variable-p name change
42269         add tests for variable bindings
42271 2012-08-25  Tom Tromey  <tromey@redhat.com>
42273         minor update to thread-join docs
42275 2012-08-24  Tom Tromey  <tromey@redhat.com>
42277         minor documentation updates
42279 2012-08-23  Tom Tromey  <tromey@redhat.com>
42281         document until-condition
42283         first draft of threads documentation
42285         rename condition-variablep to condition-variable-p
42287         document process-thread and set-process-thread
42289 2012-08-20  Tom Tromey  <tromey@redhat.com>
42291         pass the thread name to the OS if possible
42293         use prctl to pass the thread name to the OS, if possible
42295 2012-08-20  Tom Tromey  <tromey@redhat.com>
42297         add convenience macros with-mutex and until-condition
42299         with-mutex is a safe way to run some code with a mutex held.
42300         until-condition is a safe way to wait on a condition variable.
42302 2012-08-20  Tom Tromey  <tromey@redhat.com>
42304         Merge from trunk
42306 2012-08-19  Tom Tromey  <tromey@redhat.com>
42308         another docstring fixlet
42310         minor docstring fixup
42312         add condition-mutex and condition-name
42314         ensure name of a thread is a string
42316         ensure name of a mutex is a string
42318         use NILP
42320 2012-08-19  Tom Tromey  <tromey@redhat.com>
42322         condition variables
42324         This implements condition variables for elisp.
42325         This needs more tests.
42327 2012-08-19  Tom Tromey  <tromey@redhat.com>
42329         comment fixes
42331 2012-08-19  Tom Tromey  <tromey@redhat.com>
42333         refactor systhread.h
42335         This refactors systhread.h to move the notion of a "lisp mutex"
42336         into thread.c.  This lets us make make the global lock and
42337         post_acquire_global_lock static.
42339 2012-08-17  Tom Tromey  <tromey@redhat.com>
42341         write docstrings for the thread functions
42343         declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.h
42345 2012-08-15  Tom Tromey  <tromey@redhat.com>
42347         add test case for I/O switching
42349 2012-08-15  Tom Tromey  <tromey@redhat.com>
42351         process changes
42353         This changes wait_reading_process_output to handle threads better.  It
42354         introduces a wrapper for select that releases the global lock, and it
42355         ensures that only a single thread can select a given file descriptor
42356         at a time.
42358         This also adds the thread-locking feature to processes.  By default a
42359         process can only have its output accepted by the thread that created
42360         it.  This can be changed using set-process-thread.  (If the thread
42361         exits, the process is again available for waiting by any thread.)
42363         Note that thread-signal will not currently interrupt a thread blocked
42364         on select.  I'll fix this later.
42366 2012-08-15  Tom Tromey  <tromey@redhat.com>
42368         Prepare process.c for threads by not having global select masks.
42369         The next step is to make it so selects can choose fds by thread.
42371 2012-08-15  Tom Tromey  <tromey@redhat.com>
42373         fix a latent bug in process.c
42375         * src/process.c (wait_reading_process_output): Check Writeok bits,
42376         not write_mask.
42378 2012-08-15  Tom Tromey  <tromey@redhat.com>
42380         This adds thread-blocker, a function to examine what a thread is
42381         blocked on.  I thought this would be another nice debugging addition.
42383         This adds names to mutexes.  This seemed like a nice debugging
42384         extension.
42386         This adds some tests of the threading code.
42388 2012-08-15  Tom Tromey  <tromey@redhat.com>
42390         This supplies the mutex implementation for Emacs Lisp.
42392         A lisp mutex is implemented using a condition variable, so that we can
42393         interrupt a mutex-lock operation by calling thread-signal on the
42394         blocking thread.  I did things this way because pthread_mutex_lock
42395         can't readily be interrupted.
42397 2012-08-15  Tom Tromey  <tromey@redhat.com>
42399         This adds most of the thread features visible to emacs lisp.
42401         I roughly followed the Bordeaux threads API:
42403         http://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation
42405         ... but not identically.  In particular I chose not to implement
42406         interrupt-thread or destroy-thread, but instead a thread-signaling
42407         approach.
42409         I'm still undecided about *default-special-bindings* (which I did not
42410         implement).  I think it would be more emacs-like to capture the let
42411         bindings at make-thread time, but IIRC Stefan didn't like this idea
42412         the first time around.
42414         There are one or two semantics issues pointed out in the patch where I
42415         could use some advice.
42417 2012-08-15  Tom Tromey  <tromey@redhat.com>
42419         This turns thread_state into a pseudovector and updates various bits
42420         of Emacs to cope.
42422 2012-08-15  Tom Tromey  <tromey@redhat.com>
42424         This introduces some new functions to handle the specpdl.  The basic
42425         idea is that when a thread loses the interpreter lock, it will unbind
42426         the bindings it has put in place.  Then when a thread acquires the
42427         lock, it will restore its bindings.
42429         This code reuses an existing empty slot in struct specbinding to store
42430         the current value when the thread is "swapped out".
42432         This approach performs worse than my previously planned approach.
42433         However, it was one I could implement with minimal time and
42434         brainpower.  I hope that perhaps someone else could improve the code
42435         once it is in.
42437 2012-08-15  Tom Tromey  <tromey@redhat.com>
42439         This introduces the low-level system threading support.  It also adds
42440         the global lock.  The low-level support is a bit over-eager, in that
42441         even at the end of the present series, it will not all be used.  I
42442         think thiat is ok since I plan to use it all eventually -- in
42443         particular for the emacs lisp mutex implementation.
42445         I've only implemented the pthreads-based version.  I think it should
42446         be relatively clear how to port this to other systems, though.
42448         I'd also like to do a "no threads" port that will turn most things
42449         into no-ops, and have thread-creation fail.  I was thinking perhaps
42450         I'd make a future (provide 'threads) conditional on threads actually
42451         working.
42453         One other minor enhancement available here is to make it possible to
42454         set the name of the new thread at the OS layer.  That way gdb, e.g.,
42455         could display thread names.
42457 2012-08-15  Tom Tromey  <tromey@redhat.com>
42459         This parameterizes the GC a bit to make it thread-ready.
42461         The basic idea is that whenever a thread "exits lisp" -- that is,
42462         releases the global lock in favor of another thread -- it must save
42463         its stack boundaries in the thread object.  This way the boundaries
42464         are always available for marking.  This is the purpose of
42465         flush_stack_call_func.
42467         I haven't tested this under all the possible GC configurations.
42468         There is a new FIXME in a spot that i didn't convert.
42470         Arguably all_threads should go in the previous patch.
42472 2012-08-15  Tom Tromey  <tromey@redhat.com>
42474         This introduces a thread-state object and moves various C globals
42475         there.  It also introduces #defines for these globals to avoid a
42476         monster patch.
42478         The #defines mean that this patch also has to rename a few fields
42479         whose names clash with the defines.
42481         There is currently just a single "thread"; so this patch does not
42482         impact Emacs behavior in any significant way.
42484 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
42486         Merge from origin/emacs-25
42488         eeecac7 Fix minor quoting problems in doc strings
42490 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
42492         Merge from origin/emacs-25
42494         35ce3fb Don't assume window-point and point are the same
42496 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
42498         Merge from origin/emacs-25
42500         ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change.  ...
42501         8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
42502         c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change.
42503         93d8346 Improve indexing of 'man'
42505 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
42507         Merge from origin/emacs-25
42509         d31298d Fix documentation of `window-combination-resize'
42510         2086f4c Typo fixes in elisp manual
42512 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
42514         Merge from origin/emacs-25
42516         3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
42517         5878abf Fix 'expand-file-name' during startup on MS-Windows
42519 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
42521         Merge from origin/emacs-25
42523         9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition.
42524         6d27423 Tweak refcard note about documentation location
42525         e46a134 Improve treatment of Fortran's "class is"
42527 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
42529         Merge from origin/emacs-25
42531         93c0f51 Handle TeX comments when making new paragraph
42532         e0884f1 Restore keystroke echo in 'C-q'
42533         a6213ce Improve documentation of 'current-word'
42534         0828126 Fix a typo in an Eshell defcustom
42535         2e361c7 Minor copyedits of electric-pair-mode
42536         7499ee8 ; Minor copyedit in the Emacs manual
42537         45b652b Fix documentation of 'invocation-directory'
42538         7f43d7c * admin/authors.el (authors-aliases): Add an entry.
42539         ba48880 ; Fix pl-refcard.tex
42541 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
42543         Merge from origin/emacs-25
42545         7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary.
42547 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
42549         Merge from origin/emacs-25
42551         3d63b48 Update ChangeLog files and authors.el
42552         9d30264 Fix menu bindings of Dired 'A' and 'Q' commands
42553         a725592 Avoid errors in shr-pixel-column due to dedicated windows
42554         3138598 Update format-time-string documentation
42556 2016-12-07  Sam Steingold  <sds@gnu.org>
42558         delete-trailing-whitespace: handle read-only text in buffer
42560         * lisp/simple.el (region-modifiable-p): New function.
42561         (delete-trailing-whitespace): Use it to avoid trying to delete read-only text.
42563 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
42565         Fix minor quoting problems in doc strings
42567 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
42569         Fix --enable-gcc-warnings --with-ns on Fedora
42571         * src/Makefile.in (NON_OBJC_CFLAGS): New macro.
42572         (ALL_OBJC_CFLAGS): Use it.
42573         (EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS.
42574         (ALL_CFLAGS, ALL_OBJC_FLAGS): Use it.
42576 2016-12-07  Michael Albinus  <michael.albinus@gmx.de>
42578         Fix problems in quoting Tramp file names
42580         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
42581         (tramp-unquote-shell-quote-argument): New defun.
42582         (tramp-shell-quote-argument):
42583         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
42584         (tramp-make-copy-program-file-name):
42585         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
42586         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
42587         (tramp-smb-shell-quote-argument): Use it.
42589 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
42591         ibuffer-map-deletion-lines: Re-included it
42593         It was deleted in previous commit, but it's referenced
42594         by the macro 'define-ibuffer-op'.
42595         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it.
42597 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
42599         ibuffer-unmark-all: simplify code
42601         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it.
42602         (ibuffer-unmark-all): Simplify code.
42604 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
42606         define-ibuffer-filter: Discard wrong filters
42608         * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store
42609         in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042).
42610         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test.
42612 2016-12-07  Philipp Stephani  <p.stephani2@gmail.com>
42614         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
42616         so that it matches the actual implementation.
42617         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
42619 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
42621         ibuffer-decompose-filter-group avoid unwanted side effects
42623         * lisp/ibuf-ext.el (ibuffer-delete-alist): Remove it.
42624         (ibuffer-remove-alist): New defun; it supersedes 'ibuffer-delete-alist'.
42625         All callers changed (Bug#25058).
42626         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): Add test.
42628 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
42630         ibuffer-unmark-backward: Unmark the region when is active
42632         * lisp/ibuffer.el (ibuffer-unmark-backward):
42633         Use 'ibuffer-get-region-and-prefix'; call 'ibuffer-unmark-forward'
42634         with the region boundary as the first 2 arguments (Bug#24987).
42636 2016-12-07  Nicolas Petton  <nicolas@petton.fr>
42638         Docstring improvement for seq-some (bug#25129)
42640         * lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing
42641           regarding the returned value.
42643 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
42645         dired-unmark-backward: Unmark the region when is active
42647         * lisp/dired.el (dired-unmark-backward): Call 'dired-unmark' with
42648         a non-nil second argument (Bug#24986).
42650 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
42652         New test file for ediff
42654         Fix previous commit.
42655         * test/lisp/vc/ediff-ptch-tests.el: New test.
42657 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
42659         ediff-context-diff-label-regexp: Detect the end of second file
42661         * lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): Skip
42662         '\n' in file names (Bug#25010).
42663         * test/lisp/vc/ediff-ptch-tests.el: New file.
42664         (ibuffer-test-bug25010): Add test for Bug#25010.
42666 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
42668         ibuffer-decompose-filter: Avoid side effects on error
42670         * lisp/ibuf-ext.el (ibuffer-decompose-filter):
42671         Update 'ibuffer-filtering-qualifiers' only if there is no error (Bug#24997).
42672         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997):
42673         Update test result as pass.
42675 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
42677         ibuffer: compare marks with EQ
42679         * lisp/ibuffer.el:
42680         (ibuffer-update-title-and-summary)
42681         (ibuffer-redisplay-current)
42682         (ibuffer-buffer-name-face, ibuffer-unmark-all)
42683         (ibuffer-count-deletion-lines, ibuffer-buffer-names-with-mark):
42684         Use 'eq' instead of 'char-equal' when comparing mark characters
42685         (Bug#25000).
42686         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000):
42687         Update test result as pass.
42689 2016-12-07  Christopher Genovese  <genovese@cmu.edu>
42691         ibuffer-saved-filters: Remove extra nesting level
42693         Fix Bug#25049.
42694         * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra
42695         nesting level; add transparent setter to adjust old-format values;
42696         update doc string.
42697         (ibuffer-save-filters): Remove extra level of nesting
42698         in ibuffer-saved-filters values when saving new filters.
42699         (ibuffer-old-saved-filters-warning): New variable with
42700         clickable message with repair options to be displayed
42701         as a warning if 'ibuffer-repair-saved-filters' detects
42702         a format mismatch.
42703         (ibuffer-repair-saved-filters): Add new command to check and
42704         repair saved filters format.
42705         (ibuffer-included-in-filter-p, ibuffer-decompose-filter):
42706         Change access of saved filter data (cadr->cdr) to account
42707         for reduced nesting.
42708         * test/lisp/ibuffer-tests.el (ibuffer-save-filters):
42709         New test; check that filters are saved in the proper format.
42711 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
42713         Clean out some IRIX cruft
42715         * etc/MACHINES: Remove obsolete discussion of IRIX.
42716         * src/process.c (allocate_pty) [__sgi]: Remove SGI-specific code.
42717         (create_process) [HAVE_PTYS]: Don't worry about IRIX.
42718         * src/syntax.c (scan_sexps_forward): Remove obsolete comment.
42719         * src/unexelf.c [__sgi]: Don't include <syms.h>.
42720         (unexec) [__sgi]: Remove SGI-specific code.
42722 2016-12-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
42724         Simplify FUNCTIONP implementation
42726         * src/bytecode.c (exec_byte_code):
42727         * src/image.c (parse_image_spec):
42728         Prefer FUNCTIONP (x) to !NILP (Ffunctionp (x)).
42729         * src/eval.c (FUNCTIONP): Move here ...
42730         * src/lisp.h: ... from here.  No longer inline, as that
42731         bloats the text and does not help speed (at least on my platform).
42732         (functionp): Remove this name, since callers use FUNCTIONP.
42734 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
42736         Don't assume window-point and point are the same
42738         The function `cursor-sensor--detect' calls `bobp' to decide whether to
42739         check properties at (1- (window-point)).  However, (window-point) may be
42740         at beginning of buffer, even if (point) is not.  In this case an
42741         `args-out-of-range' error will be signaled (Bug#25104).
42743         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
42744         value of (window-point) against (point-min), rather than (bobp) to
42745         decide if (1- (window-point)) is accessible.
42747 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
42749         Give test-completion's PREDICATE the hashtable key
42751         For hashtable entries with symbol keys, `test-completion' would convert
42752         the key to a string before calling PREDICATE, unlike `try-completion'
42753         and `all-completions'.
42755         * src/minibuf.c (Ftest_completion): Pass original key from hashtable.
42757 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
42759         Give test-completion's PREDICATE full alist entry
42761         Since 2016-06-26 "Fix test-completion with completion-regexp-list", when
42762         calling test-completion with an alist collection, the predicate was
42763         recieving the string value instead of the alist entry (Bug#24966).
42765         * src/minibuf.c (Ftest_completion): Don't modify the found element, just
42766         test STRING against `completion-regexp-list'.
42767         * test/src/minibuf-tests.el: New tests for `try-completion',
42768         `all-completions', and `test-completion'.
42770 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
42772         Fix ert-tests when running compiled
42774         * test/lisp/emacs-lisp/ert-tests.el (ert-test-deftest): Don't test for
42775         specific macroexpansion, just check result of evaluation.
42776         (ert-test-record-backtrace): Don't hardcode representation of closure in
42777         expected backtrace, this lets the test succeed even when the test code
42778         is compiled.
42780         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Also pass
42781         `byte-compile-macro-environment' to `macroexpand', this allows the
42782         `should' macro to properly handle macroexpansion of macros that were
42783         defined in the same file when it's being compiled (Bug #17851).
42785 2016-12-06  Glenn Morris  <rgm@gnu.org>
42787         Make "g" in vc push/pull buffers re-push/pull
42789         * lisp/vc/vc-bzr.el (vc-bzr--pushpull):
42790         * lisp/vc/vc-git.el (vc-git--pushpull):
42791         * lisp/vc/vc-hg.el (vc-hg--pushpull):
42792         Set compile-command so that "g" works.  (Bug#11446)
42794 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
42796         Change two _Noreturn functions to return void
42798         This is a bit clearer than _Noreturn functions that (do not)
42799         return a non-void type.
42800         * src/callproc.c (call_process) [MSDOS]:
42801         Use 'status' local to record status.
42802         (child_setup): Return CHILD_SETUP_TYPE.
42803         * src/data.c, src/lisp.h (wrong_type_argument): Return void.
42804         All callers changed.
42805         * src/lisp.h (CHILD_SETUP_TYPE): New macro.
42807 2016-12-05  Paul Eggert  <eggert@cs.ucla.edu>
42809         Fix GPG bug introduced by Oct file-missing change
42811         Problem with visiting nonexistent .gpg file
42812         reported by Herbert J Skuhra.
42813         * lisp/epa-file.el (epa-file--find-file-not-found-function):
42814         (epa-file-insert-file-contents, epa-file-write-region):
42815         Signal file-missing or file-error instead of epa-error.
42817 2016-12-05  Glenn Morris  <rgm@gnu.org>
42819         Tweak recent flymake change
42821         * lisp/progmodes/flymake.el (flymake-report-fatal-status):
42822         Avoid double message when flymake-log-level >= 0.
42823         * doc/misc/flymake.texi (Customizable variables):
42824         No longer mention flymake-gui-warnings-enabled.
42826 2016-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
42828         Make TAB and M-TAB run widget-forward and widget-backward (bug#25091)
42830         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Avoid `shr-next-link'
42831         and `shr-previous-link' so TAB and M-TAB run `widget-forward' and
42832         `widget-backward' instead (bug#25091).
42834 2016-12-05  Michael Albinus  <michael.albinus@gmx.de>
42836         Remove compat code in Tramp
42838         * lisp/net/tramp.el (tramp-parse-time-months): Remove.
42840         * lisp/net/tramp-compat.el (top): Require parse-time.
42842         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
42843         Use `parse-time-months'.
42845 2016-12-05  Martin Rudalics  <rudalics@gmx.at>
42847         Don't try to split side windows in ibuffer (Bug#25115)
42849         * lisp/ibuffer.el (ibuffer-confirm-operation-on): Don't try to
42850         split a side window (Bug#25115).
42852 2016-12-04  Paul Eggert  <eggert@cs.ucla.edu>
42854         * src/lisp.h: Update comment to kick -Og down the road.
42856 2016-12-04  Mark Oteiza  <mvoteiza@udel.edu>
42858         More image-dired refactoring
42860         * lisp/image-dired.el: Remove TODO comment. This appears to have been
42861         implemented in 5d7433a "image-dired: Signal an error before calling a
42862         missing executable".
42863         (image-dired-cmd-create-standard-thumbnail-command): Use %p specifier.
42864         Add :version.
42865         (image-dired-display-thumbs, image-dired-create-thumbs): Use dolist and
42866         when. Remove superfluous call to image-dired-thumb-name. Move single nil
42867         binding and setq into dolist form.
42869 2016-12-04  Michael Albinus  <michael.albinus@gmx.de>
42871         Implement quoting the local part of a remote file name
42873         * doc/emacs/files.texi (Quoted File Names):
42874         * etc/NEWS: Mention quoting the local part of a remote file name.
42876         * lisp/net/tramp.el (tramp-dissect-file-name): Check with
42877         `tramp-tramp-file-p'.
42878         (tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
42879         New defsubst.
42880         (tramp-handle-substitute-in-file-name)
42881         (tramp-handle-make-auto-save-file-name): Handle quoted files.
42882         (tramp-shell-quote-argument): Unquote argument.
42884         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
42885         Handle quoted files.
42887         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
42888         (tramp--test-make-temp-name): New argument QUOTED.
42889         (tramp-test01-file-name-syntax)
42890         (tramp-test02-file-name-dissect)
42891         (tramp-test04-substitute-in-file-name)
42892         (tramp-test05-expand-file-name, tramp-test07-file-exists-p)
42893         (tramp-test08-file-local-copy)
42894         (tramp-test09-insert-file-contents)
42895         (tramp-test10-write-region, tramp-test11-copy-file)
42896         (tramp-test12-rename-file, tramp-test13-make-directory)
42897         (tramp-test14-delete-directory, tramp-test15-copy-directory)
42898         (tramp-test16-directory-files)
42899         (tramp-test17-insert-directory)
42900         (tramp-test18-file-attributes)
42901         (tramp-test19-directory-files-and-attributes)
42902         (tramp-test20-file-modes, tramp-test21-file-links)
42903         (tramp-test22-file-times, tramp-test23-visited-file-modtime)
42904         (tramp-test24-file-name-completion, tramp-test25-load)
42905         (tramp-test26-process-file, tramp-test27-start-file-process)
42906         (tramp-test28-shell-command, tramp-test30-vc-registered)
42907         (tramp-test31-make-auto-save-file-name)
42908         (tramp--test-check-files)
42909         (tramp-test35-asynchronous-requests): Test also quoted file names.
42910         (tramp--test-shell-command-to-string-asynchronously): Rename.
42911         (tramp-test29-environment-variables): Use it.
42913 2016-12-04  Tino Calancha  <tino.calancha@gmail.com>
42915         Fix typo in dired-omit-case-fold-p
42917         * lisp/dired-x.el (dired-omit-case-fold-p):
42918         Write 'file-name-case-insensitive-p' instead of
42919         'file-name-case-sensitive-p'.
42920         Add declaration of 'file-name-case-insensitive-p'.
42922 2016-12-04  Simen Heggestøyl  <simenheg@gmail.com>
42924         Add HTML5 attributes for the input element
42926         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes
42927         for the input element.
42929 2016-12-03  Glenn Morris  <rgm@gnu.org>
42931         Obsolete sc-load-hook in favor of eval-after-load
42933         * lisp/mail/supercite.el (sc-load-hook): Make obsolete.
42934         * doc/misc/sc.texi (Getting Connected, Filling Cited Text):
42935         No longer mention sc-load-hook.
42937 2016-12-03  Glenn Morris  <rgm@gnu.org>
42939         Obsolete calendar-load-hook in favor of eval-after-load
42941         * lisp/calendar/calendar.el (calendar-load-hook): Make obsolete.
42942         (calendar): Doc fix - no longer mention calendar-load-hook.
42943         * doc/emacs/cal-xtra.texi (Calendar Customizing):
42944         No longer mention calendar-load-hook.
42945         * doc/lispintro/emacs-lisp-intro.texi (X11 Colors):
42946         Replace calendar-load-hook in example with with-eval-after-load.
42948 2016-12-03  Glenn Morris  <rgm@gnu.org>
42950         Fix markup in read-multiple-choice doc (Bug#25102)
42952         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix.
42954 2016-12-03  Glenn Morris  <rgm@gnu.org>
42956         Stop flymake using dialog boxes for errors (Bug#16622)
42958         * lisp/progmodes/flymake.el (flymake-gui-warnings-enabled):
42959         Mark as obsolete.
42960         (flymake-display-warning): Turn into an obsolete alias.
42961         (flymake-report-fatal-status): Just use message for a warning that
42962         was formerly displayed by default.
42964 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
42966         Clean up keymap and menu code in image-dired
42968         A function to populate these maps is not necessary, just define the maps
42969         once and for all.
42970         * lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt
42971         clearer and in the spirit of dired's.
42972         (image-dired-define-display-image-mode-keymap):
42973         (image-dired-define-thumbnail-mode-keymap): Remove.
42974         (image-dired-thumbnail-mode-map):
42975         (image-dired-thumbnail-mode-line-up-map):
42976         (image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode
42977         menu code from the aforementioned removed functions.  Reorder so that
42978         the definitions are inherited properly.
42979         (image-dired-display-current-image-sized): Fix erroneous message.
42980         (image-dired-thumbnail-mode):
42981         (image-dired-display-image-mode): Remove defunct call.
42983 2016-12-03  Michael Albinus  <michael.albinus@gmx.de>
42985         Mention `file-name-case-insensitive-p' as magic file name
42987         * doc/lispref/files.texi (Magic File Names):
42988         Mention `file-name-case-insensitive-p'.
42990         * doc/lispref/variables.texi (Connection Local Variables):
42991         Fix typo.
42993 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
42995         Clean up uses of cl-foo in image-dired
42997         Both instances here are just emulating cl-find-if.
42998         * lisp/image-dired.el: Use cl-lib at compile time.
42999         (image-dired-dired-toggle-marked-thumbs): Don't need let* at the top.
43000         Replace the cl-foo instances with equivalent cl-loops.
43002 2016-12-03  Eli Zaretskii  <eliz@gnu.org>
43004         Avoid compilation warnings in nt/*.c files
43006         * nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn)
43007         (console_event_handler): Add prototypes.
43008         (canon_filename, skip_space, skip_nonspace, get_next_token)
43009         (batch_file_p, search_dir, make_absolute, try_dequote_cmdline)
43010         (spawn, get_env_size): Now static.
43011         * nt/ddeclient.c (DdeCallback): Provide prototype.
43012         * nt/addpm.c (DdeCallback): Provide prototype.
43013         (add_registry): Now static.
43015 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
43017         Display window before calculating width
43019         * lisp/image-dired.el (image-dired-display-thumbs): Display the buffer
43020         before calling image-dired-line-up and friends, which in turn calculate
43021         the window width. Otherwise, the thumbnail layout will be wrong in
43022         a side-by-side split.
43024 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
43026         Use pop-to-buffer-same-window
43028         * lisp/image-dired.el (image-dired-dired-with-window-configuration):
43029         (image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer,
43030         use pop-to-buffer-same-window cf. Bug#22244.
43031         (image-dired-forward-image, image-dired-backward-image): Ignore unused.
43033 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
43035         Document watchpoints
43037         * doc/lispref/debugging.texi (Variable Debugging):
43038         * doc/lispref/variables.texi (Watching Variables): New section.
43039         * etc/NEWS: Add entry for watchpoints
43041 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
43043         Add tests for watchpoints
43045         * test/src/data-tests.el (data-tests-variable-watchers):
43046         (data-tests-local-variable-watchers): New tests.
43048 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
43050         Ensure redisplay using variable watcher
43052         This replaces looking up the variable name in redisplay--variables when
43053         setting it.
43055         * lisp/frame.el: Replace redisplay--variables with add-variable-watcher
43056         calls.
43057         * src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay,
43058         set the redisplay flag unconditionally.
43059         (Vredisplay__variables): Remove it.
43060         * src/data.c (set_internal): Remove maybe_set_redisplay call.
43062 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
43064         Add function to trigger debugger on variable write
43066         * lisp/emacs-lisp/debug.el (debug-on-variable-change):
43067         (debug--variable-list):
43068         (cancel-debug-on-variable-change): New functions.
43069         (debugger-setup-buffer): Add watchpoint clause.
43071 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
43073         Show watchpoints when describing variables
43075         * src/data.c (Fget_variable_watchers): New function.
43076         * lisp/help-fns.el (describe-variable): Use it to detect watching
43077         functions.
43079 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
43081         Add lisp watchpoints
43083         This allows calling a function whenever a symbol-value is changed.
43085         * src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
43086         (SYMBOL_TRAPPED_WRITE_P): New function/macro.
43087         (lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
43088         (enum symbol_trapped_write): New enumeration.
43089         (struct Lisp_Symbol): Rename field constant to trapped_write.
43090         (make_symbol_constant): New function.
43092         * src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
43093         (set_symbol_trapped_write, restore_symbol_trapped_write):
43094         (harmonize_variable_watchers, notify_variable_watchers): New functions.
43096         * src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
43097         symbols.
43098         (set_internal): Change bool argument BIND to 3-value enum and call
43099         `notify_variable_watchers' for trapped symbols.
43101         * src/data.c (syms_of_data):
43102         * src/data.c (syms_of_data):
43103         * src/font.c (syms_of_font):
43104         * src/lread.c (intern_sym, init_obarray):
43105         * src/buffer.c (syms_of_buffer): Use make_symbol_constant.
43107         * src/alloc.c (init_symbol):
43108         * src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
43109         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
43110         (Fmake_variable_frame_local):
43111         * src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
43112         trapped_write instead of constant.
43113         (Ffuncall): Move subr calling code into separate function.
43114         (funcall_subr): New function.
43116 2016-12-02  Glenn Morris  <rgm@gnu.org>
43118         Starting doc of user options with "*" is long obsolete
43120         * lisp/battery.el (battery-upower-device): Doc fix.
43122 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
43124         Fix bug#25087
43126         * etc/themes/manoj-dark-theme.el: Fix two typos.
43128         (cherry picked from commit 66d6e7e9ecf5e481f8c2c3a4f88411f66c869a6e)
43130 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
43132         Fix docstrings to have a complete sentence in first line
43134         * lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix
43135         docstrings.
43137 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
43139         Remove obsolete comments and commented code from dired-x.el
43141         * lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
43142         1997 answer about whether dired-mark-sexp is used.
43143         * lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
43144         commented out since before dired-x.el was added to RCS in 1994.
43146 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
43148         Remove pre-customize dired-x.el documentation
43150         * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
43151         use dired-x from .emacs.  It is now fully customizable.
43152         * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
43153         how to set this custom variable in .emacs.  It should be customized.
43155 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
43157         Allow files to be matched case-sensitively in dired-x
43159         * lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
43160         controls case folding for matching the regex (Bug#18716).
43161         (dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
43162         systems, `nil' otherwise.
43163         (dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
43164         * doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.
43166 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
43168         Add support for curly quotation marks to electric-pair-mode
43170         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
43171         entries for left/right single/double quotation marks, from
43172         electric-quote-chars. Note that this is safe for single quotation marks,
43173         unlike with the ASCII apostrophe, since, although the right quotation
43174         mark can be used as an apostrophe, it is the left quotation mark that is
43175         typed to get a pair (Bug#24901).
43177 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
43179         Fix bug#25087
43181         * etc/themes/manoj-dark-theme.el: Fix two typos.
43183 2016-12-02  Michael Albinus  <michael.albinus@gmx.de>
43185         Handle quoted file names in Tramp
43187         * lisp/net/tramp.el (tramp-file-name-handler): Handle also the
43188         case the file name is quoted.  This is not trapped by the
43189         reassigned `tramp-file-name-regexp' anymore.
43191 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
43193         * lisp/battery.el: Add 'battery-upower' -- very fast battery status.
43195 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
43197         Support for rawrgb images using imagemagick
43199         * src/image.c (imagemagick_load_image): Set wand size before loading
43200         blob when ':width' and ':height' are provided.
43202         * lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.
43204 2016-12-02  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
43206         Fix 'sql-connect' on first invocation
43208         * lisp/progmodes/sql.el (sql-connect): Reorder code which sets
43209         param-var.  (Bug#19452)
43211 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
43213         * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
43215 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
43217         Improve indexing of 'man'
43219         * doc/emacs/programs.texi (Man Page): Index 'man', not
43220         'manual-entry', as the latter is an alias for the former.
43221         Suggested by Hong Xu <hong@topbug.net>.  (Bug#25033)
43223 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
43225         Port to Sun C 5.14
43227         Backport from master.  Sun C 5.14 supports C11 but not GCC
43228         extensions, and so refuses to compile Emacs without this patch.
43229         * src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on
43230         size_t, as in general this macro is restricted to signed types.
43232 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
43234         Fix type typo on Solaris
43236         * src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
43237         Fix type mismatch, caught by --enable-check-lisp-object-type.
43239 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
43241         Merge from gnulib
43243         This incorporates:
43244         2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
43245         2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
43246         * build-aux/snippet/c++defs.h:
43247         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
43248         Copy from gnulib.
43250 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
43252         Make struct font_drivers read-only
43254         This simplifies the code a bit, and makes the structs more
43255         shareable and less likely to become corrupt.
43256         * src/alloc.c (cleanup_vector):
43257         * src/font.c (valid_font_driver, font_prepare_cache)
43258         (font_finish_cache, font_get_cache, font_clear_cache)
43259         (register_font_driver, font_update_drivers):
43260         * src/font.h (struct font, struct font_driver_list)
43261         (valid_font_driver):
43262         struct font_drivers are now const.
43263         * src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
43264         Omit no-longer-necessary decls.
43265         * src/ftcrfont.c (syms_of_ftcrfont):
43266         * src/ftxfont.c (syms_of_ftxfont):
43267         * src/xftfont.c (syms_of_xftfont):
43268         Omit no-longer-necessary initialization code.
43269         * src/ftcrfont.c (ftcrfont_driver):
43270         * src/ftfont.c (ftfont_driver):
43271         * src/ftxfont.c (ftxfont_driver):
43272         * src/macfont.m (macfont_driver):
43273         * src/nsfont.m (nsfont_driver):
43274         * src/xfont.c (xfont_driver):
43275         * src/xftfont.c (xftfont_driver):
43276         Use C99-style initializer for ease of maintenance, and make it const.
43277         * src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
43278         Refer to functions like ftfont_text_extents directly.
43279         * src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
43280         (ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
43281         (ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
43282         (ftfont_variation_glyphs, ftfont_filter_properties)
43283         (ftfont_combining_capability):
43284         * src/xfont.c (xfont_get_cache):
43285         Now extern, so that other modules’ struct font_drivers can use
43286         them directly.
43287         * src/macfont.m (macfont_descriptor_entity):
43288         * src/nsfont.m (nsfont_open):
43289         Use constant directly; this is clearer.
43291 2016-12-01  Richard Stallman  <rms@gnu.org>
43293         Fix mail-combine-fields
43295         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
43296         avoid losing our place in the search loop.
43298         (cherry picked from commit 5fbba6cceaf843cfca449eb000a0a65243b61808)
43300 2016-12-01  Helmut Eller  <eller.helmut@gmail.com>
43302         Forth related improvements for etags
43304         Generate correct tags names for things like "(foo)".
43305         Previously "(foo" created.
43307         Fix a bug where a tag for "-bar" was created when encountering things
43308         like "create-bar".
43310         Recognize more words from the Forth-2012 Standard.
43312         * lib-src/etags.c (Forth_words): Check for whitespace after defining
43313         words.  Create tag with make_tag instead of get_tag to avoid notiname
43314         which isn't appropriate for Forth.
43316         * test/manual/etags/forth-src/test-forth.fth: Add some test cases.
43317         * test/manual/etags/ETAGS.good_1:
43318         * test/manual/etags/ETAGS.good_2:
43319         * test/manual/etags/ETAGS.good_3:
43320         * test/manual/etags/ETAGS.good_4:
43321         * test/manual/etags/ETAGS.good_5:
43322         * test/manual/etags/ETAGS.good_6:
43323         * test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and
43324         new test cases.
43326 2016-12-01  Eli Zaretskii  <eliz@gnu.org>
43328         Fix bugs with buffer-local tags tables
43330         * lisp/progmodes/etags.el (visit-tags-table): After
43331         'visit-tags-table-buffer' returns, retrieve the value of
43332         'tags-file-name' from the buffer we started in.  Force
43333         recomputation of 'tags-completion-table' next time it is used,
43334         since the list of tags table has changed.
43335         (visit-tags-table-buffer): Accept an additional optional argument
43336         CBUF, the buffer in which to start processing, and switch to that
43337         buffer if CBUF is non-nil.  All callers changed to supply a
43338         non-nil CBUF when they call 'visit-tags-table-buffer' in a loop.
43339         Doc fix.
43340         (tags-completion-table): Accept an optional argument, the buffer
43341         for which to build 'tags-completion-table', and build that
43342         buffer's completion table.
43343         (tags-lazy-completion-table): Pass the current buffer to
43344         'tags-completion-table'.
43345         (tags-file-name): Don't say in the doc string that setting this
43346         variable directly is enough; say that 'visit-tags-table' should be
43347         used for that.  (Bug#158)  (Bug#17326)  (Bug#23164)
43349         * doc/emacs/maintaining.texi (Select Tags Table): Delete the
43350         advice to set 'tags-file-name' directly.
43352         * test/lisp/progmodes/etags-tests.el: New tests.
43354 2016-12-01  Martin Rudalics  <rudalics@gmx.at>
43356         Fix documentation of `window-combination-resize'
43358         * src/window.c (Vwindow_combination_resize): Fix doc-string.
43359         * doc/lispref/windows.texi (Recombining Windows): Fix
43360         documentation of `window-combination-resize'.
43362 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
43364         * src/lisp.h (LISP_INITIALLY_ZERO): Remove.
43366         All uses replaced by LISPSYM_INITIALLY.
43368 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
43370         Make Cairo safer for --enable-gcc-warnings
43372         * src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load):
43373         Avoid overflow warnings about ‘0xff << 24’.
43374         (xpm_load, gif_load): Avoid unnecessary casts.
43375         (gif_load): Fewer ifdefs.
43377 2016-11-30  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
43379         Fix Condition in kbd_buffer_store_buffered_event (bug#19547).
43381         * src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not
43382         !NILP.
43384 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
43386         Fix previous commit
43388         * lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning
43389         of hunk before calling `diff-hunk-style'.
43391 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
43393         * lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.
43395 2016-11-29  Glenn Morris  <rgm@gnu.org>
43397         Use archive-mode for .cbr files
43399         * lisp/files.el (auto-mode-alist): Add cbr.  (Bug#24994)
43401 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
43403         Pacify Sun C 5.14
43405         * src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
43406         SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
43407         into this enum rather than into an anonymous enum.  This avoids
43408         diagnostics from Sun C 5.14 and is a bit clearer anyway.
43410 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
43412         Adjust lwlib to recent config.h change
43414         * lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).
43416 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
43418         * src/eval.c (clobbered_eassert): Check E's syntax.
43420 2016-11-29  Michael Albinus  <michael.albinus@gmx.de>
43422         Improve user retrieval from auth-source in Tramp
43424         * lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
43425         Use user for auth-source request only in case it exists.
43427 2016-11-29  Katsumi Yamaoka  <yamaoka@jpl.org>
43429         shr.el: Don't render a normal table twice
43431         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
43432         Don't render a table if it is called for the first time,
43433         IOW, recognize it to never be invalid (bug#25051).
43435 2016-11-29  Bogdan Creanga  <bogdan.creanga@gmail.com>  (tiny change)
43437         Typo fixes in elisp manual
43439         * doc/lispref/sequences.texi: Add missing '4' in result (Bug#25047).
43440         * doc/lispref/strings.texi (Text Comparison): Avoid duplicate
43441         definitions of 'string-prefix-p' and 'string-suffix-p'.
43442         * doc/lispref/symbols.texi (Definitions): Pluralize 'definitions'.
43444 2016-11-28  Dima Kogan  <Dmitriy.Kogan@jpl.nasa.gov>
43446         Improve diff-mode navigation/manipulation
43448         This is Bug #17544.
43450         Navigation and use of diff buffers had several annoying corner cases
43451         that this patch fixes.  These corner cases were largely due to
43452         inconsistent treatment of file headers.  Say you have a diff such as
43453         this:
43455          --- aaa
43456          +++ bbb
43457          @@ -52,7 +52,7 @@
43458          hunk1
43459          @@ -74,7 +74,7 @@
43460          hunk2
43461          --- ccc
43462          +++ ddd
43463          @@ -608,6 +608,6 @@
43464          hunk3
43465          @@ -654,7 +654,7 @@
43466          hunk4
43468         The file headers here are the '---' and '+++' lines.  With the point on
43469         such a line, hunk operations would sometimes refer to the next hunk and
43470         sometimes to the previous hunk.  Most of the time it would be the
43471         previous hunk, which is not what the user would expect.  This patch
43472         consistently treats such headers as the next hunk.  So with this patch,
43473         if the point is on the '--- ccc' line, the point is seen as referring to
43474         hunk3.
43476         Specific behaviors this fixes are:
43478         1. It should be possible to place the point in the middle of a diff
43479         buffer, and press M-k repeatedly to kill hunks in the order they appear
43480         in the buffer.  With the point on hunk1, M-k M-k would kill hunk1 then
43481         hunk2.  With the point on hunk3, it would kill hunk3 then hunk4; this is
43482         fine.  However, with the point on hunk2, it'd kill hunk2 then hunk1.
43483         This is fixed by this patch.
43485         2. Similarly, it should be possible to apply hunks in order.  Previously
43486         with the point at the start, C-c C-a would apply the hunk1, then move
43487         the point to the first @@ header, and thus C-c C-a would try to apply
43488         the same hunk again.
43490         * lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
43491         navigation logic to diff-{hunk,file}-{next,prev}.
43492         (diff-hunk-next, diff-hunk-prev):
43493         (diff-file-next, diff-file-prev): Better navigation logic if
43494         skip-hunk-start is true, which happens when called interactively.
43495         (diff-bounds-of-hunk, diff-find-source-location):
43496         (diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
43497         improve hunk navigation.
43499 2016-11-28  Noam Postavsky  <npostavs@gmail.com>
43501         Upcase Path and ComSpec in process-environment
43503         Since 2016-07-18 "Keep w32 environment settings internal only", the
43504         upcasing of environment variables "Path" and "ComSpec" occurred after
43505         initializing process-environment.  This meant that Lisp code trying to
43506         override "PATH" environment had no effect (Bug #24956).
43508         * src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
43509         in Vprocess_environment.
43511 2016-11-28  Philipp Stephani  <phst@google.com>
43513         Guard terminal parameter in XTerm mouse mode
43515         It has been observed (in the HTerm terminal emulator) that the
43516         event stored in the 'xterm-mouse-last-down' terminal parameter gets
43517         overwritten during a mouse drag operation, causing Emacs to attempt to
43518         synthesize the non-existing <drag-mouse-0> event.  Copy the event into
43519         the terminal parameter to protect against such modifications.
43521         * lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
43522         of input event list.
43524 2016-11-28  Paul Eggert  <eggert@cs.ucla.edu>
43526         Fix template for module functions
43528         Reported by Syohei YOSHIDA (Bug#24932).
43529         * modules/modhelp.py (TEMPLATES):
43530         c_func’s 2nd arg is ptrdiff_t, not int.
43532 2016-11-27  Paul Eggert  <eggert@cs.ucla.edu>
43534         Pacify gcc -Wswitch.
43536         * src/keyboard.c (kbd_buffer_store_buffered_event):
43537         Move initialization into default case.
43539 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
43541         Reuse already existing lisp symbols for ignore_event (bug#19547).
43543         * lisp/subr.el (while-no-input-ignore-events): Use them instead.
43544         * src/keyboard.c (kbd_buffer_store_buffered_event):
43545         Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
43546         and make-frame-visible for DEICONIFY_EVENT.
43547         (syms_of_keyboard): Remove unneeded symbols.
43549 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
43551         Allow configuring which event throw-on-input should ignore (bug#19547).
43553         * src/keyboard.c (kbd_buffer_store_buffered_event):
43554         Translate event to corresponding symbol from `while-no-input-ignore-events`
43555         and check them with Fmemq.
43556         (syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
43557         and its symbols.
43559         * lisp/subr.el (while-no-input-ignore-events): Add default values.
43561         * doc/lispref/commands.texi (Event Input Misc):
43562         Document while-no-input-ignore-events.
43563         * etc/NEWS: Same.
43565 2016-11-26  Tino Calancha  <tino.calancha@gmail.com>
43567         ash, lsh avoid code duplication
43569         See discussion in:
43570         https://lists.gnu.org/r/emacs-devel/2016-11/msg00469.html
43571         * src/data.c (ash_lsh_impl): New function.
43572         (ash, lsh): Use it.
43574 2016-11-26  Simen Heggestøyl  <simenheg@gmail.com>
43576         Add will change module to CSS property list
43578         * lisp/textmodes/css-mode.el (css-property-alist)
43579         (css-value-class-alist): Add new property and value class from CSS
43580         Will Change Module.
43582 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
43584         Don't access pointers to freed storage in regex.c
43586         Remove __BOUNDED_POINTERS__ code, which does not work with
43587         -fcheck-pointer-bound and which has undefined behavior anyway.
43588         Problem found when trying to port to gcc -fcheck-pointer-bounds.
43589         (This code was removed from glibc and gnulib regex.c many years ago.)
43590         * src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
43591         (EXTEND_BUFFER): Use a more-portable approach that avoids
43592         undefined behavior due to inspecting pointers to freed storage.
43594 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
43596         Port build to gcc -fcheck-pointer-bounds
43598         This does not let Emacs run, just build.
43599         * lib-src/etags.c (main):
43600         * lib-src/profile.c (main):
43601         Use return, not exit.
43602         * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
43603         Do not define, as -fcheck-pointer-bounds is incompatible with taking
43604         addresses of labels.
43605         * src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
43606         to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.
43608 2016-11-25  Tino Calancha  <tino.calancha@gmail.com>
43610         * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.
43612 2016-11-25  Simen Heggestøyl  <simenheg@gmail.com>
43614         * lisp/rot13.el: Use lexical-binding
43616 2016-11-25  Mark Oteiza  <mvoteiza@udel.edu>
43618         Add "using" to cl-loop debug spec (Bug#24750)
43620         * lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
43621         "using" hash table clause.
43623 2016-11-25  Hong Xu  <hong@topbug.net>  (tiny change)
43625         Allow user control of progress messages in cpp.el
43627         * lisp/progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
43628         (cpp-progress-time): Use 'cpp-message-min-time-interval'.  Improve
43629         the doc string.
43630         (cpp-highlight-buffer): Use 'cpp-progress-message' instead of
43631         'message' to print messages.  (Bug#24861)
43633 2016-11-25  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
43635         New input method 'polish-prefix'
43637         * lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
43638         method.  (Bug#24967)
43640         * etc/NEWS: Mention the new input method.
43642 2016-11-25  Damien Cassou  <damien@cassou.me>
43644         * lisp/isearch.el: Add 'provide'.  (Bug#25026)
43646 2016-11-25  Philippe Vaucher  <philippe.vaucher@gmail.com>
43648         Add missing 'provide's in preloaded packages
43650         * lisp/composite.el:
43651         * lisp/replace.el:
43652         * lisp/textmodes/text-mode.el: Add provide statement.  (Bug#24985)
43654 2016-11-24  Alan Mackenzie  <acm@muc.de>
43656         Handle correctly an (undocumented) bare mode in hack-local-variables.
43658         lisp/files.el (hack-local-variables-prop-line): When a file's first line
43659         contains only a mode specification without the string "mode:", return the mode
43660         symbol only when `handle-mode' is t.
43662 2016-11-23  Dima Kogan  <dima@secretsauce.net>
43664         Clarify ediff-directories prompt
43666         * lisp/vc/ediff-mult.el (ediff-filegroup-action):
43667         * lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
43668         ediff-directories3, ediff-merge-directories,
43669         ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
43670         ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
43671         filename filter in interactive ediff. The new message makes it clear what is
43672         being filtered
43674 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
43676         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.
43678 2016-11-23  Ulf Jasper  <ulf.jasper@web.de>
43680         Fix Bug#24199.
43682         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
43683           bracket in doc string (make checkdoc happy).
43684           (icalendar-import-buffer),
43685           (icalendar-import-buffer),
43686           (icalendar--convert-ical-to-diary),
43687           (icalendar--add-diary-entry): Rename argument diary-file to
43688           diary-filename (make checkdoc happy).
43689           (icalendar--convert-recurring-to-diary): Take care of byday-clause
43690           in monthly recurring events.  Actually fix Bug#24199.
43692         * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.
43694 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
43696         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.
43698 2016-11-22  Philipp Stephani  <phst@google.com>
43700         Comint: new user option for C-c M-r and C-c M-s
43702         This option allows the user to specify where to place point after these
43703         commands.
43705         * lisp/comint.el (comint-move-point-for-matching-input): New user option.
43706         (comint-previous-matching-input-from-input): Use user option.
43708 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
43710         Add tramp-eshell-directory-change to eshell-first-time-mode-hook
43712         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
43713         `eshell-first-time-mode-hook'.
43715 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
43717         Dump also connection local variables in Tramp bug reports
43719         * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
43720         Dump also connection local variables.
43722 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
43724         Make sure elided long buffer names have ellipses added (Bug#24972)
43726         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
43727         string concat, and chop "strvar" less the width of the ellipsis.
43728         (ibuffer-compile-make-substring-form): Add space as padding, to fix
43729         off-by-one in alignment.
43731 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
43733         Buffer-menu-no-header: Detect a fake header
43735         * lisp/buff-menu.el (Buffer-menu-no-header): Use
43736         'tabulated-list-header-overlay-p' (Bug#24855).
43738 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
43740         buff-menu: Add command to unmark all buffers
43742         Bind 'U' in buff-menu, bs and electric-buff-menu to commands
43743         to unmark all buffers (Bug#24880).
43744         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
43745         New predicate; return non-nil if tabulated-list has a fake header.
43746         * lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
43747         New command; remove all flags that use a particular mark from all the lines.
43748         Bind it to 'M-DEL'.
43749         (Buffer-menu-unmark-all):
43750         New command; remove all flags from all the lines.  Bind it to 'U'.
43751         (Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
43752         (Buffer-menu-delete, Buffer-menu-mark): Use them.
43753         (Buffer-menu-mode-map): Update menus.
43754         (Buffer-menu-mode): Update mode doc.
43755         * lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
43756         (bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
43757         (bs-mode): Update mode doc.
43758         * lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
43759         Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
43760         to 'M-DEL'.
43761         (bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
43762         Use point instead of cursor in doc string.
43763         (electric-buffer-list): Update mode doc.
43764         * doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
43765         and Buffer-menu-unmark-all-buffers.
43767 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
43769         Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."
43771         This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227.
43773 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
43775         Port htmlfontify to cl-lib
43777         * lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
43778         (hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
43779         (hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
43780         instances of cl aliases with their cl-lib counterparts.
43782 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
43784         * lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.
43786 2016-11-21  Paul Eggert  <eggert@cs.ucla.edu>
43788         Fix another CANNOT_DUMP problem
43790         Reported by Robert Pluim in:
43791         https://lists.gnu.org/r/emacs-devel/2016-11/msg00468.html
43792         * src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
43793         * src/lisp.h: ... to here.
43795 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
43797         Add further consideration to string-width (Bug#24972)
43799         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
43800         (ibuffer-compile-make-substring-form): Use truncate-string-to-width.
43802 2016-11-21  Katsumi Yamaoka  <yamaoka@jpl.org>
43804         Don't collect strings existing out of <tr>...</tr>
43806         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
43807         Don't collect strings existing out of <tr>...</tr> to avoid
43808         duplication with what `shr-tag-table' renders.
43810 2016-11-20  Katsumi Yamaoka  <yamaoka@jpl.org>
43812         * lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
43813         the last commit.
43815 2016-11-20  Mike Kupfer  <m.kupfer@acm.org>
43817         Add a variable to pass additional options to rcvstore
43819         * lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
43820         (gnus-summary-save-in-folder): Include gnus-rcvstore-options in
43821         the arguments that are passed to rcvstore.
43823         cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
43824         and followups, i.e., ding mailing list.
43826 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
43828         Fix undefined refs on some GNU/Linux hosts
43830         Problem reported by Ken Raeburn in:
43831         https://lists.gnu.org/r/emacs-devel/2016-11/msg00463.html
43832         * src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
43833         not needed in the CANNOT_UNDUMP case.  All uses removed.  This
43834         removes unwanted references to my_endbss and my_endbss_static,
43835         which are not optimized away on some platforms.
43837 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
43839         Make CANNOT_DUMP work better on GNU/Linux
43841         Clean up some of the bitrot affecting the CANNOT_DUMP code.  This
43842         lets the build succeed again, and fixes the testing framework so
43843         that most test cases now pass.  About twenty test cases still
43844         fail, though, and we still have Bug#24974.
43845         * configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
43846         (SYSTEM_MALLOC): Now true if CANNOT_DUMP.  There should no longer
43847         be any point to messing with a private memory allocator unless
43848         Emacs is dumping.
43849         * src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
43850         * src/image.c (reset_image_types):
43851         * src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
43852         Do not define if CANNOT_DUMP.
43853         * src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
43854         (daemon_pipe) [!WINDOWSNT]: Now static.
43855         * test/Makefile.in (mostlyclean): Remove *.tmp files.
43856         (make-test-deps.mk): Elide CANNOT_DUMP chatter.
43858 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
43860         * src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static.
43862 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
43864         Pacify --enable-gcc-warnings CANNOT_DUMP=yes
43866         * src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]:
43867         Do not define.  If defining, do it in a smaller scope.
43869 2016-11-20  Mark Oteiza  <mvoteiza@udel.edu>
43871         * lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length
43873 2016-11-20  Eli Zaretskii  <eliz@gnu.org>
43875         Fix redrawing non-selected frame after resize on MS-Windows
43877         * src/xdisp.c (redisplay_internal): If all the frames were
43878         successfully updated, reset the "garbaged" flag of each frame, to
43879         make sure it doesn't stay set.
43881         * src/w32term.c (w32_read_socket): Don't clear the frame if it's
43882         "garbaged", since expose_frame won't redraw the foreground then.
43883         (Bug#24642)
43885 2016-11-20  Michael Albinus  <michael.albinus@gmx.de>
43887         Add file-local-name
43889         * doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
43890         (Unique File Names): Use it.
43892         * etc/NEWS: Mention `file-local-name'.
43894         * lisp/files.el (file-local-name): New defun.
43895         (file-expand-wildcards):
43896         * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
43897         * lisp/eshell/esh-ext.el (eshell-remote-command):
43898         * lisp/eshell/esh-proc.el (eshell-gather-process-output):
43899         * lisp/org/ob-core.el (org-babel-local-file-name):
43900         * lisp/progmodes/gud.el (gud-common-init, gud-format-command):
43901         * lisp/progmodes/python.el (python-shell-send-file):
43902         * lisp/shell.el (shell):
43903         * lisp/vc/ediff-diff.el (ediff-same-file-contents):
43904         * lisp/vc/vc-git.el (vc-git-checkin): Use it.
43906 2016-11-20  Tino Calancha  <tino.calancha@gmail.com>
43908         * lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string.
43910 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
43912         * src/editfns.c (format-time-string): Mention %q in doc string.
43914 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
43916         Document format-time-string %q
43918         * doc/lispref/os.texi (Time Parsing):
43919         * etc/NEWS: Document new %q functionality taken from gnulib.
43921 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
43923         Merge from gnulib
43925         This incorporates:
43926         2016-11-15 sys_time: add gnulib::timeval for C++
43927         2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
43928         2016-11-13 strftime: don't use __THROW
43929         2016-11-12 strftime: tune %q
43930         2016-11-12 Merge strftime.c changes from glibc
43931         2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
43932         2016-11-05 strftime,strptime: support %q to represent the quarter
43934         The glibc changes in turn incorporate the following strftime.c changes:
43935         2015-10-20 Convert misc function definitions to prototype style
43936         2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
43937         2010-01-09 Add support for XPG7 testing
43938         2009-10-30 Implement Burmese language locale for Myanmar
43939         2008-06-13 [BZ #6612] pass reference to tzset_called around
43940         2007-10-16 [BZ #5184] Add tzset_called argument
43942         * build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
43943         * m4/manywarnings.m4: Copy from gnulib.
43945 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
43947         Merge from origin/emacs-25
43949         07f45d7 ; Spelling fix
43950         1a210f0 * admin/release-process: Update versions and blocking bug num...
43951         36bafc9 Improve documentation of functions that accept time values
43953         # Conflicts:
43954         #       admin/release-process
43955         #       src/editfns.c
43957 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
43959         Merge from origin/emacs-25
43961         4af5981 Add a comment in generated refcards about the source
43962         ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
43963         4887e7c js-mode: Fix indent problem after a regexp
43964         e992ac0 Fix sluggish display of symbols in UTF-8 language environment
43965         1fc101b Don't confuse how Texinfo outputs @var with the input
43966         91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
43967         f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
43968         5b0cddd More fixes in copyright notices in etc/refcards/
43969         f994c20 Update copyright text in refcards
43970         9ad2ae7 Fix Outline command names
43971         26c3554 Send text received by bracketed paste to process
43972         db0b58d Correct the statement about programming modes always running ...
43973         78aece4 Improve documentation of 'occur'
43974         eb364fd Do call debugger on failed cl-assert
43975         3ef4ee8 Avoid infloop in python
43976         8da810f Don't refer to obsolete FEATURE-unload-hook
43977         4f478ca Improve documentation of dabbrevs
43978         7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
43979         89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
43980         3b199f7 Improve documentation of some Help commands
43981         93d3a0e Fix documentation of yes-or-no prompts
43982         af04919 Fix documentation of partial completion style
43983         ed80184 Fix documentation of the mode line on emacsclient frames
43984         e6be855 Fix description of 'C-z' in User manual
43985         16f7007 Improve and clarify documentation of Outline Mode
43986         31d93aa Add Emacs version number to nt/README.W32
43987         0b6b815 Fix python-mode hideshow regexp
43988         dc152c5 Modernize usage of 'macOS' in doc and comments
43989         84c5343 Prefer comments /* like this */ in C code
43990         bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
43991         3ef86fd Clarify documentation of face attribute functions
43992         de51d59 ; * nt/README.W32: Minor copyedits.
43993         db436e9 Don't call debug on failed cl-assert
43995         # Conflicts:
43996         #       doc/emacs/cmdargs.texi
43997         #       etc/NEWS
43998         #       etc/PROBLEMS
43999         #       lisp/auth-source.el
44000         #       lisp/net/tramp-sh.el
44002 2016-11-19  Mark Oteiza  <mvoteiza@udel.edu>
44004         Port RefTeX to cl-lib
44006         * lisp/textmodes/reftex-auc.el:
44007         * lisp/textmodes/reftex-cite.el: Use cl-lib.
44008         (reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
44009         macros.
44010         * lisp/textmodes/reftex-dcr.el: Use cl-lib.
44011         (reftex-view-regexp-match): Substitute cl-lib macro.
44012         * lisp/textmodes/reftex-global.el: Use cl-lib.
44013         (reftex-find-duplicate-labels, reftex-renumber-simple-labels):
44014         (reftex-translate): Substitute cl-lib macros.
44015         * lisp/textmodes/reftex-index.el: Use cl-lib.
44016         (reftex-index, reftex-index-select-tag, reftex-index-mode-map):
44017         (reftex-index-next-phrase, reftex-index-phrases-info):
44018         (reftex-query-index-phrase): Substitute cl-lib macros.
44019         * lisp/textmodes/reftex-parse.el: Use cl-lib.
44020         (reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
44021         (reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
44022         Substitute cl-lib macros.
44023         * lisp/textmodes/reftex-ref.el: Use cl-lib.
44024         (reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
44025         macros.
44026         * lisp/textmodes/reftex-sel.el: Use cl-lib.
44027         (reftex-select-shared-map): Set keymap parent to special-mode-map.
44028         Flatten loop and remove digits and hyphen definitions from the map.
44029         (reftex-select-label-mode-map):
44030         (reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
44031         (reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
44032         * lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
44033         cl-pushnew.
44034         * lisp/textmodes/reftex.el: Use cl-lib.
44035         (reftex-docstruct-symbol): Use cl-incf.
44036         (reftex-ref-style-toggle): Replace add-to-list with append.
44037         (reftex-compile-variables): Use cl-lib macros, and functions with
44038         compiler macros. cl-first is just an alias.
44039         (reftex-parse-args, reftex-scanning-info-available-p):
44040         (reftex-select-external-document, reftex-get-file-buffer-force): Use
44041         cl-lib macros.
44042         (reftex-isearch-minor-mode): Replace add-to-list with append.
44044 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
44046         ibuffer-exchange-filters: Simplify code
44048         * lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef.
44050 2016-11-19  Eli Zaretskii  <eliz@gnu.org>
44052         Implement getrlimit and setrlimit for MS-Windows
44054         * src/w32heap.c (getrlimit, setrlimit): New functions.
44055         Include w32.h.
44056         * src/emacs.c (main): Use 'rlim_t', not 'long', for values that
44057         should be compatible with 'struct rlimit' members.
44059         * nt/inc/sys/resource.h: New header file.
44061         * nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
44062         Set to "yes".
44064 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
44066         Move key mappings into reftex-mode-map defvar
44068         * lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level
44069         key mappings.
44070         (reftex-reset-mode): Just use dolist.
44072 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
44074         Derive reftex-index-mode from special-mode
44076         * lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten
44077         loop.  Remove digit keys and hyphen, as reftex-index-mode is derived
44078         from special-mode now.
44079         (reftex-index-mode): Derive from special-mode.
44080         (reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring.
44082 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
44084         Clean up reftex-toc-mode-map
44086         * lisp/textmodes/reftex-toc.el: Remove cl.
44087         (reftex-toc-mode-map): Flatten loop.  Remove mapping digit keys and
44088         hyphen, as reftex-toc-mode is derived from special-mode nowadays.
44090 2016-11-18  Philipp Stephani  <phst@google.com>
44092         Prevent dubious argument lists
44094         See Bug#24912 and Bug#24913.
44096         * src/eval.c (funcall_lambda): Detect more dubious argument lists.
44097         * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect
44098         more dubious argument lists.
44099         * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit
44100         test.
44102 2016-11-18  Tino Calancha  <tino.calancha@gmail.com>
44104         Add test suite for buff-menu.el
44106         * test/lisp/buff-menu-tests.el: New file.
44107         (buff-menu-24962): Add test for Bug#24962.
44109 2016-11-18  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
44111         Add cyrillic-tuvan input method
44113         * lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input
44114         method.  (Bug#24942)
44116         * etc/NEWS: Mention addition of 'cyrillic-tuvan' input method.
44118 2016-11-18  Alexander Gramiak  <agrambot@gmail.com>
44120         Extend 'indent-relative' when its arg is non-nil
44122         * lisp/indent.el (indent-relative-maybe): New obsolete alias.
44123         (indent-relative-first-indent-point): Renamed from
44124         'indent-relative-maybe'.
44125         (indent-relative): Now accepts an additional optional argument.
44126         The first argument was renamed to FIRST-ONLY.  Doc fix.  Support
44127         the additional arg.  (Bug#24766)
44129 2016-11-17  Dmitry Gutov  <dgutov@yandex.ru>
44131         Add example for bug#24854
44133         * test/manual/indent/js.js: Add example for bug#24854.
44135 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
44137         Port registry.el the rest of the way to cl-lib
44139         This file already is using cl-lib functions at runtime; eieio ultimately
44140         loads cl-lib, which explains why doing so wasn't an issue.
44141         * lisp/registry.el: Require cl-lib.
44142         (registry-db, registry--match, registry-search, registry-delete):
44143         (registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
44144         (registry-collect-prune-candidates): Replace cl function with cl-lib one.
44146 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
44148         Fix arglist in python.el (Bug#24762)
44150         * lisp/progmodes/python.el: Remove unneeded second args.
44151         (python-define-auxiliary-skeleton): DOC arg should be &optional.
44153 2016-11-17  Simen Heggestøyl  <simenheg@gmail.com>
44155         Add tests for rot13.el
44157         * lisp/rot13.el (rot13): Docstring correction.
44159         * test/lisp/rot13-tests.el: New file with tests for rot13.el.
44161 2016-11-17  Michael Albinus  <michael.albinus@gmx.de>
44163         Fix Bug#24947 (Tramp + ido)
44165         * lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.
44167         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
44168         Run remote tests only if a connection is established only.  (Bug#24947)
44170 2016-11-16  Ken Brown  <kbrown@cornell.edu>
44172         Unbreak the build on Darwin (Bug#24957)
44174         * src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix
44175         mistakes in recent commit.
44177 2016-11-16  Nicolas Petton  <nicolas@petton.fr>
44179         Do not use map.el in seq-tests.el
44181         * test/lisp/emacs-lisp/seq-tests.el: Do not use map.el.  map.el was
44182         introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for
44183         Emacs 24.5.
44185 2016-11-16  Tino Calancha  <tino.calancha@gmail.com>
44187         Update parameter :version to 26.1 in several defcustom
44189         Following defcustom where added or modified for 25.2 release.
44190         In fact all these changes belong to 26.1 release.
44191         * lisp/battery.el (battery-linux-sysfs-regexp)
44192         * lisp/comint.el (comint-password-prompt-regexp)
44193         * lisp/dired.el (dired-always-read-filesystem)
44194         * lisp/image.el (image-scaling-factor)
44195         * lisp/ibuf-ext.el (ibuffer-never-search-content-name)
44196         (ibuffer-never-search-content-mode)
44197         * lisp/mouse.el (mouse-select-region-move-to-beginning)
44198         * lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
44199         (netstat-program, route-program, route-program-options)
44200         * lisp/net/sieve-manage.el (sieve-manage-default-stream)
44201         * lisp/progmodes/grep.el (grep-save-buffers)
44202         * lisp/vc/add-log.el (change-log-directory-files)
44203         * lisp/url/url-vars.el (url-user-agent)
44204         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
44205         (vc-hg-use-file-version-for-mode-line-version)
44206         (vc-hg-parse-hg-data-structures)
44207         * lisp/wdired.el (wdired-create-parent-directories)
44208         * lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
44209         * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
44210         (gnus-button-url-regexp)
44211         * lisp/window.el (switch-to-buffer-preserve-window-point)
44212         * lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
44213         (ibuffer-locked-buffer)
44214         * lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
44215         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
44216         * lisp/gnus/message.el (message-user-fqdn)
44217         * lisp/simple.el (shell-command-dont-erase-buffer)
44218         (extended-command-suggest-shorter)
44219         * lisp/net/shr.el (shr-use-fonts)
44220         * lisp/files.el (mounted-file-systems, kill-emacs-query-functions)
44222 2016-11-15  Glenn Morris  <rgm@gnu.org>
44224         Add --new-daemon, which runs in the foreground and does not fork
44226         This is intended for modern init systems such as systemd,
44227         which manage many of the traditional aspects of daemon behavior
44228         themselves.  (Bug#2677)
44229         * src/emacs.c (daemon_type): New integer.
44230         (usage, standard_args): Add --old-daemon and --new-daemon.
44231         (main): Handle --old-daemon and --new-daemon arguments.
44232         Restrict all the forking and complicated daemon stuff to old-daemon.
44233         (Fdaemon_initialized): Handle new-style daemon.
44234         * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
44235         Replace daemon_pipe with daemon_type.
44236         * doc/emacs/cmdargs.texi (Initial Options):
44237         * doc/emacs/glossary.texi (Glossary):
44238         * doc/emacs/misc.texi (Emacs Server):
44239         * doc/lispref/display.texi (Window Systems):
44240         * doc/lispref/os.texi (Startup Summary): Related doc updates.
44241         * etc/NEWS: Mention this.
44242         * etc/emacs.service: Use Type=simple and --new-daemon.
44244 2016-11-15  Glenn Morris  <rgm@gnu.org>
44246         * src/emacs.c (usage_message): Mention named daemon.  (Bug#24949)
44247         * doc/man/emacs.1.in: Likewise.
44249 2016-11-15  Ken Brown  <kbrown@cornell.edu>
44251         Simplify case-insensitivity checks on Mac OS X
44253         * src/fileio.c (file_name_case_insensitive_p): Try skipping the
44254         Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
44255         Leave in two alternatives conditionally compiled based on
44256         DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.
44258         * etc/PROBLEMS: Mention the possible problem with pathconf on
44259         Mac OS X.
44261 2016-11-15  Glenn Morris  <rgm@gnu.org>
44263         * src/emacs.c (sort_args): Warn about multiple matches.
44265 2016-11-15  Michael Albinus  <michael.albinus@gmx.de>
44267         Implement file name handler for `file-name-case-insensitive-p'
44269         * doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
44270         is also applicable for remote hosts.
44272         * lisp/net/tramp.el (tramp-methods): Improve docstring.
44273         (tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
44274         (tramp-handle-file-name-case-insensitive-p): New defun.
44276         * lisp/net/tramp-smb.el (tramp-methods) <smb>:
44277         Add `tramp-case-insensitive' entry.
44279         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
44280         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
44281         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
44282         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
44283         <file-name-case-insensitive-p>: Add handler.  (Bug#22300, Bug#24441)
44285 2016-11-15  Mark Oteiza  <mvoteiza@udel.edu>
44287         Nix more uses of default-FOO variables (Bug#24946)
44289         * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
44290         Check for header-line-format instead.
44291         * lisp/emulation/viper.el (viper-load-custom-file): Reference
44292         major-mode instead.
44293         * lisp/mail/feedmail.el (feedmail-fill-to-cc-fill-column): Use
44294         fill-column instead.
44296 2016-11-15  Simen Heggestøyl  <simenheg@gmail.com>
44298         Complete the name of PostgreSQL databases
44300         * lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
44301         name.
44302         (sql-postgres-list-databases): New function returning a list of
44303         available PostgreSQL databases.
44305         * test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.
44307 2016-11-14  Sam Steingold  <sds@gnu.org>
44309         add `vc-git-print-log-follow' and use it in `vc-git-print-log'
44311         When `vc-git-print-log-follow' is true and all files are
44312         non-directory, pass "--follow" to "git log".
44313         This works around bug#8756 and bug#16422.
44315 2016-11-14  Sam Steingold  <sds@gnu.org>
44317         `toggle-truncate-lines' obsoletes `gnus-summary-toggle-truncation'
44319         vc-git-print-log: pass "--follow" to "log" to handle renamed files
44321 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
44323         Revert "Improve case-insensitive checks (Bug#24441)"
44325         This reverts commit 2f5e0b1bf7b0ac4f450847db34d599a072020600.
44326         I see no reason for removing code, documentation, and comments
44327         in the original commit.
44329 2016-11-14  Wilson Snyder  <wsnyder@wsnyder.org>
44331         Update verilog-mode.el
44333         * lisp/progmodes/verilog-mode.el (verilog-read-decls)
44334         (verilog-calc-1): Fix "default clocking" indentation and
44335         preventing AUTOs from working, bug1084.  Reported by Alan Morgan.
44336         (verilog-diff-report): Fix `verilog-diff-report'
44337         not returning bad status on differences, bug1087.  Reported by
44338         Eric Jackowski.
44339         (verilog-auto-inst-param-value)
44340         (verilog-auto-inst-param-value-type, verilog-read-sub-decls)
44341         (verilog-read-sub-decls-expr, verilog-read-sub-decls-gate)
44342         (verilog-read-sub-decls-line, verilog-read-sub-decls-sig)
44343         (verilog-read-sub-decls-type): When
44344         `verilog-auto-inst-param-value-type' is set, which is now the
44345         default, AUTOINPUT etc will now substitute parameter types from
44346         submodules, bug1061.  Reported by Brad Dobbie.
44347         (verilog-auto-reset, verilog-backward-case-item)
44348         (verilog-extended-case-re, verilog-read-always-signals-recurse):
44349         Fix indentation of randcase, bug1072. Reported by David Rogoff.
44350         (verilog-read-sub-decls-expr)
44351         (verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions
44352         in generated comments, bug1057. Reported by Kaushal Modi.
44353         (verilog-auto-wire-comment, verilog-insert-definition):
44354         Add `verilog-auto-wire-comment' to suppress wire comments. Reported by
44355         Eric Jackowski.
44356         (verilog-extended-complete-re): Fix indentation
44357         of class static functions, bug1053. Reported by Gregory
44358         Czajkowski.
44359         (verilog-module-filenames): Support tramp for
44360         finding verilog modules. Reported by Nevada Sanchez.
44362 2016-11-14  Paul Eggert  <eggert@cs.ucla.edu>
44364         Improve case-insensitive checks (Bug#24441)
44366         * doc/lispref/files.texi (Truenames): Simplify documentation,
44367         to avoid giving too much platform-specific information that
44368         may not be accurate anyway.
44369         * src/fileio.c (file_name_case_insensitive_p): Use pathconf with
44370         _PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
44371         Otherwise if one approach fails (e.g., with errno == EINVAL), fall
44372         back on an alternative rather than returning false.  Try skipping
44373         the Darwin code, as it (1) no longer seems to be needed and (2)
44374         does not seem to match the Apple documentation.  Leave in two
44375         alternatives conditionally compiled based on
44376         DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.
44378 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
44380         Fix documentation changes of connection-local variables
44382         * etc/NEWS: Fix last change.
44383         * doc/lispref/variables.texi (Connection Local Variables): Minor fixes.
44384         * doc/lispref/elisp.texi (Top): Update the master menu.
44386 2016-11-14  Michael Albinus  <michael.albinus@gmx.de>
44388         Implement connection-local variables
44390         * doc/lispref/variables.texi (Connection Local Variables): New section.
44392         * etc/NEWS: Mention connection-local variables.
44394         * lisp/files-x.el (enable-connection-local-variables)
44395         (connection-local-variables-alist, connection-local-class-alist)
44396         (connection-local-criteria-alist): New defvars.
44397         (connection-local-get-classes)
44398         (connection-local-get-class-variables): New defsubst.
44399         (connection-local-set-classes)
44400         (connection-local-set-class-variables)
44401         (hack-connection-local-variables)
44402         (hack-connection-local-variables-apply): New defuns.
44403         (with-connection-local-classes): New defmacro.
44405         * lisp/net/tramp.el (tramp-set-connection-local-variables): New defun.
44407         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
44408         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
44409         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
44410         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.
44412         * test/lisp/files-x-tests.el: New file.
44414 2016-11-14  Tino Calancha  <tino.calancha@gmail.com>
44416         tabulated-list: extend truncation into next align-right column
44418         See discussion on:
44419         https://lists.gnu.org/r/emacs-devel/2016-10/msg01101.html
44420         * lisp/emacs-lisp/tabulated-list.el
44421         (tabulated-list--near-rows): New variable.
44422         (tabulated-list-print, tabulated-list-set-col): Use it.
44423         (tabulated-list--col-local-max-widths): New defsubst.
44424         (tabulated-list-print-col): Use it.  If the next column is
44425         align-right, and has some space left then don't truncate to width,
44426         use some of the available space from the next column.
44428 2016-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
44430         * lisp/net/shr.el (shr-collect-extra-strings-in-table): Fix indentation.
44432         * lisp/net/shr.el (shr-tag-table): Avoid duplication of images.
44433         (shr-collect-extra-strings-in-table): Render images as well.
44435 2016-11-13  Ken Brown  <kbrown@cornell.edu>
44437         Use the new 'file-name-case-insensitive-p' function
44439         * lisp/international/mule.el (auto-coding-alist-lookup):
44440         * lisp/files.el (file-truename):
44441         (abbreviate-file-name, set-auto-mode, file-relative-name):
44442         * lisp/emacs-lisp/package.el (package-untar-buffer): Use
44443         'file-name-case-insensitive-p' instead of 'system-type' to test
44444         case-insensitivity.
44446 2016-11-13  Glenn Morris  <rgm@gnu.org>
44448         Include a systemd user unit file.  (Bug#16507)
44450         * etc/emacs.service: New file.
44451         * doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
44452         * Makefile.in (libdir): New, set by configure.
44453         (systemdunitdir): New variable.
44454         (install-etc, uninstall): Handle the emacs.service file.
44456 2016-11-13  Paul Eggert  <eggert@cs.ucla.edu>
44458         Port --enable-gcc-warnings to Ubuntu 16.10
44460         * src/gmalloc.c: Include <stdlib.h>, so it declares
44461         hybrid_aligned_alloc (the definiens of the aligned_alloc macro),
44462         so that GCC doesn't complain that hybrid_aligned_alloc is
44463         defined without being declared.
44465 2016-11-13  Ken Brown  <kbrown@cornell.edu>
44467         Silence tramp warning
44469         * lisp/net/tramp.el (tramp-file-name-for-operation): Add
44470         'file-name-case-insensitive-p' as a known file primitive.
44471         (Bug#24936)
44473 2016-11-12  Ken Brown  <kbrown@cornell.edu>
44475         Check case-sensitivity when renaming files
44477         * src/fileio.c (file_name_case_insensitive_p)
44478         (Ffile_name_case_insensitive_p):  New functions.
44479         (Frename_file): Allow renames that simply change case when the
44480         FILE argument is on a case-insensitive filesystem.  (Bug#24441)
44482         * lisp/dired-aux.el (dired-do-create-files): Use
44483         'file-name-case-insensitive-p' instead of 'system-type' to check
44484         for case-insensitivity.  (Bug#24441)
44486         * doc/lispref/files.texi (Truenames): Document
44487         'file-name-case-insensitive-p'.
44489 2016-11-12  Ken Brown  <kbrown@cornell.edu>
44491         Unbreak the build on Cygwin
44493         * configure.ac (system_malloc) [CYGWIN]: Unset.
44495 2016-11-11  Mark Oteiza  <mvoteiza@udel.edu>
44497         Update chart.el
44499         * lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode.
44500         (chart-draw): Wrap in with-silent-modifications.  Instead of inserting a
44501         fixed number of newlines, use window-height.
44502         (chart-bar):
44503         (chart-trim): Use dolist.
44504         (chart-file-count): The previous implementation was buggy and missed
44505         extensions.  Use file-name-extension instead to detect file extensions.
44506         Also use dolist and cl-incf to reduce verbosity.
44508 2016-11-11  Katsumi Yamaoka  <yamaoka@jpl.org>
44510         * lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps.
44511         (shr-collect-extra-strings-in-table):
44512         Render extra tables in an invalid html as well.
44514 2016-11-10  Katsumi Yamaoka  <yamaoka@jpl.org>
44516         * lisp/net/shr.el (shr--preferred-image): Ignore whitespace (bug#24893).
44518 2016-11-09  Eli Zaretskii  <eliz@gnu.org>
44520         Resurrect 'memory-limit' on MS-Windows
44522         * nt/mingw-cfg.site (ac_cv_func_sbrk): Set to "yes", otherwise
44523         'memory-limit' will produce a trivial and useless result on Windows.
44525 2016-11-09  Mark Oteiza  <mvoteiza@udel.edu>
44527         Update quickurl.el
44529         * lisp/net/quickurl.el (quickurl-format-function):
44530         (quickurl-sort-function): Use named function.
44531         (quickurl-list-mode-map): Remove lines that are extraneous now that the
44532         parent mode is special-mode.
44533         (quickurl-format-url, quickurl-sort-urls): New functions.
44534         (quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
44535         be used.
44536         (quickurl-list-mode): Derive from special-mode.  Nix setting
44537         buffer-read-only: special-mode does that.
44538         (quickurl-list-populate-buffer): Use dolist instead.
44539         (quickurl-list-quit): Use quit-window.  It looks like this was written
44540         before the quit-window rewrite.  quit-window is very useful now.
44542 2016-11-09  Michael Albinus  <michael.albinus@gmx.de>
44544         Refine multi-hop specs in Tramp
44546         * lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:".
44548         * test/lisp/net/tramp-tests.el
44549         (tramp-test01-file-name-syntax): Multi-hop specs don't need a
44550         method.  "/h:" is allowed on non MS Windows.
44552 2016-11-08  Daniel Colascione  <dancol@dancol.org>
44554         Avoid infloop in python
44556         Fix bug#24905
44558         * lisp/progmodes/python.el (python-info-docstring-p): Improve
44559         infloop avoidance: replace (bobp) with generic test for
44560         forward progress.
44561         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
44562         test for bug#24905
44564 2016-11-08  Daniel Colascione  <dancol@dancol.org>
44566         Make gnus/message.el work correctly under lexical binding
44568         * lisp/gnus/message.el (message-send-mail): Rename `arg' to
44569         `_' to shut up the byte compiler.
44570         (sha1-maximum-internal-length, smtpmail-smtp-server)
44571         (smtpmail-smtp-service): add missing defvars
44573 2016-11-08  Michael Albinus  <michael.albinus@gmx.de>
44575         Fix Bug#24889
44577         * lisp/net/tramp.el (tramp-file-name-regexp): Make it a
44578         defvar.  Fix docstring.
44579         (tramp-completion-file-name-handler-alist): Fix docstring.
44580         (tramp-register-file-name-handlers): Reassign
44581         `tramp-file-name-regexp' to the car of
44582         `tramp-file-name-structure'.  (Bug#24889)
44584 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
44586         Port to FreeBSD 11 AMD
44588         Problem reported by Ashish Shukla (Bug#24892).  I tested
44589         this on FreeBSD 11 x86-64 with HAVE_SBRK manually undefined.
44590         * configure.ac (system_malloc): Set to 'yes' if there is no sbrk.
44591         (sbrk): Check whether it exists.
44592         * src/alloc.c (my_heap_start) [!GNU_LINUX]:
44593         Do not define, since this function is now used only on GNU/Linux,
44594         and sbrk might not exist on other platforms.
44595         (malloc_initialize_hook) [!GNU_LINUX]:
44596         Do not call my_heap_start, since its side effect will never be used.
44597         (Fmemory_limit) [!HAVE_SBRK]: Do not call sbrk.
44598         * src/unexelf.c (unexec) [!HAVE_SBRK]: Assume that nothing like
44599         sbrk exists.
44601 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
44603         Port emacsclient to FreeBSD 11 etc.
44605         * lib-src/emacsclient.c: Include <string.h>.  This is needed on
44606         platforms like FreeBSD 11 that use code involving strlen etc., and
44607         because <config.h> no longer includes string.h.
44609 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
44611         Prescribe history for read-regexp in query-replace
44613         In the fix for bug#24580, the history argument for read-regexp was
44614         removed erroneously; read-regexp's history argument defaults to
44615         regexp-history, not minibuffer-history.
44616         * lisp/replace.el (query-replace-read-from): Tell read-regexp to use
44617         minibuffer-history.  Fixes bug#24873.
44619 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
44621         Remove obsolete default-FOO variables
44623         * etc/NEWS: Indicate the removed variables.
44624         * lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
44625         * lisp/subr.el (default-mode-line-format, default-header-line-format):
44626         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
44627         (default-truncate-lines, default-left-margin, default-tab-width):
44628         (default-case-fold-search, default-left-margin-width):
44629         (default-right-margin-width, default-left-fringe-width):
44630         (default-right-fringe-width, default-fringes-outside-margins):
44631         (default-scroll-bar-width, default-vertical-scroll-bar):
44632         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
44633         (default-fringe-indicator-alist, default-fringe-cursor-alist):
44634         (default-scroll-up-aggressively, default-scroll-down-aggressively):
44635         (default-fill-column, default-cursor-type):
44636         (default-cursor-in-non-selected-windows):
44637         (default-buffer-file-coding-system, default-major-mode):
44638         (default-enable-multibyte-characters): Remove obsolete declarations.
44639         * src/buffer.c (default-mode-line-format, default-header-line-format):
44640         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
44641         (default-truncate-lines, default-left-margin, default-tab-width):
44642         (default-case-fold-search, default-left-margin-width):
44643         (default-right-margin-width, default-left-fringe-width):
44644         (default-right-fringe-width, default-fringes-outside-margins):
44645         (default-scroll-bar-width, default-vertical-scroll-bar):
44646         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
44647         (default-fringe-indicator-alist, default-fringe-cursor-alist):
44648         (default-scroll-up-aggressively, default-scroll-down-aggressively):
44649         (default-fill-column, default-cursor-type):
44650         (default-cursor-in-non-selected-windows):
44651         (default-buffer-file-coding-system, default-major-mode):
44652         (default-enable-multibyte-characters): Remove.
44653         * src/fileio.c (choose_write_coding_system): Fix comment.
44654         * src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
44656 2016-11-07  Eli Zaretskii  <eliz@gnu.org>
44658         Improve the tutorial
44660         * etc/tutorials/TUTORIAL: Minor copyedits.  (Bug#24890)
44661         * etc/tutorials/TUTORIAL.he: Follow suit.
44663 2016-11-06  Paul Eggert  <eggert@cs.ucla.edu>
44665         Restore file descriptor limit in subprocesses
44667         Problem reported by Philipp Stephani (Bug#24869).
44668         * src/callproc.c (child_setup) [!DOS_NT]:
44669         Call restore_nofile_limit in the child.
44670         * src/process.c (nofile_limit) [HAVE_SETRLIMIT]: New static var.
44671         (restore_nofile_limit): New function.
44672         (init_process_emacs) [HAVE_SETRLIMIT]: Set the new var.
44674 2016-11-06  Mark Oteiza  <mvoteiza@udel.edu>
44676         Remove some subr.el functions obsoleted in 22.1
44678         * etc/NEWS: Document removed functions.  Also mention the "face"
44679         variables that have been removed recently.
44680         * lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer):
44681         (eval-current-buffer, string-to-int, insert-string, makehash): Remove.
44683 2016-11-05  Paul Eggert  <eggert@cs.ucla.edu>
44685         Prefer comments /* like this */ in C code
44687 2016-11-05  Johan Bockgård  <bojohan@gnu.org>
44689         * lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876)
44691 2016-11-05  Nick Terrell  <nickrterrell@gmail.com>  (tiny change)
44693         Support zstd compressed files
44695         * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Add
44696         zstd compression info: <http://facebook.github.io/zstd/>.
44697         (jka-compr-mode-alist-additions): Handle .tzst suffix for zstd
44698         compressed tar archives.  (Bug#24853)
44700 2016-11-05  Eli Zaretskii  <eliz@gnu.org>
44702         Enlarge DUMPED_HEAP_SIZE
44704         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]:
44705         Enlarge to 21MB.  Reported by Richard Copley <rcopley@gmail.com>.
44707 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
44709         Update from gnulib
44711         This incorporates:
44712         2016-11-03 intprops: port to older XL C
44713         * lib/intprops.h: Copy from gnulib.
44715 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
44717         Merge from origin/emacs-25
44719         acae275 ; Spelling fixes
44720         d8fac73 Update README for precompiled windows Emacs.
44721         23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
44722         f708cb2 Clarify doc string of 'transpose-sexps'
44723         cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
44724         bdc89eb Improve documentation of 'font-lock-remove-keywords'
44725         4a0c590 Fix documentation of the command summary key
44726         0221b7a Mark relocation workarounds with REL_ALLOC
44728 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
44730         Merge from origin/emacs-25
44732         dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
44733         91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
44734         9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
44735         9c247d2 Update category-table for Chinese characters
44736         43986d1 Inhibit buffer relocation during regex searches
44737         fee4cef Revert fixes to allocation of regex matching
44739 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
44741         Fix references to long obsoleted functions/aliases
44743         * doc/lispintro/emacs-lisp-intro.texi (Miscellaneous):
44744         * doc/misc/cl.texi (Conditionals):
44745         * doc/misc/speedbar.texi (Major Display Modes): Use string-to-number,
44746         not string-to-int.
44747         * lisp/emulation/viper.el (viper-go-away): Use major-mode, not
44748         default-major-mode.
44749         * lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window
44750         here is not a function call, but shorten the binding names anyways.
44751         Also, use pop-to-buffer-same-window instead of switch-to-buffer cf
44752         Bug#22244.
44753         * lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not
44754         read-input.
44756 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
44758         * lisp/emacs-lisp/pcase.el (pcase-dolist): Add a docstring.
44760 2016-11-04  Katsumi Yamaoka  <yamaoka@jpl.org>
44762         * lisp/net/shr.el (shr-collect-extra-strings-in-table) New function
44763         that gathers extra strings in an invalid html.  (bug#24831)
44764         (shr-tag-table): Use it.
44766 2016-11-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>
44768         Add 'x-ctrl-keysym' support on X window system
44770         * src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
44771         Support 'x-ctrl-keysym'.
44772         (syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
44773         property on it.
44774         <x-ctrl-keysym>: New DEFVAR_LISP.
44775         <x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
44776         fix.  (Bug#24822)
44778         * etc/NEWS: Mention the addition of 'x-ctrl-keysym'.
44780         * doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.
44782 2016-11-04  Alexander Gramiak  <agrambot@gmail.com>
44784         Improve autoload error reporting
44786         * src/eval.c (Fautoload_do_load): Include the absolute file name
44787         in the error message.
44789 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
44791         Stop force parameter of whitespace-report-region having global effect
44793         * lisp/whitespace.el (whitespace-report-region): Force parameter
44794         previously changed whitespace-style globally.  Fix this, and use
44795         whitespace-active-style, to take account of any changes the user may
44796         have made.  Simplify the documentation: the force parameter simply
44797         forces all classes of whitespace problem to be considered.
44798         (Bug#24745)
44800 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
44802         Document use of `tab-width'
44804         * lisp/whitespace.el: When talking about `8 or more spaces', mention
44805         `tab-width' instead of 8.  (Bug#24745)
44807 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
44809         Make whitespace-report-region respect current settings
44811         * lisp/whitespace.el (whitespace-report-region): Make it respect
44812         whitespace-style, including any additions made by the force parameter.
44813         This means that the function does not return t unless a whitespace
44814         problem that the user cares about is reported.  (Bug#24745)
44816 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
44818         Fix whitespace-space-after-tab-regexp
44820         * lisp/whitespace.el (whitespace-space-after-tab-regexp)
44821         (whitespace-regexp): Match all the spaces after tabs for highlighting,
44822         not just the first tab-width.  Fix whitespace-space-after-tab::space
44823         version so that it requires at least tab-width spaces, not just 1.
44824         (Bug#24745)
44826 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
44828         Remove duplicate documentation
44830         * lisp/whitespace.el: Remove duplicate documentation from the Commentary
44831           section which duplicate and in some places contradict (due to being
44832           out of date) the docstrings (Bug#24745).
44834 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
44836         Fix bob/eob checks
44838         * lisp/whitespace.el (whitespace-empty-at-bob-regexp)
44839         (whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks
44840         work at beginning & end of buffer in whitespace-report-region, and only
44841         there (i.e. they will never match in regions that don't include the
44842         start or end of the buffer).  (Bug#24745)
44844 2016-11-03  Tino Calancha  <tino.calancha@gmail.com>
44846         (thing-at-point 'list) return nil if no list at point
44848         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point):
44849         Check first if we are at the beginning of a top-level sexp (Bug#24627).
44850         If point is inside a comment or string, look for a list out of the
44851         comment/string.
44852         Escape '[' in doc string.
44853         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update
44854         expected test result as pass.
44856 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
44858         Remove antlr face aliases obsoleted in 22.1
44860         * lisp/progmodes/antlr-mode.el: Remove obsolete aliases
44861         (antlr-default-face, antlr-keyword-face, antlr-syntax-face):
44862         (antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face):
44863         (antlr-tokenref-face, antlr-literal-face):
44864         (antlr-literal-face): Remove.
44865         (antlr-font-lock-additional-keywords): Use face symbols instead.
44867 2016-11-02  Daniel Colascione  <dancol@dancol.org>
44869         Revert "Disable bracketed paste in a terminal in char mode"
44871         This change causes regressions, and besides, disabling BPM frame-wide
44872         for the sake of one buffer is the wrong solution.
44874         This reverts commit cf566b46a6cf85c6d54d0b0db80e32ed6ae8d1ca.
44876 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
44878         Revert change to eww-suggest-uris
44880         The introduced append is ugly and can yield '(nil); doing delq on it
44881         would be hacks on hacks.
44882         * lisp/net/eww.el: Require cl-lib at run time.
44883         (eww-suggest-uris): Restore eww-current-url, reverting previous change.
44884         (eww): Remove erroneous append.
44885         (eww-open-in-new-buffer): Check if the return from eww-suggested-uris is
44886         equal to eww-current-url, which is nil anyways if we are not in an EWW
44887         buffer.
44889 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
44891         Add eww-open-in-new-buffer to EWW
44893         * doc/misc/eww.texi (Basic): Document new command and key.
44894         * etc/NEWS: Mention new key and its purpose.
44895         * lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
44896         (eww): Append (eww-current-url) to the prompt defaults.
44897         (eww-open-in-new-buffer): New command.
44898         (eww-mode-map): Bind it and add a menu item.
44900 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
44902         Migrate auth-source to cl-lib
44904         * lisp/auth-source.el: Use cl-lib.
44905         (auth-source-read-char-choice, auth-source-backend-parse-parameters):
44906         (auth-source-search): Replace cl calls with cl-lib ones.
44907         (auth-source-netrc-cache):
44908         (auth-source-forget+): Use cl-do-symbols instead.
44909         (auth-source-specmatchp, auth-source-netrc-parse):
44910         (auth-source-netrc-search, auth-source-netrc-create):
44911         (auth-source-netrc-saver, auth-source-secrets-listify-pattern):
44912         (auth-source-secrets-search, auth-source-secrets-create):
44913         (auth-source-macos-keychain-search, auth-source--decode-octal-string):
44914         (auth-source-macos-keychain-search-items, auth-source-plstore-search):
44915         (auth-source-plstore-create): Replace cl calls with cl-lib ones.
44917 2016-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
44919         Don't segfault on timed-out TLS connections
44921         * src/process.c (finish_after_tls_connection): Check that the
44922         file descriptor is still alive before proceeding (bug#24811).
44923         Also clean up the code slightly.
44925 2016-11-01  Eli Zaretskii  <eliz@gnu.org>
44927         Support 'TARGETS' in clipboard selections on MS-Windows
44929         * src/w32select.c (Fw32_selection_targets): New function.
44931         * lisp/term/w32-win.el (w32--get-selection): Call
44932         'w32-selection-targets' to obtain the list of data formats
44933         available in the clipboard.
44935 2016-11-01  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
44937         Fix documentation for 'eudc-options-file'
44939         * doc/misc/eudc.texi (The Server Hotlist): Update the default
44940         value of 'eudc-options-file'.
44942 2016-11-01  Tibor Csögör  <tibi@tiborius.net>
44944         Fix documentation of 'eudc-inline-expansion-format'
44946         * doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
44947         'eudc-inline-expansion-format'. (Bug#24840)
44949 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
44951         Turn on lexical-binding in some more libs
44953         * lisp/calendar/icalendar.el:
44954         * lisp/emacs-lisp/regexp-opt.el:
44955         * lisp/emacs-lisp/timer.el:
44956         * lisp/gnus/message.el:
44957         * lisp/hex-util.el: Turn on lexical-binding.
44959 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
44961         Turn on lexical-binding in some net libs
44963         * lisp/net/dbus.el: Turn on lexical-binding.
44964         (dbus-list-hash-table, dbus-list-known-names):
44965         (dbus-introspect-get-node-names, dbus-introspect-get-interface-names):
44966         (dbus-introspect-get-method-names, dbus-introspect-get-signal-names):
44967         (dbus-introspect-get-property-names):
44968         (dbus-introspect-get-argument-names, dbus-get-all-properties):
44969         (dbus-property-handler, dbus-get-all-managed-objects):
44970         (dbus-managed-object-handler): Replace add-to-list with push. Add
44971         nreverse in some places where the APPEND argument of add-to-list was
44972         used.
44973         * lisp/net/network-stream.el: Turn on lexical-binding.
44974         * lisp/net/newsticker.el: Turn on lexical-binding.
44975         * lisp/net/shr.el: Turn on lexical-binding.
44976         (shr-make-placeholder-image): Remove unused variable binding.
44977         (shr-inspect-table): Replace ignored bindings with underscore.
44979 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
44981         Turn on lexical-binding in some url libs
44983         * lisp/url/url-auth.el:
44984         * lisp/url/url-expand.el:
44985         * lisp/url/url-future.el:
44986         * lisp/url/url-parse.el:
44987         * lisp/url/url-util.el: Turn on lexical-binding.
44989 2016-10-31  Johan Bockgård  <bojohan@gnu.org>
44991         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec
44993         (Bug#24733)
44995 2016-10-30  Alan Mackenzie  <acm@muc.de>
44997         Handle chars of syntax word which are also flagged as comment delimiters
44999         src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged
45000         as the start/end of two char comment delimiters, recognize a comment delimiter
45001         in preference to a portion of a word.  This fixes bug #24767.
45003 2016-10-29  Daniel Colascione  <dancol@dancol.org>
45005         Speed up initialization by preferring /dev/urandom to GnuTLS
45007         * src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.
45009 2016-10-29  José L. Doménech  <domenechjosel@gmail.com>
45011         Quote file names in dired compression commands
45013         * lisp/dired-aux.el (dired-do-compress-to): Change the string
45014         used as shell command for compression by quoting the filenames
45015         used for input and output (Bug #24620).
45017 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
45019         Avoid errors in posn-at-point for large images
45021         * src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p
45022         returns a 6-member list for a partially visible glyph, pass the
45023         sum of Y and RTOP to posn-at-x-y, since that's where the visible
45024         portion of that glyph begins on display.  (Bug#24804)  (Bug#21832)
45025         (Bug#23809)
45027 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
45029         Unbreak MS-Windows build
45031         * src/w32term.c (XCreateGC): Second argument is now HWND, and its
45032         name is "wignore".
45033         (x_set_cursor_gc, x_set_mouse_face_gc)
45034         (x_draw_glyph_string_background, x_draw_glyph_string_bg_rect)
45035         (x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't
45036         use s->window, which doesn't exist anymore.
45038         * src/w32term.h (XCreateGC): Adjust prototype.
45040 2016-10-28  Daniel Colascione  <dancol@dancol.org>
45042         Add double-buffering support to reduce flicker
45044         * src/dispextern.h (struct glyph_string): Remove window member
45045         (block_buffer_flips, unblock_buffer_flips)
45046         (buffer_flipping_blocked_p): Declare.
45048         * src/xterm.h (struct x_display_info): New member supports_xdbe.
45049         (struct x_output): New members draw_desc and need_buffer_flip.
45050         (FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
45051         (FRAME_X_DOUBLE_BUFFERED_P)
45052         (FRAME_X_NEED_BUFFER_FLIP): New macros.
45053         (set_up_x_back_buffer, tear_down_x_back_buffer)
45054         (initial_set_up_x_back_buffer): Declare.
45056         * src/xterm.c: Include Xdbe.h.
45057         (x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
45058         (x_draw_vertical_window_border, x_update_end)
45059         (x_setup_relief_color, x_draw_relief_rect)
45060         (x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
45061         (x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
45062         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
45063         variables appropriately; substitute calls to XClearArea with
45064         x_clear_area, which DTRT for double buffering.
45065         (x_clear_window, x_clear_area): In double-buffering mode, use
45066         rect-drawing X functions instead of XClearWindow and
45067         XClearArea, which always operate on the front buffer.
45068         (show_back_buffer): New function.
45069         (XTframe_up_to_date): Call show_back_buffer when done.
45070         (x_clear_frame, x_clear_frame_area): Remove obsolete calls to
45071         gtk_widget_queue_draw to refresh scroll bars; scroll bars are
45072         now independent X windows.
45073         (handle_one_xevent): Call font_drop_xrender_surfaces when
45074         XftDraw might need regenerating; perform buffer flip when
45075         responding to Expose events; issue front-buffer clearing
45076         commands as stopgap while we wait for redisplay.
45077         Call flush_dirty_back_buffers.
45078         (x_make_frame_visible): Un-bitrot comment; move XSETFRAME
45079         earlier in function.
45080         (x_free_frame_resources): Call tear_down_x_back_buffer when
45081         destroying frame.
45082         (x_term_init): Attempt to initialize double buffer extension.
45083         (x_flip_and_flush): New function.
45084         (x_redisplay_interface): Point to x_flip_and_flush instead of
45085         x_flip directly.
45086         (flush_dirty_back_buffers): New function.
45087         (x_create_terminal): Register buffer_flipping_unblocked_hook.
45089         * src/xftfont.c (xftfont_drop_xrender_surfaces): Use
45090         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
45091         (xftfont_draw): Call x_mark_frame_dirty.
45092         (xftfont_drop_xrender_surfaces): New function.
45093         (syms_of_xftfont): Register it.
45095         * src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
45096         FRAME_X_WINDOW.
45098         * src/xfns.c: Include Xdbe.h.
45099         (x_set_inhibit_double_buffering, set_up_x_back_buffer)
45100         (Fx_double_buffered_p): New functions.
45101         (x_window): Call initial_set_up_x_back_buffer.
45102         (x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
45103         (Fx_create_frame): Configure `inhibit-double-buffering'
45104         frame parameter.
45105         (x_create_tip_frame): Call initial_set_up_x_back_buffer.
45106         (x_frame_parm_handlers): Register
45107         x_set_inhibit_double_buffering.
45108         (syms_of_xfns): Register Sx_double_buffered_p.
45109         (x_mark_frame_dirty): Define.
45111         * src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
45112         FRAME_X_WINDOW.
45114         * src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
45115         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
45116         (redisplay_internal): Restart redisplay if a frame is garbaged
45117         during updating; explain why. Block buffer flips
45118         during redisplay.
45119         (redisplay_preserve_echo_area): Block buffer flip during call
45120         to redisplay_internal.
45121         (buffer_flip_blocked_depth): New variable.
45122         (block_buffer_flips, unblock_buffer_flips)
45123         (buffer_flipping_blocked_p): New functions.
45124         (init_glyph_string): Stop setting window member of struct
45125         glyph_string.
45127         * src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
45128         x_set_inhibit_double_buffering.
45130         * src/termhooks.h (struct terminal): Add
45131         buffer_flipping_unblocked_hook.
45133         * src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
45134         x_set_inhibit_double_buffering.
45136         * src/image.c (x_create_bitmap_from_data)
45137         (x_create_bitmap_from_file, x_create_x_image_and_pixmap)
45138         (Create_Pixmap_From_Bitmap_Data)
45139         (x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
45140         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
45141         variables appropriately.
45143         * src/gtkutil.c: Include Xdbe.h.
45144         (xg_get_widget_from_map): Forward declare.
45145         (xg_clear_under_internal_border): Remove obsolete calls to
45146         refresh scroll bars.
45147         (xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
45148         (xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
45149         FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
45150         same reason.
45151         (xg_set_background_color): Set scroll bar background colors.
45152         (xg_finish_scroll_bar_creation): New function with common
45153         logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
45154         scroll bars to be real X11 windows.
45155         (xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
45156         xg_finish_scroll_bar_creation.
45157         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
45158         Remove obsolete calls to refresh scroll bars; fix comments.
45160         * src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
45161         (ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
45162         FRAME_X_WINDOW.
45164         * src/frame.c (frame_parms): Add table entry for new
45165         `inhibit-double-buffering' frame parameter
45166         (syms_of_frame): Register Qinhibit_double_buffering.
45168         * src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
45169         (font_drop_xrender_surfaces): Declare.
45171         * src/font.c (font_drop_xrender_surfaces): New function.
45173         * src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.
45175         * etc/NEWS: Mention use of double buffering
45177         * doc/lispref/frames.texi (Management Parameters): Document
45178         `inhibit-double-buffering' frame parameters.
45179         (Visibility of Frames): Document `x-double-buffered-p'.
45181         * configure.ac: Check for the X double buffer extension
45183 2016-10-28  Michael Albinus  <michael.albinus@gmx.de>
45185         Improve result of `auth-source-search' in Tramp
45187         * lisp/net/tramp.el (tramp-read-passwd): Require :secret and
45188         :user in result of `auth-source-search'.
45190 2016-10-27  Mark Oteiza  <mvoteiza@udel.edu>
45192         Fix avl-tree alias docstrings
45194         * lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
45195         (avl-tree-stack-p, avl-tree-create):
45196         (avl-tree-compare-function): Add calling convention to docstrings.
45198 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
45200         Update from gnulib
45202         This incorporates:
45203         2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
45204         2016-10-13 stdint: port SIZE_MAX to glibc s390
45205         2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
45206         * lib/gnulib.mk: Regenerate.
45207         * lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
45208         * m4/utimes.m4: Copy from gnulib.
45210 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
45212         electric-quote-chars fixups
45214         * lisp/electric.el (electric-quote-chars): Check types and safety
45215         more carefully.
45216         (electric-quote-post-self-insert-function): Use more-mnemonic locals.
45217         Omit no-longer-necessary runtime error diagnostic.
45219 2016-10-27  Göktuğ Kayaalp  <self@gkayaalp.com>
45221         New user variable 'electric-quote-chars'
45223         * doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
45224         * lisp/electric.el (electric-quote-chars): New defcustom.
45225         (electric-quote-post-self-insert-function): Use it.
45227 2016-10-27  Tino Calancha  <tino.calancha@gmail.com>
45229         Add more tests for Bug#24627
45231         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
45232         Add tests for 'list-at-point'.
45234 2016-10-26  Filipp Gunbin  <fgunbin@fastmail.fm>
45236         * lisp/shell.el (shell--unquote&requote-argument): Match data misuse
45238         * lisp/shell.el (shell--unquote&requote-argument): Fix
45239         off-by-one thinko.  Don't use match data after a failed string-match.
45241 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
45243         * src/xwidget.c (webkit_js_to_lisp): Now static.
45245 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
45247         xwidget: Map "previous-line" and "next-line" to scroll
45249         * lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
45250         procedures.
45252 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
45254         xwidget: Bind "beginning-of-buffer" and "end-of-buffer"
45256         * lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
45257         "xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
45258         respectively.
45259         (xwidget-webkit-scroll-top,
45260         xwidget-webkit-scroll-bottom): New procedures.
45262 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
45264         Implement zoom for WebKit widget.
45266         * src/xwidget.c (xwidget-webkit-zoom): New procedure.
45267         * lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
45268         (xwidget-webkit-zoom): Declare procedure.
45269         (xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.
45271 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
45273         Dynamically resize WebKit widget.
45275         * lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
45276         xwidget-webkit-adjust-size-in-frame): New procedures.
45277         (xwidget-webkit-new-session): Remove hint to resize widget with `a'.
45278         (xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
45279         (xwidget-webkit-adjust-size-to-window): Make non-interactive,
45280         add widget and window as arguments.
45281         (xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.
45283 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
45285         Let initial WebKit view fill window
45287         * lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
45288         WebKit widget to window size.
45290 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
45292         xwidget: Remove title hack.
45294         * src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
45295         * lisp/xwidget.el (xwidget-webkit-get-title,
45296         xwidget-webkit-execute-script-rv): Remove procedures.
45298 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
45300         xwidget: Get URL asynchronously.
45302         * lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.
45304 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
45306         xwidget: Get selection with asynchronous JavaScript
45308         * lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
45309         process selection.
45310         (xwidget-webkit-copy-selection-as-kill): Kill selection in callback.
45312 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
45314         xwidget: Add function to find element by CSS selector
45316         * lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
45318 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
45320         xwidget: Simplify functions to scroll to elements
45322         * lisp/xwidget.el (xwidget-webkit-show-named-element,
45323         xwidget-webkit-show-id-element,
45324         xwidget-webkit-show-id-or-named-element): Simplify functions by
45325         scrolling exclusively with JavaScript.
45327 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
45329         xwidget: Get title via asynchronous JavaScript.
45331         * lisp/xwidget.el (xwidget-webkit-callback): Get document title
45332         asynchronously.
45334 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
45336         xwidget: Do not use `xwidget-execute-script-rv' to insert string
45338         * lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript
45339         return value via callback instead of using
45340         `xwidget-webkit-execute-script-rv'.
45342 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
45344         Remove scrolled window container around WebKit widget
45346         The WebKit widget can scroll on its own and does not need to wrapped
45347         with a scrolled window container.
45349         * src/xwidget.h: Remove struct member widgetscrolledwindow_osr.
45350         * src/xwidget.c: Remove widgetscrolledwindow_osr.
45351         (xwidget-set-adjustment): Remove.
45352         (xwidget-resize): Resize Webkit widget last.
45353         * lisp/xwidget.el (xwidget-set-adjustment): Remove.
45354         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down,
45355         xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
45356         Implement scrolling via JavaScript.
45358 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
45360         xwidget: Pass JavaScript return value to optional callback procedure
45362         * lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional
45363         callback argument.
45364         (xwidget-webkit-callback): Handle "javascript-callback" event type.
45365         * src/xwidget.c (xwidget-webkit-execute-script): Accept optional
45366         argument FUN, a Lisp procedure to execute on the JavaScript return
45367         value.
45368         (store_xwidget_js_callback_event, webkit_javascript_finished_cb,
45369         webkit_js_to_lisp): New procedures.
45371 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
45373         xwidget: Use WebKit2 API
45375         * configure.ac: Check for webkit2gtk-4.0.
45376         * src/xwidget.c: Adjust to use WebKit2 API.
45377         * lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
45378         `xwidget-event-type'.
45380 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
45382         Merge from origin/emacs-25
45384         4c3f738 Comment for bug#24793
45386 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
45388         Merge from origin/emacs-25
45390         96ac0c3 Yet another fix for using pointers into buffer text
45391         1047496 Another fix for using pointer to buffer text
45392         3121992 Fix Bug#24478
45394 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
45396         Merge from origin/emacs-25
45398         ee04aed Fix handling of buffer relocation in regex.c functions
45399         71ca4f6 Avoid relocating buffers while libxml2 reads its text
45400         1b3fc8a ; Remove redundant code in gmalloc.c
45401         9afea93 Attempt to catch reads from a buffer that is relocated
45403 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
45405         Minor fix in the documentation of seq-random-elt
45407         * doc/lispref/sequences.texi (Sequence Functions): Remove false
45408           sentence.
45410 2016-10-25  Eli Zaretskii  <eliz@gnu.org>
45412         Minor copyedits in documentation of 'seq-random-elt'
45414         * doc/lispref/sequences.texi (Sequence Functions): Fix markup in
45415         last change.  Use 2 spaces between sentences.
45417 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
45419         * lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring.
45421 2016-10-25  Damien Cassou  <damien@cassou.me>
45423         Add seq-random-elt to seq.el
45425         * lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
45426           random element from it's sequence parameter.
45428         * test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
45429           test-seq-random-elt-return-nil): Test the new function
45431         * doc/lispref/sequences.texi: Document the new function
45433 2016-10-24  Ken Brown  <kbrown@cornell.edu>
45435         * configure.ac: Stop using mmap for buffers on Cygwin.
45437 2016-10-24  Nicolas Petton  <nicolas@petton.fr>
45439         * lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738)
45441 2016-10-24  Karl Chen  <Karl.Chen@quarl.org>
45443         Don't prompt user when killing Flymake processes
45445         * lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
45446         Don’t prompt the user when killing Flymake processes.
45448         * doc/misc/flymake.texi (Starting the syntax check process):
45449         Document new behavior.
45451 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
45453         * src/regex.c (re_search_2): Use UNINIT, not IF_LINT.
45455         This finishes the merge of the recent emacs-25 regex changes into
45456         master.
45458 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
45460         Merge from origin/emacs-25
45462         50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
45463         6f1325e electric-quote mode no longer worries about coding
45464         c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
45465         f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
45466         b2ba630 Explain how to debug emacsclient lisp errors
45467         9da53e2 Let describe-function work for lambda again
45468         5c2da93 Fix kill-line's docstring
45469         ad66b3f Fix handling of allocation in regex matching
45470         5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
45471         3877c91 vc-region-history: Search just on lines intersecting the region
45472         8988327 Fix documentation of 'alist-get'
45473         b6998ea * src/regex.h (re_match_object): Improve commentary.
45475         # Conflicts:
45476         #       etc/NEWS
45477         #       lisp/help-fns.el
45479 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
45481         Merge from origin/emacs-25
45483         8ad0d7d ; Fix quoting in etc/NEWS
45484         6b9dee1 Change Tramp version to "2.2.13.25.2"
45485         62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
45486         b2f32e4 Don't scan compiled module files for autoloads
45487         9a758b4 Fix Bug#24698
45488         baa8ba4 * lisp/subr.el (start-process): Doc fix.  (Bug#24693)
45489         e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
45490         12da149 Update URL of MS-Windows optional DLLs
45491         2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
45492         a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
45493         b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
45494         cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (B...
45496         # Conflicts:
45497         #       doc/misc/trampver.texi
45498         #       etc/NEWS
45499         #       lisp/net/tramp-sh.el
45500         #       lisp/net/trampver.el
45502 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
45504         Merge from origin/emacs-25
45506         b73f466 * lisp/cus-start.el (exec-path): Handle nil elements.  (Bug#2...
45507         55ebb70 Catch the imenu-unavailable error in sh-mode completion table
45508         993acb5 ; Minor fix for last change in characters.el
45509         30c4bb5 More char-width fixes
45510         4eb4463 Fix char-width-table values for some Emoji
45511         528997d Keep point when switching from and to *terminal* buffer
45512         2130005 * INSTALL: Use correct Emacs release number 25.
45513         10835b1 Avoid crashes due to objects read with the #n=object form
45514         4de671d Improve doc string of 'completion-at-point-functions'
45515         ceb46f0 Fix crash in evaluating functions
45516         d8374c4 * src/filelock.c (current_lock_owner): Update comment.
45518 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
45520         Merge from origin/emacs-25
45522         2deb20c Port last_marked change to full-program optimizers
45523         27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
45524         dac64e3 Avoid optimizing out the last_marked[] array
45526 2016-10-22  Noam Postavsky  <npostavs@gmail.com>
45528         Avoid infinite hscrolling in redisplay
45530         * src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal
45531         scrolling (e.g., caused by pre-redisplay-functions) triggering infinite
45532         redisplay (Bug #24633).
45534 2016-10-22  Michael Albinus  <michael.albinus@gmx.de>
45536         Fix error codes in Tramp
45538         * lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
45539         taken from tramp.el.
45540         (tramp-file-missing): New defconst.
45542         * lisp/net/tramp.el (tramp-user-error): Remove it.
45543         (tramp-check-proper-method-and-host)
45544         (tramp-dissect-file-name, tramp-debug-message)
45545         (tramp-handle-shell-command):
45546         * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
45547         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
45548         Use `tramp-compat-user-error'.
45550         * lisp/net/tramp.el (tramp-handle-insert-file-contents)
45551         (tramp-handle-load):
45552         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
45553         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
45554         * lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
45555         * lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
45556         Use `tramp-file-missing'.  (Bug#24714)
45558         * lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
45559         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
45560         Use `file-already-exists'.
45562 2016-10-22  Jorgen Schaefer  <contact@jorgenschaefer.de>
45564         Autoload all commands from misc.el
45566         Only two of the commands there were autoloaded, one of which is an
45567         easter egg.
45568         * lisp/misc.el (copy-from-above-command):
45569         * lisp/misc.el (zap-up-to-char):
45570         * lisp/misc.el (mark-beginning-of-buffer):
45571         * lisp/misc.el (mark-end-of-buffer):
45572         * lisp/misc.el (upcase-char):
45573         * lisp/misc.el (forward-to-word):
45574         * lisp/misc.el (backward-to-word):
45575         Add autoload cookie.
45577 2016-10-22  Martin Rudalics  <rudalics@gmx.at>
45579         On terminal frames ignore minibuffer frame parameter (Bug#24758)
45581         * src/frame.c (Fmake_terminal_frame): Don't complain when the
45582         caller asks for a deviant minibuffer setting (Bug#24758).
45584 2016-10-21  Paul Eggert  <eggert@cs.ucla.edu>
45586         New error file-missing
45588         This fixes a recently-introduced bug in delete-directory,
45589         where the code assumes the C locale when determining
45590         whether a file-error corresponds to a missing file (Bug#24714).
45591         * doc/lispref/errors.texi (Standard Errors):
45592         * doc/lispref/files.texi (Changing Files):
45593         * etc/NEWS:
45594         Document this.
45595         * doc/lispref/loading.texi (How Programs Do Loading):
45596         Say "a file-error" rather than "the error file-error" since
45597         it might be a file-missing now.
45598         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
45599         * lisp/epa-file.el (epa-file--find-file-not-found-function):
45600         (epa-file-insert-file-contents, epa-file-write-region):
45601         * lisp/ffap.el (find-file-at-point, dired-at-point):
45602         * lisp/jka-compr.el (jka-compr-insert-file-contents)
45603         (jka-compr-insert-file-contents):
45604         * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
45605         (ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
45606         * lisp/progmodes/etags.el (visit-tags-table):
45607         * lisp/url/url-handlers.el (url-copy-file):
45608         * src/fileio.c (report_file_errno):
45609         Signal file-missing if appropriate.
45610         * lisp/epa-file.el (epa-file-insert-file-contents):
45611         * lisp/jka-compr.el (jka-compr-insert-file-contents):
45612         Don't assume file-error is a leaf in the error hierarchy.
45613         * lisp/files.el (files--force):
45614         * lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
45615         * lisp/jka-compr.el (jka-compr-insert-file-contents):
45616         Use file-missing to detect whether the file is missing.
45617         * lisp/url/url-handlers.el (url-copy-file):
45618         Signal file-already-exists if appropriate.
45619         * src/fileio.c (syms_of_fileio): Define file-missing.
45621         2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
45623 2016-10-21  Mark Oteiza  <mvoteiza@udel.edu>
45625         Teach browse-url to open man page urls
45627         * lisp/net/browse-url.el (browse-url-man-function): New custom option.
45628         (browse-url): Add a condition to catch links matching "^man:".
45629         (browse-url-man): New function.
45631 2016-10-21  Eli Zaretskii  <eliz@gnu.org>
45633         Improve fontification of footnote references in Info buffers
45635         * lisp/info.el (Info-fontify-node): Don't fontify random numbers
45636         in parentheses as if they were footnote references.  See
45637         https://lists.gnu.org/r/bug-texinfo/2016-10/msg00007.html
45638         for the details.
45640 2016-10-20  Philipp Stephani  <phst@google.com>
45642         Minor fixes to cc-mode-tests.el
45644         See Bug#24747.
45646         * test/lisp/progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in
45647         file-local variable; add comments to make checkdoc happy.
45649 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
45651         * etc/NEWS: Fix typos.  Remove entries backported to Emacs 25.2.
45653 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
45655         Document, how to suppress iTerm2 shell integration in Tramp
45657         * doc/misc/tramp.texi (Frequently Asked Questions):
45658         Suppress iTerm2 shell integration.
45660 2016-10-20  Tino Calancha  <tino.calancha@gmail.com>
45662         cl-seq: Remove max limit on input sequence length
45664         * lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-delete)
45665         (cl--position, cl-nsubstitute, cl-substitute, cl-remove):
45666         Remove limit on maximum length for the input sequence
45667         (#Bug24264).
45668         * test/lisp/emacs-lisp/cl-seq-tests.el: Update test expected result as passed.
45670 2016-10-19  Mark Oteiza  <mvoteiza@udel.edu>
45672         Derive dig-mode from special-mode
45674         * lisp/net/dig.el: Remove unused cl dependency.  Remove top level
45675         mode-class assignment.
45676         (dig-mode-map): Unmap g, as dig has no notion of reverting the buffer.
45677         (dig-mode): Derive from special-mode.
45678         (dig-exit): Use quit-window instead.
45679         (dig): Use pop-to-buffer-same-window.  Remove redundant assignments.
45680         (query-dig): Use pop-to-buffer-same-window.
45682 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
45684         cl-defstruct: Fix debug spec and check of slot options
45686         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve checking of slot
45687         option syntax.  Fix debug spec.  (Bug#24700)
45689 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
45691         isearch: Fix bug in defstruct syntax
45693         * lisp/isearch.el (isearch--state): Use correct form of defstruct slot
45694         options.  (Bug#24685)
45696 2016-10-18  Mark Oteiza  <mvoteiza@udel.edu>
45698         Add an option for eshell-input-filter
45700         * etc/NEWS: Document changes.
45701         * lisp/eshell/em-hist.el (eshell-input-filter): Set value to function
45702         symbol.  Change type to a radio for choosing functions.  Refer to both
45703         new functions.
45704         (eshell-input-filter-default): New function.  Same body as the previous
45705         value of eshell-input-filter.
45706         (eshell-input-filter-initial-space): New function.
45708 2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
45710         delete-directory no longer errors when racing
45712         Problem reported by Glenn Morris for package-test.el (Bug#24714).
45713         * doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
45714         * lisp/files.el (files--force): New function.
45715         (delete-directory): Use it to avoid error in this case.
45717 2016-10-17  Yuri Khan  <yuri.v.khan@gmail.com>  (tiny change)
45719         Support Shift selection in nxml-mode commands
45721         * lisp/nxml/nxml-mode.el (nxml-forward-balanced-item)
45722         (nxml-up-element, nxml-backward-up-element, nxml-down-element)
45723         (nxml-backward-down-element, nxml-forward-element)
45724         (nxml-backward-element, nxml-forward-paragraph)
45725         (nxml-backward-paragraph): Use "^p" as the interactive spec, to
45726         support shift-selection.
45728 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
45730         Simplify some loops and cons
45732         * lisp/net/mailcap.el: Replace cl with cl-lib.
45733         (mailcap--get-user-mime-data, mailcap--set-user-mime-data):
45734         (mailcap-parse-mailcaps, mailcap-parse-mailcap-extras):
45735         (mailcap-possible-viewers): Use push and dolist where possible.
45736         (mailcap-viewer-passes-test): Remove unused binding.
45737         (mailcap-add-mailcap-entry): Use push.
45738         (mailcap-mime-info): Remove unused binding.  Use push.
45739         (mailcap-parse-mimetypes): Use dolist.
45741 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
45743         Turn on lexical-binding in auth-source
45745         * lisp/auth-source.el: Turn on lexical-binding.
45746         (auth-source-netrc-parse, auth-source-netrc-normalize):
45747         (auth-source-token-passphrase-callback-function):
45748         (auth-source-netrc-create, auth-source-secrets-search):
45749         (auth-source-macos-keychain-search-items):
45750         (auth-source-plstore-search): Use let instead of lexical-let.
45752 2016-10-17  Martin Rudalics  <rudalics@gmx.at>
45754         Fix frame focus redirection with shared minibuffer windows (Bug#24500)
45756         * src/frame.c (do_switch_frame): Redirect frame focus also when
45757         the frame switched to has its minibuffer window on the selected
45758         frame.
45759         * src/window.c (candidate_window_p): To qualify as candidate
45760         it's not sufficient for the window's frame to just share the
45761         minibuffer window - it must be active as well.
45763 2016-10-17  Eli Zaretskii  <eliz@gnu.org>
45765         Fix time-related data types in 2 editfns.c functions
45767         * src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
45768         pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r',
45769         instead of relying on struct timespec's 'tv_sec' member to be of
45770         compatible type.
45772 2016-10-16  Martin Rudalics  <rudalics@gmx.at>
45774         Document atomic windows in Elisp manual (Bug#18170)
45776         * lisp/window.el (display-buffer-in-atom-window): If no `side'
45777         alist entry was specified, use `below' as the doc tells.
45778         * doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
45779         * doc/lispref/windows.texi (Atomic Windows): New section.
45780         (Window Parameters): Update reference.
45782 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45784         New face homoglyph
45786         Suggested by Eli Zaretskii, from a feature request by
45787         Alan Mackenzie (Bug#24468).
45788         * doc/emacs/display.texi (Standard Faces, Text Display):
45789         * etc/NEWS: Document this.
45790         * etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
45791         * etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
45792         * etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
45793         * etc/themes/wombat-theme.el:
45794         Customize homoglyph to be the same as escape-glyph.
45795         * lisp/cus-theme.el (custom-theme--listed-faces):
45796         Add homoglyph.
45797         * lisp/faces.el (homoglyph): New face.
45798         * lisp/startup.el (startup--setup-quote-display): Use it.
45800 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
45802         Port to Ubuntu 16.10, which needs gcc -nopie
45804         * configure.ac (emacs_cv_prog_cc_no_pie): Rename from
45805         emacs_cv_prog_cc_nopie.  All usages changed.  Check for -no-pie in
45806         preference to -nopie (Bug#24682).
45808 2016-10-16  Michael Albinus  <michael.albinus@gmx.de>
45810         Fix bug#24665 in Tramp
45812         * doc/misc/tramp.texi (External methods): Do not confuse
45813         method names.  (Bug#24665)
45815 2016-10-15  Sam Steingold  <sds@gnu.org>
45817         use full time objects (lists) instead of floats when possible
45819         * lisp/midnight.el (midnight-buffer-display-time): Remove
45820         (clean-buffer-list): Use float time only for time comparison
45822 2016-10-15  Sam Steingold  <sds@gnu.org>
45824         Save and restore buffer-display-time
45826         * lisp/desktop.el (desktop-locals-to-save): Add `buffer-display-time'
45827         (desktop-read): Set `desktop-file-modtime' before loading the desktop file
45828         (desktop-create-buffer): Adjust `buffer-display-time' for the downtime
45830 2016-10-15  Philipp Stephani  <phst@google.com>
45832         Disable bracketed paste in a terminal in char mode
45834         In char mode, a terminal doesn't accept bracketed paste events,
45835         therefore we should disable them; see Bug#24639.  To decouple the XTerm
45836         management from term.el, introduce a per-buffer setting to disable
45837         bracketed paste for that buffer.  If bracketed paste is inhiited for at
45838         least one buffer in a terminal, it is disabled for the whole terminal.
45840         * lisp/term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to
45841         inhibit XTerm bracketed paste per buffer.
45842         (xterm--buffer-terminals, xterm--update-bracketed-paste)
45843         (xterm--bracketed-paste-possible, xterm--is-xterm): New helper
45844         functions.
45845         (xterm--init-bracketed-paste-mode): Remove unused helper
45846         function.
45847         (terminal-init-xterm): Update bracketed paste status when
45848         initializing an XTerm and on window configuration change.
45850         * lisp/term.el (term-char-mode, term-line-mode): Inhibit XTerm
45851         bracketed paste in char mode.
45853 2016-10-15  Dima Kogan  <dima@secretsauce.net>
45855         Undo the effect of CapsLock when other modifiers are present
45857         * src/keyboard.c (make_lispy_event): Effectively undo the effect
45858         of CapsLock if any modifiers other than Shift are present in a key.
45859         (Bug#24456)
45861 2016-10-15  Simen Heggestøyl  <simenheg@gmail.com>
45863         Add tests for foreign completions in CSS mode
45865         * test/lisp/textmodes/css-mode-tests.el
45866         (css-test-foreign-completions): New test for
45867         `css--foreign-completions'.
45868         (css-test-complete-selector-tag): Rename test.
45869         (css-test-complete-selector-class): New test testing completion of
45870         class names in selectors.
45871         (css-test-complete-selector-id): New test testing completion of IDs in
45872         selectors.
45874 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
45876         Cosmetic change to last mm-url change
45878         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
45879         Tweak last change slightly for more readability.
45881 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
45883         Fix problem with submitting binary data via HTTP forms
45885         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
45886         Document the parameters, clean up the code, and make uploading
45887         binary data really work (which it didn't if the binary bits
45888         were in the last part of the data).
45890 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
45892         * lisp/time.el (display-time-string-forms): Fix custom type.
45894 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
45896         Derive Man and WoMan modes from special-mode
45898         * lisp/man.el (Man-mode-map): Set parent to map composed from both
45899         button-buffer-map and special-mode-map.  Remove redundant bindings.
45900         Fix menu to refer to the quit-window command.
45901         (Man-mode): Derive from special-mode.  Fix docstring.  Remove redundant
45902         buffer-read-only binding.
45903         (Man-quit): Remove.
45904         * lisp/woman.el (woman-really-find-file): Use setq-local.
45905         (woman-mode-map): Refer to woman-mode in docstring.
45906         (woman-mode): Derive from special-mode.  Document woman-mode-map in
45907         docstring.  Use setq-local where possible; imenu-generic-expression is
45908         already buffer-local.
45909         (woman-negative-vertical-space): Replace unused binding with _.
45911 2016-10-13  Philipp Stephani  <phst@google.com>
45913         Fix crash in evaluating functions
45915         See Bug#24673
45917         * src/eval.c (funcall_lambda): Fix crash for bogus functions such
45918         as (closure).
45920         * test/src/eval-tests.el (eval-tests--bug24673): Add test.
45922 2016-10-13  Tino Calancha  <tino.calancha@gmail.com>
45924         Add test for Bug#24627
45926         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): New test.
45928 2016-10-12  Eli Zaretskii  <eliz@gnu.org>
45930         * lib-src/etags.c (invalidate_nodes): Remove a redundant nullp test.
45932 2016-10-11  Paul Eggert  <eggert@cs.ucla.edu>
45934         Work around Samba bug with ':' in symlink contents
45936         * src/filelock.c (current_lock_owner): When reading the contents
45937         of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656).
45939 2016-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
45941         If autoloads buffer is unchanged, mark it as such (bug#23692)
45943         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
45944         If autoloads buffer is unchanged, mark it as such (bug#23692).
45946 2016-10-11  Michael Albinus  <michael.albinus@gmx.de>
45948         Use "26.1" version string in Tramp, fix some comments
45950         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
45951         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
45952         Use "26.1" version string.
45954 2016-10-10  Tino Calancha  <tino.calancha@gmail.com>
45956         form-at-point work for all kind of THINGS
45958         * lisp/thingatpt.el (form-at-point):
45959         Use thing-at-point--read-from-whole-string only if thing-at-point
45960         returns a string (Bug#24605).
45962 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
45964         Fix compilation warnings on MS-Windows
45966         * src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove
45967         definitions of these macros, which seem to be unneeded and cause
45968         compiler warnings.
45969         * src/fileio.c (NOMINMAX): Avoid compiler warnings about unused
45970         macros.
45971         * src/firstfile.c (dummy_main_reference): Rename from 'dummy' and
45972         make it external, to avoid compiler warning.
45974 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45976         Spelling and clarity fixes
45978 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45980         Merge from origin/emacs-25
45982         4f406e9 CC Mode manual: remove reference to former Emacs variable las...
45983         44e402e Allow to disable compaction of font caches
45984         4ff4b66 Allow selection of font for symbols as in Emacs 24.x
45985         c03d44b ; Fix last commit
45986         d4be4f3 ; Fix indexing in lispref manual
45987         ed399f2 ; Minor improvement in documentation of generators
45988         197a6bc Fix horizontal scrolling during Isearch
45989         3566644 Fix infloop in redisplay due to truncated lines and invisible...
45991         # Conflicts:
45992         #       etc/NEWS
45994 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
45996         Merge from origin/emacs-25
45998         c4a5e7e Improve documentation of 'menu-bar-open'
46000 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46002         Merge from origin/emacs-25
46004         4b347fe Clarify that doc fixes are okay in feature freeze
46005         01669ad Avoid crashes when setting the cursor
46006         f2144ee Restore 'command-debug-status' functionality
46007         ec6e4b9 ; Minor addition to CONTRIBUTE
46009 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46011         Merge from origin/emacs-25
46013         74b4f13 Document nil args of compare-buffer-substrings
46014         9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup.
46015         95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa...
46017 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
46019         Merge from origin/emacs-25
46021         f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix.  (Bug#24372)
46022         ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo.
46023         bbf1ffd Regexp Functions doc minor fixes
46025 2016-10-08  Philipp Stephani  <phst@google.com>
46027         Don’t consider nested let-alist forms
46029         See Bug#24641.
46031         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t
46032         consider symbols in nested ‘let-alist’ forms.
46034         * test/lisp/emacs-lisp/let-alist-tests.el
46035         (let-alist--deep-dot-search--nested): Add a unit test.
46037 2016-10-08  Alain Schneble  <a.s@realize.ch>
46039         Support SIGTRAP in kill emulation on Windows
46041         * src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
46042         'DebugBreakProcess' to cause a breakpoint exception to occur in the
46043         specified process.  On Windows versions prior to Windows XP that do
46044         not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
46045         (as opposed to EINVAL before this change).
46046         * src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
46047         and global variable to track state of run-time dynamic linking of this
46048         function.
46050         * etc/NEWS: Add entry to document that 'signal-process' now supports
46051         SIGTRAP.
46053 2016-10-08  Eli Zaretskii  <eliz@gnu.org>
46055         Deprecate 'wp' group and introduce a new group 'text'
46057         * lisp/textmodes/tildify.el (tildify):
46058         * lisp/textmodes/text-mode.el (text-mode-hook):
46059         * lisp/textmodes/table.el (table):
46060         * lisp/textmodes/rst.el (rst):
46061         * lisp/textmodes/refer.el (refer):
46062         * lisp/textmodes/refbib.el (refbib):
46063         * lisp/textmodes/picture.el (picture):
46064         * lisp/textmodes/nroff-mode.el (nroff):
46065         * lisp/textmodes/enriched.el (enriched):
46066         * lisp/textmodes/bib-mode.el (bib):
46067         * lisp/progmodes/ebnf2ps.el (ebnf2ps):
46068         * lisp/nxml/rng-valid.el (relax-ng):
46069         * lisp/view.el (view):
46070         * lisp/ps-print.el (ps-print):
46071         * lisp/printing.el (printing):
46072         * lisp/outline.el (outlines):
46073         * lisp/lpr.el (lpr):
46074         * lisp/delim-col.el (columns): Use 'text' group instead of 'wp'.
46075         * lisp/cus-edit.el (wp): Remove the "text" tag.
46076         (text): New defgroup, inherits from the deprecated 'wp'.
46077         (outlines): Remove, in favor of the definition in outline.el.
46078         (tex): Inherit from 'text'.
46079         Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#24549)
46081 2016-10-08  Laimonas Vėbra  <laimonas.vebra@yahoo.com>  (tiny change)
46083         Extend dictionary and library-directory handling for Ispell
46085         * lisp/textmodes/ispell.el (ispell-check-version): Allow
46086         overriding LIBDIR via the variable defined by LIBRARYVAR (usually
46087         ISPELL_DICTDIR).
46088         (ispell-valid-dictionary-list): If the -d option to Ispell
46089         specifies an absolute file name, use that regardless of
46090         ispell-library-directory.  (Bug#24439)
46092 2016-10-07  Tassilo Horn  <tsdh@gnu.org>
46094         Fix unescaped \begin{...} in docstring
46096         * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib): Fix unescaped
46097         \begin{...} in docstring.
46099 2016-10-06  Noah Friedman  <friedman@splode.com>
46101         Update comment.
46103 2016-10-06  Eli Zaretskii  <eliz@gnu.org>
46105         Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
46107         * nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
46108         defining to avoid redefinition warnings.
46110         * nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
46111         inclusion of sys/stat.h from the system headers, which could then
46112         lead to compilation errors due to redefinition of 'struct stat'
46113         etc.  This is needed because latest versions of MinGW runtime
46114         include sys/stat.h from wchar.h.
46116         * src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
46117         redefine to 4 to avoid conflict between 2 definitions of
46118         MemoryBarrier.  (Bug#24613)
46120 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
46122         * lisp/url/url-parse.el (url-generic-parse-url): Unquote macro URL argument.
46124 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
46126         Autoload entry point testcover-start
46128         * lisp/emacs-lisp/testcover.el: Add autoload cookie for
46129         testcover-start.
46131 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
46133         Bump version of ntlm.el to 2.1.0
46135         * lisp/net/ntlm.el: Bump version to 2.1.0.
46137 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
46139         lisp/net/ntlm.el: Fix comment and docstring formatting
46141 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
46143         lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior
46145         * lisp/net/ntlm.el (ntlm-build-auth-request): Only set
46146         "negotiate domain supplied" bit when a domain is supplied.  Do
46147         not set "negotiate workstation supplied" bit.
46148         (ntlm-build-auth-response): Set domain to empty string by
46149         default.  Set workstation name to "WORKSTATION".  Set flags to
46150         logical and of Type 1 and Type 2 message flags.  Remove four
46151         trailing 0 bytes.  Always set LM response.  Hard-code domain
46152         offset.  Reorder buffer fields.
46154 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
46156         Document return value of `display-buffer-in-side-window'
46158         * doc/lispref/windows.texi (Displaying Buffers in Side Windows):
46159         * lisp/window.el (display-buffer-in-side-window): Describe
46160         return value of `display-buffer-in-side-window'.
46162 2016-10-05  Eli Zaretskii  <eliz@gnu.org>
46164         Improve wording in side windows documentation
46166         * doc/lispref/windows.texi (Displaying Buffers in Side Windows)
46167         (Side Window Options and Functions)
46168         (Frame Layouts with Side Windows): Minor wording improvements.
46170 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
46172         Document and fix some bugs with side windows
46174         Add a documentation for side windows and fix some bugs
46175         found when testing their behavior.  Also add a new window
46176         parameter `no-delete-other-window', a new `display-buffer'
46177         alist member called `window-parameters', and functions to
46178         toggle and reverse side windows on a frame.  Add new function
46179         `window-swap-states' to exchange states of two live windows.
46181         * lisp/window.el (display-buffer-in-atom-window): Use
46182         `split-window-no-error'.
46183         (window-sides-vertical): Maybe change layouts when setting this
46184         variable.
46185         (window-sides-reversed): New option.
46186         (window-sides-slots): Rewrite doc-string and help echoes.
46187         (window-sides-shown): New buffer-local variable set when showing
46188         a buffer in a side window.
46189         (window--sides-inhibit-check): New variable.
46190         (window--sides-reverse-on-frame-p, window-toggle-side-windows)
46191         (window--sides-reverse-all, window--sides-reverse-frame)
46192         (window--sides-reverse-side, window--sides-reverse)
46193         (window--sides-verticalize-frame, window--sides-verticalize)
46194         (window--sides-check-failed): New functions.
46195         (window--side-window-p): Remove function.
46196         (window--major-non-side-window): Rename to `window-main-window',
46197         adjust callers, rewrite doc-string.
46198         (window--major-side-window): Rename to
46199         `window--make-major-side-window-next-to', adjust caller, fix
46200         doc-string.
46201         (display-buffer-in-major-side-window): Rename to
46202         `window--make-major-side-window', adjust
46203         caller, rewrite doc-string.  Make `window-side' and
46204         `window-slot' parameters persistent (Bug#23858).  Don't set
46205         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
46206         (delete-side-window): Remove function.
46207         (display-buffer-in-side-window): Fix doc-string.  Don't set
46208         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
46209         (window--side-check): Rename to window--sides-check.  Rewrite
46210         completely.  Adjust caller.
46211         (window-resize-no-error): Don't describe PIXELWISE argument.
46212         (adjust-window-trailing-edge): Fix bug that disallowed
46213         re-enlarging windows that were too small.
46214         (window-deletable-p): Don't tell that a minibuffer window on a
46215         non-minibuffer-only frame can be deleted.  Fix doc-string.
46216         (delete-window): Handle deleting a side window here (the
46217         `delete-window' parameter is no more set for side windows).
46218         (delete-other-windows): Handle ‘no-delete-other-window'
46219         parameter. Don't treat side windows separately (see discussion
46220         of Bug#24368) but keep optimization that makes the main window
46221         the root window of its frame.
46222         (switch-to-prev-buffer, switch-to-next-buffer): Handle side
46223         windows and buffers shown in side windows separately.
46224         (split-window-no-error): New function.
46225         (window--state-get-1): Use right buffer when storing window
46226         point and start positions and WRITABLE is nil (Bug#24368).
46227         (window--state-put-1): Fix handling of `window-combination-limit'.
46228         Use `split-window-no-error'.
46229         (window--state-put-2): Try to restore windows with preserved
46230         size to their original size.  Fix bug where a fixed window's width
46231         was not preserved.
46232         (window-state-put): When reducing an internal window to a live
46233         one, don't choose a side window.
46234         (window-swap-states): New function.
46235         (window-splittable-p): Don't call `window--side-window-p'.
46236         (window--display-buffer): Handle `window-parameters' ALIST entry.
46237         Minor rewrite.
46238         (display-buffer): Mention `window-parameters' entry in
46239         doc-string.
46240         (display-buffer-at-bottom): Call `split-window-no-error'.
46242         * doc/lispref/elisp.texi (Top): New section "Side Windows".
46243         * doc/lispref/windows.texi (Deleting Windows): Fix descriptions
46244         of `delete-window' and `delete-other-windows' wrt window
46245         parameters and side windows.
46246         (Display Action Functions): Mention `window-parameters' ALIST
46247         entry.
46248         (Side Windows): New section (Bug#18170).
46249         (Window Configurations): Describe new function `window-swap-states'.
46250         (Window Parameters): Say that functions may behave specially when
46251         their homonymous window parameter has been set.  Mention new
46252         parameter `no-delete-other-window'.  Add cross reference for
46253         `window-side' and `window-slot' parameters.
46255 2016-10-04  John Wiegley  <johnw@newartisans.com>
46257         Add documentation note from Alex
46259 2016-10-04  Mark Oteiza  <mvoteiza@udel.edu>
46261         Avoid dynamic binding on a symbol
46263         Instead, bind history in the default minibuffer-history.
46264         Fixes bug#24580.
46265         * lisp/replace.el (query-replace-read-from): Let-bind
46266         minibuffer-history.  Change read-regexp and read-from-minibuffer's
46267         HISTORY arguments to nil so that they use minibuffer-history.
46269 2016-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
46271         * src/fileio.c (Finsert_file_contents): Fix hook handling (bug#24340)
46273         * src/fileio.c (Finsert_file_contents): Run before-change-hooks before
46274         deleting the old buffer content.
46275         * src/lisp.h (del_range_byte):
46276         * src/insdel.c (del_range_byte): Drop the last argument.
46277         * src/fns.c (Fbase64_encode_region): Adjust accordingly.
46279 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
46281         Ibuffer: 'w' and 'B' default to buffer at current line
46283         See discussion in:
46284         https://lists.gnu.org/r/emacs-devel/2016-09/msg00384.html
46285         * lisp/ibuffer.el (ibuffer--near-buffers): New defun;
46286         return buffers near current line.
46287         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
46288         Add argument ARG; if a non-zero integer, return next ARG buffers.
46289         Otherwise return the marked buffers.
46290         If there are not marked buffers, return buffer at current line
46291         without prompting the user.
46292         Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
46293         Append to kill ring when last command was a kill-region.
46294         (ibuffer-copy-filename-as-kill): Idem.
46295         Simplify the code.
46296         Use ibuffer-buffer-file-name instead of buffer-file-name to
46297         include buffers in Dired mode.
46299 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
46301         dired-mark-extension: Unmark if called with C-u prefix
46303         See discussion in #Bug2518 and:
46304         https://lists.gnu.org/r/emacs-devel/2016-09/msg00711.html
46305         * lisp/dired-x.el (dired-mark-extension):
46306         Update interactive calls: a prefix arg C-u unmark files;
46307         a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
46308         (dired-mark-sexp):
46309         Show in the prompt that we are unmarking if called with a prefix argument.
46310         * doc/misc/dired-x.texi (Advanced Mark Commands):
46311         Update documentation for 'dired-mark-extension'.
46313 2016-10-02  Karl Fogel  <kfogel@red-bean.com>
46315         Document yank behavior in the right place
46317         * lisp/simple.el (yank): Document the handling of the
46318         `yank-handled-properties' and `yank-excluded-properties' variables,
46319         and the `yank-handler' text property.
46320         (yank-pop): Refer to `yank' now (bug#286)
46322         * lisp/subr.el (insert-for-yank): Refer to `yank' now.
46323         (insert-for-yank-1): Refer to `insert-for-yank' now.
46325         See this thread for discussion:
46327           https://lists.gnu.org/r/emacs-devel/2016-09/threads.html#00329
46328           From: Karl Fogel
46329           To: Emacs Devel
46330           Subject: Question about intended behavior of 'insert-for-yank-1'.
46331           Date: Mon, 12 Sep 2016 00:17:14 -0500
46332           Message-ID: <874m5lr92d.fsf@red-bean.com>
46334 2016-10-02  Philipp Stephani  <phst@google.com>
46336         Restart blink cursor timers on interval changes
46338         This prevents surprising behavior when timer interval customizations are
46339         only applied whenever the timers happen to be restarted (see Bug#24372).
46341         * lisp/frame.el (blink-cursor--start-idle-timer)
46342         (blink-cursor--start-timer): New functions.
46343         (blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
46344         the new helper functions.
46345         (blink-cursor-delay, blink-cursor-interval): Restart timers when
46346         the value is changed.
46348 2016-10-01  Philipp Stephani  <phst@google.com>
46350         Use a simple keyword for a non-nil argument
46352         The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
46353         and non-nil values are distinguished.  Passing a number here is
46354         confusing.  Pass a descriptive symbol instead.
46356         * lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
46357         :repeat symbol instead of number for second argument of
46358         `run-with-idle-timer'
46360 2016-10-01  Philipp Stephani  <phst@google.com>
46362         Make querying to kill processes customizable
46364         Introduce a new customization option, `confirm-kill-processes', that
46365         users can set to nil if they don't want Emacs to nag them about killing
46366         processes.
46368         * lisp/files.el (confirm-kill-processes): New customization option.
46369         (save-buffers-kill-emacs): Use customization option.
46371         * test/lisp/files-tests.el
46372         (files-test--save-buffers-kill-emacs--confirm-kill-processes): Add
46373         test for new customization option.
46375         * doc/emacs/entering.texi (Exiting): Document new user option.
46377         * doc/lispref/processes.texi (Query Before Exit): Document new
46378         user option.
46380         * etc/NEWS: Document new user option.
46382 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
46384         Set :version of 'debugger-stack-frame-as-list'
46386         * lisp/cus-start.el (debugger-stack-frame-as-list): Give value to
46387         the ':version' attribute.
46389 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
46391         Bump Emacs version to 26.0.50
46393         * README:
46394         * configure.ac:
46395         * etc/NEWS:
46396         * etc/refcards/ru-refcard.tex:
46397         * msdos/sed2v2.inp:
46398         * src/msdos.c: Increment Emacs version to 26.0.50.
46399         * etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
46400         moved to etc/NEWS.
46402 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
46404         Avoid compilation warning on MinGW
46406         * src/w32.c: Include string.h, needed for the prototype of
46407         'strerror', shadowed by 'sys_strerror'.  This avoids a compiler
46408         warning about "no previous prototype".  The string.h header
46409         must be included after ms-w32.h, but before "#undef strerror".
46411 2016-09-30  Alan Third  <alan@idiocy.org>
46413         Fix compatibility with macOS 10.12 pmset (bug#24537)
46415         * lisp/battery.el (battery-pmset): Recognize and ignore battery id if
46416         present in output.
46418 2016-09-30  Paul Eggert  <eggert@cs.ucla.edu>
46420         Limit <config.h>’s includes
46422         This follows up on recent problems with the fact that config.h
46423         includes stdlib.h etc.; some files need to include stdlib.h later.
46424         config.h generally should limit itself to includes that are
46425         universally safe; outside of MS-Windows, only stdbool.h makes
46426         the cut among the files currently included.  So, move the
46427         other includes to just the files that need them (Bug#24506).
46428         * configure.ac (config_opsysfile): Remove, as this generic hook
46429         is no longer needed.
46430         * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
46431         * src/w32proc.c (_GNU_SOURCE):
46432         Remove, as it’s OK for config.h to do this now.
46433         * src/conf_post.h: Include <ms-w32.h>, instead of the generic
46434         config_opsysfile, for simplicity as this old way of configuring is
46435         now done only for the MS-Windows port.  Do not include <ms-w32.h>
46436         if DEFER_MS_W32_H, for the benefit of the few files that want its
46437         effects later.  Do not include <alloca.h>, <string.h>, or
46438         <stdlib.h>.  Other files modified to include these headers as
46439         needed, or to not include headers that are no longer needed.
46440         * src/lisp.h: Include <alloca.h> and <string.h> here, since
46441         some of the inline functions need them.
46442         * src/regex.c: Include <alloca.h> if not emacs.  (If emacs,
46443         we can rely on SAFE_ALLOCA.)  There is no longer any need to
46444         worry about HAVE_ALLOCA_H.
46445         * src/unexmacosx.c: Rely on config.h not including stdlib.h.
46446         * src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
46447         Define before including <config.h> first, and include <ms-w32.h>
46448         after the troublesome headers.
46450 2016-09-30  Vasilij Schneidermann  <v.schneidermann@gmail.com>
46452         New user option 'debugger-stack-frame-as-list'
46454         * src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
46455         variable.
46456         * lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
46457         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
46458         backtrace processing for the value of debugger-stack-frame-as-list.
46459         * lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
46460         processing for the value of debugger-stack-frame-as-list.
46461         * doc/lispref/debugging.texi (Internals of Debugger): Document
46462         debugger-stack-frame-as-list.
46463         * etc/NEWS: Mention 'debugger-stack-frame-as-list'.
46465 2016-09-30  Aurelien Aptel  <aaptel@suse.com>
46467         * src/alloc.c: call only non-null finalizers
46469 2016-09-30  Eli Zaretskii  <eliz@gnu.org>
46471         Avoid compiler warnings in image.c on MS-Windows
46473         * src/image.c (DrawText, g_type_init) [WINDOWSNT]: Avoid compiler
46474         warning about unused macros.
46476 2016-09-30  Paul Rankin  <hello@paulwrankin.com>
46478         * lisp/outline.el (outline-invisible-p): Only return `t' for
46479         the 'outline property.
46481 2016-09-29  Paul Eggert  <eggert@cs.ucla.edu>
46483         Fix problems found by static checking --with-ns
46485         This is for Fedora 24 when configured with --enable-gcc-warnings.
46486         Although it does not fix all the problems, it fixes many of them.
46487         * src/frame.c (XParseGeometry):
46488         * src/nsterm.m (mouseDown:):
46489         Mark locals with UNINIT to pacify --enable-gcc-warnings.
46490         * src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
46491         Remove unused macros.
46492         (slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
46493         (xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
46494         (xpm_put_color_table_v, xpm_get_color_table_v)
46495         (xpm_make_color_table_h, xpm_put_color_table_h)
46496         (xpm_get_color_table_h, xpm_load_image, xpm_load)
46497         (pbm_next_char, pbm_scan_number, pbm_load, svg_load)
46498         (svg_load_image):
46499         * src/nsfns.m (x_get_string_resource):
46500         * src/nsimage.m (ns_image_from_XBM):
46501         Fix pointer signedness problems.
46502         * src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
46503         (imagemagick_load_image): Omit unused locals.
46504         * src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
46505         (Fx_open_connection):
46506         * src/nsfont.m (ns_antialias_threshold):
46507         Move extern decl to nsterm.h so it can be checked.
46508         * src/nsmenu.m (svcsMenu, dockMenu):
46509         Move to the only file that uses them, so they can be static.
46510         * src/nsterm.h (find_and_call_menu_selection):
46511         * src/nsterm.m (x_set_frame_alpha):
46512         Omit duplicate decls.
46513         * src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
46514         * src/nsfns.m (ns_tooltip, ns_display_info_for_name)
46515         (ns_set_name_as_filename, x_set_menu_bar_lines)
46516         (x_set_tool_bar_lines, x_set_internal_border_width):
46517         * src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
46518         Now static.
46519         * src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
46520         * src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
46521         Remove; unused.
46522         * src/nsfont.m (ns_dump_glyphstring):
46523         * src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
46524         (ns_clear_frame, keyDown:):
46525         Fix signedness problem with printf arg.
46526         * src/nsterm.h (ns_input_events, ns_finish_events):
46527         * src/nsterm.m (ns_finish_events, hide_bell):
46528         Prototype the decls.
46529         * src/nsterm.m (NSMenuDidBeginTrackingNotification):
46530         Omit unnecessary decl.
46531         (dockMenu):
46532         (mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
46533         (ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
46534         (toggleFullScreen:): Use FACE_FROM_ID instead of
46535         FACE_FROM_ID_OR_NULL in contexts where the caller expects the
46536         result to be non-null.
46537         (applicationShouldTerminate:): Fix misleading indentation.
46539 2016-09-28  Mark Oteiza  <mvoteiza@udel.edu>
46541         Turn on more lexical-binding
46543         * lisp/dom.el:
46544         * lisp/faces.el:
46545         * lisp/htmlfontify.el: Turn on lexical-binding.
46546         (htmlfontify-string): Use pushnew instead of add-to-list.
46547         * lisp/info-xref.el:
46548         * lisp/isearch.el:
46549         * lisp/man.el:
46550         * lisp/ps-def.el:
46551         * lisp/ps-print.el:
46552         * lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
46553         time.
46554         (multi-occur): Use cl-pushnew instead of add-to-list.
46555         (replace-match-string-symbols): Remove unused lexical variable.
46556         (replace-search, replace-highlight): Fix argument shadowing.
46557         * lisp/sort.el:
46558         * lisp/xml.el: Turn on lexical-binding.
46559         (xml--parse-buffer): Use push instead of add-to-list.
46560         * lisp/xt-mouse.el: Turn on lexical-binding.
46562 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
46564         * admin/notes/bug-triage: Do not mention closed bugs
46566         * admin/notes/bug-triage: Do not mention closed bugs, they are
46567         suppressed by default in debbugs-{gnu,org}.
46569 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
46571         * etc/PROBLEMS: Remove problem Bug#22814, again.
46573 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
46575         Stick with debbugs-supported tags in triage
46577         * admin/notes/bug-triage: Stick to the tag "unreproducible", which
46578         debbugs supports, rather than suggesting "doneunreproducible" or
46579         "unreproducable".
46581 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
46583         Merge from origin/emacs-25
46585         9fc9988 Improve documentation of 'expand-abbrev' and wrapper hooks
46586         c14a1d4 Minor copyedits of MS-Windows installation instructions
46587         f281924 Fix display of cursor when 'blink-cursor-delay' has small value
46589         # Conflicts:
46590         #       lisp/minibuffer.el
46592 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
46594         Merge from origin/emacs-25
46596         0ae9a81 Document 'timerp'
46597         2c72c46 Improve documentation of overlay priorities
46598         f6fa160 Fix 'dired-compress-files'
46599         2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR
46601         # Conflicts:
46602         #       lisp/dired.el
46603         #       src/buffer.h
46604         #       src/character.h
46606 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
46608         Merge from origin/emacs-25
46610         cf9e174 Document the optional zlib library in MS-Windows builds
46611         84eb144 ; * admin/notes/unicode: Mention BidiCharacterTest.txt.
46612         73c67dd Fix tagging of DEFUN by etags
46613         ea1960b Avoid resetting track-mouse by mouse clicks
46614         505fef3 Improve nt/README.W32 instructions
46615         1229cc4 Document that desktop file overrides frame parameters
46616         f0eb70d ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 release
46618         # Conflicts:
46619         #       ChangeLog.2
46620         #       admin/notes/unicode
46621         #       lisp/ldefs-boot.el
46623 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
46625         Merge from origin/emacs-25
46627         0ffc9ce Update admin/authors.el
46628         0ad7410 Update Antinews in ELisp manual
46629         ea0f750 Fix comments on window height macros
46630         0bbdeed Fix 'url-http-create-request' when cookies are used
46631         0045998 Fix cross reference in frames.texi
46632         1392894 ; * etc/DEBUG: Minor copyedits.
46633         304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
46634         56bf7d7 Fix regexp-opt documentation (bug #17862)
46635         803ad6f ; Fix documentation of seq-subseq
46636         ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
46637         88ea396 ; Spelling fixes
46638         17197d0 Fix tags-query-replace docstring
46639         80a7f8b Clarify documentation of precision in format specs
46640         88a5052 Improve and clarify documentation of subprocesses
46641         89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).
46643         # Conflicts:
46644         #       etc/PROBLEMS
46645         #       src/process.c
46647 2016-09-26  Michael Albinus  <michael.albinus@gmx.de>
46649         * lisp/net/tramp-compat.el (tramp-compat-funcall): Don't use `subrp'.
46651 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
46653         Fix 'dired-mark-extension' with prefix argument
46655         * lisp/dired-x.el (dired-mark-extension): Allow to specify
46656         MARKER-CHAR interactively as a string, not as a character's
46657         codepoint.  (Bug#24518)
46659         * doc/misc/dired-x.texi (Advanced Mark Commands): Document the
46660         behavior when invoked with a prefix arg.
46662 2016-09-24  Simen Heggestøyl  <simenheg@gmail.com>
46664         Support completion of classes and IDs in CSS mode
46666         * lisp/textmodes/css-mode.el (css-class-list-function): New variable
46667         holding the function to call for retrieving completions of class
46668         names.
46669         (css-id-list-function): New variable holding the function to call for
46670         retrieving completions of IDs.
46671         (css--foreign-completions): New function for retrieving completions
46672         from other buffers.
46673         (css--complete-selector): Support completing HTML class names and IDs
46674         from other buffers in addition to completing HTML tags.
46676         * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache): New
46677         variable holding a cache for `html-current-buffer-classes'.
46678         (html--buffer-ids-cache): New variable holding a cache for
46679         `html-current-buffer-ids'.
46680         (html-current-buffer-classes): New function returning a list of class
46681         names used in the current buffer.
46682         (html-current-buffer-ids): New function returning a list of IDs used
46683         in the current buffer.
46684         (html-mode): Set `css-class-list-function' and `css-id-list-function'
46685         to `html-current-buffer-classes' and `html-current-buffer-ids'
46686         respectively.
46688 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
46690         Update test suite files due to removal of test/lisp/legacy
46692         * test/README: Reference file-organization.org.
46693         * test/file-organization.org: Remove the description of files in
46694         the lisp/legacy/ directory.
46696 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
46698         Incorporate syntax-tests in lisp-tests.
46700         * test/lisp/emacs-lisp/lisp-tests.el: Add tests from
46701         test/lisp/legacy/syntax-tests.el.
46702         * test/lisp/legacy/syntax-tests.el: File deleted.
46704 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
46706         Incorporate occur-tests in replace-tests
46708         * test/lisp/replace-tests.el: Add tests from
46709         test/lisp/legacy/occur-tests.el.
46710         * test/lisp/legacy/occur-tests.el: File deleted.
46712 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
46714         Incorporate lexbind-tests.el in bytecomp-test.el
46716         * test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from
46717         test/lisp/legacy/lexbind-tests.el.
46718         * test/lisp/legacy/lexbind-tests.el: File deleted.
46720 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
46722         Improve integer overflow handling a bit
46724         * src/charset.c (read_hex): Use INT_LEFT_SHIFT_OVERFLOW for clarity.
46725         The machine code is the same on my platform.
46726         * src/doprnt.c (doprnt):
46727         * src/emacs-module.c (module_funcall):
46728         * src/font.c (font_intern_prop):
46729         * src/keyboard.c (Frecursion_depth):
46730         * src/lread.c (read1):
46731         Use WRAPV macros instead of checking overflow by hand.
46732         * src/editfns.c (hi_time, time_arith, decode_time_components):
46733         * src/emacs-module.c (Fmodule_load):
46734         Simplify by using FIXNUM_OVERFLOW_P.
46735         * src/emacs-module.c: Include intprops.h.
46736         * src/xdisp.c (percent99): New function.
46737         (decode_mode_spec): Use it to simplify overflow avoidance and
46738         formatting of %p and %P.
46740 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
46742         Incorporate core-elisp-tests in lisp-tests
46744         * test/lisp/emacs-lisp/lisp-tests.el: Added tests from
46745         test/lisp/legacy/core-elisp-tests.el.
46746         * test/lisp/legacy/core-elisp-tests.el: File removed.
46748 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
46750         Move coding-tests.el and decoder-test.el to their places
46752         * test/src/coding-tests.el: Added all the tests from
46753         test/lisp/legacy/decoder-tests.el.
46754         * test/lisp/legacy/decoder-tests.el: File deleted.
46756 2016-09-23  Vibhav Pant  <vibhavp@gmail.com>
46758         Use correct TYPE value for displaying error messages in (erc-display-message)
46760 2016-09-23  Eli Zaretskii  <eliz@gnu.org>
46762         Bump the version to 25.2.50
46764         * README:
46765         * configure.ac:
46766         * etc/NEWS:
46767         * msdos/sed2v2.inp: Increment the Emacs version to 25.2.50.
46769 2016-09-22  Tino Calancha  <tino.calancha@gmail.com>
46771         ibuffer-do-view-other-frame: Display each buffer in a new frame
46773         * lisp/ibuffer.el (ibuffer-do-view-1):
46774         When TYPE equals 'other-frame, then display each buffer
46775         in a new frame (Bug#24086).
46777 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
46779         Update from gnulib
46781         This incorporates:
46782         2016-09-22 stdint: port to GCC 7
46783         2016-09-22 limits-h, stdint: don't assume extensions
46784         * doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib.
46786 2016-09-22  Alan Mackenzie  <acm@muc.de>
46788         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix coding error
46790 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
46792         Port recent flexmember changes to NetBSD
46794         The NetBSD library supports localtime_rz directly, and without
46795         this change 'configure' omitted the flexmember test that is marked
46796         as conditional on localtime_rz.  Emacs now needs to use
46797         flexmember.m4 even when localtime_rz works.
46798         Problem reported by Thomas Klausner.
46799         * admin/merge-gnulib (GNULIB_MODULES): Add flexmember.
46800         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
46802 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
46804         * doc/misc/texinfo.tex: Copy from gnulib.
46806 2016-09-21  Michael Albinus  <michael.albinus@gmx.de>
46808         * lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'.
46810 2016-09-20  Paul Eggert  <eggert@cs.ucla.edu>
46812         Use flexmembers on IBM XL C for AIX
46814         This removes a workaround where Emacs did not use flexible
46815         array members when compiled with IBM XL C.  Instead, avoid
46816         the problem by making the aliasing issues more obvious to
46817         this compiler.
46818         * admin/merge-gnulib: Don’t remove m4/flexmember.m4.
46819         * m4/flexmember.m4: Copy from gnulib.
46820         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround.
46821         * src/alloc.c (allocate_string_data): Rephrase to avoid aliasing
46822         problem that would otherwise mess up code generated for flexible
46823         array members by IBM XL C for AIX, V12.1.
46824         * src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done
46825         by gnulib code.
46827 2016-09-19  Michael Albinus  <michael.albinus@gmx.de>
46829         Fix a problem with Tramp when the temporary dir isn't C:/Temp on w32
46831         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): Don't use
46832         `tramp-drop-volume-letter' any longer, it causes collateral
46833         damages.  Reported by Chris Zheng <chriszheng99@gmail.com>.
46835 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
46837         Port January __morecore changes to AIX 7.1
46839         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE, __morecore)
46840         (__after_morecore_hook):
46841         * src/ralloc.c (__morecore):
46842         Declare if DOUG_LEA_MALLOC is not defined, not if HAVE_MALLOC_H is
46843         not defined.  <malloc.h> does not declare these in AIX 7.1.
46845 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
46847         Define _GNU_SOURCE in files delaying config.h
46849         Problem reported by Richard Copley in:
46850         https://lists.gnu.org/r/emacs-devel/2016-09/msg00440.html
46851         * src/w32.c, src/w32notify.c, src/w32proc.c (_GNU_SOURCE):
46852         Define early.
46854 2016-09-17  Eli Zaretskii  <eliz@gnu.org>
46856         Update the bidi test code and data
46858         * test/manual/BidiCharacterTest.txt: Import the version from
46859         Unicode Standard 9.0.0.
46860         * test/manual/biditest.el (biditest-generate-testfile): Allow 'x'
46861         in the 4th field of the test data.
46863 2016-09-17  Tino Calancha  <tino.calancha@gmail.com>
46865         ibuffer-do-toggle-read-only: Fix unused argument
46867         * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call
46868         'read-only-mode' with ARG when its an integer.
46869         Clarify the meaning of ARG in doc string.
46871 2016-09-17  Alan Mackenzie  <acm@muc.de>
46873         Improve accuracy of line/column numbers in byte compiler's warning messages.
46875         * lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new
46876         value of byte-compile-last-position is not lower than old value.
46877         (byte-compile-function-warn): call byte-compile-set-symbol-position.
46879 2016-09-17  Michael Albinus  <michael.albinus@gmx.de>
46881         Minor Tramp tweaks
46883         * lisp/net/tramp.el (tramp-get-buffer): Reuse connection
46884         property "process-buffer" if already existing.
46885         (tramp-connectable-p): Suppress debug messages.
46887 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
46889         Define _GNU_SOURCE in unexmacosx.c
46891         Problem reported by Bob Halley in:
46892         https://lists.gnu.org/r/emacs-devel/2016-09/msg00427.html
46893         * src/unexmacosx.c (_GNU_SOURCE): Define if not already defined.
46895 2016-09-16  Alan Mackenzie  <acm@muc.de>
46897         C Mode: Fix mis-fontification of macro invocation as function declaration
46899         This happened with a macro invocation which was followed by a statement block
46900         in braces.
46902         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
46903         between contexts nil and top, being less permissive in the former case.
46904         (c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.
46906 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
46908         Improve the doc string of 'format'
46910         * src/editfns.c (Fformat): Fix ambiguity in the doc string's usage
46911         of a literal period.  (Bug#24407)
46913 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
46915         Improve doc strings in whitespace.el
46917         * lisp/whitespace.el (whitespace-mode, whitespace-newline-mode)
46918         (global-whitespace-mode, global-whitespace-newline-mode): Improve
46919         the doc strings.  (Bug#24413)
46921 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
46923         Improve detectability of 'next-logical-line' and 'previous-logical-line'
46925         * lisp/simple.el (next-line, previous-line): Mention
46926         'next-logical-line' and 'previous-logical-line' in the doc
46927         strings.  (Bug#24443)
46929 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
46931         Update from gnulib
46933         This incorporates:
46934         2016-09-16 extensions: fix typo in comment
46935         2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
46936         * m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.
46938 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46940         Prefer now-standard int width macros
46942         * src/data.c (ULL_WIDTH):
46943         * src/lisp.h (EMACS_INT_WIDTH, BITS_PER_BITS_WORD):
46944         * src/lread.c (read_integer):
46945         * src/term.c (produce_glyphless_glyph):
46946         * src/xterm.c (x_send_scroll_bar_event):
46947         Use *_WIDTH macros instead of CHAR_BIT * sizeof.
46948         * src/data.c (ULL_WIDTH): Rename from BITS_PER_ULL for consistency
46949         with the *_WIDTH standard macros.  All uses changed.
46950         * src/gmalloc.c (INT_BIT): Remove.  All uses replaced with INT_WIDTH.
46951         * src/lisp.h (EMACS_INT_WIDTH): Rename from BITS_PER_EMACS_INT
46952         for consistency with the *_WIDTH standard macros.  All uses changed.
46953         (BITS_PER_CHAR): Remove; all uses replaced by CHAR_BIT.  This must
46954         be the same as CHAR_WIDTH and avoids confusion with Elisp
46955         char-width, which counts columns not bits.
46956         (BITS_PER_SHORT): Remove; all uses replaced by SHRT_WIDTH.
46957         (BITS_PER_LONG): Remove; all uses replaced by LONG_WIDTH.
46958         * src/lread.c: Do not include limits.h since CHAR_BIT is no longer
46959         used directly.
46961 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
46963         Update from gnulib
46965         This incorporates:
46966         2016-09-15 stdint: support new _WIDTH macros
46967         2016-09-15 limits-h: new module
46968         2016-09-15 sys_types: avoid glibc 2.25 warnings about major()
46969         2016-09-15 extensions: port to more ISO C TSes
46970         2016-09-13 intprops: new macro TYPE_WIDTH
46971         2016-09-13 extensions: port to recent ISO C TRs
46972         * .gitignore: Add lib/limits.h.
46973         * doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h:
46974         * lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
46975         * m4/sys_types_h.m4: Copy from gnulib.
46976         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
46977         * lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib.
46978         * nt/gnulib.mk: Merge changes from lib/gnulib.mk.
46980 2016-09-15  Michael Albinus  <michael.albinus@gmx.de>
46982         Rework fixing Bug#24432
46984         * lisp/net/tramp.el (tramp-get-buffer): Set connection property
46985         "process-buffer" in order to mark connection as active.
46987         * lisp/net/tramp-cache.el (tramp-get-hash-table)
46988         (tramp-set-connection-property)
46989         (tramp-dump-connection-properties): Do not use "active" property.
46990         (tramp-list-connections): Use "process-buffer" property.
46992         * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process
46993         properties prior deletion of process.
46995 2016-09-14  Johan Bockgård  <bojohan@gnu.org>
46997         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430).
46999         * lisp/emacs-lisp/edebug.el (defun): Fix debug spec.
47001 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
47003         Avoid compiler warning on MS-Windows due to clone_file
47005         * src/fileio.c (clone_file): Condition on !WINDOWSNT, since the
47006         call to it is not compiled in that build, and having it defined
47007         causes compiler warnings.
47009 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
47011         Avoid aborts in GC due to abort_on_gc
47013         * src/lisp.h:
47014         * src/print.c (Fprin1_to_string):
47015         * src/eval.c (signal_or_quit):
47016         * src/alloc.c (garbage_collect_1): Remove declarations, setting,
47017         and testing the value of abort_on_gc.  It is no longer needed, and
47018         using it causes rare aborts in GC for no good reason.  (Bug#23912)
47020 2016-09-14  Michael Albinus  <michael.albinus@gmx.de>
47022         Fix Bug#24432
47024         * lisp/net/tramp-cache.el (tramp-get-hash-table): Initialize a
47025         connection as inactive.
47026         (tramp-set-connection-property): Make the connection active.
47027         (tramp-dump-connection-properties): Don't save "active" property.
47028         (tramp-list-connections): List only active connections.  (Bug#24432)
47030 2016-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
47032         Don't bug out on all-whitespace URLs
47034         * lisp/net/shr.el (shr-expand-url): Don't bug out on
47035         degenerate all-whitespace URLs.
47037 2016-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
47039         sieve-manage.el: Rename sieve-manage-ignore-broken-tls
47041         * lisp/net/sieve-manage.el (sieve-manage-ignore-starttls):
47042         Rename from sieve-manage-ignore-broken-tls.  If it is set,
47043         sieve-manage will never use STARTTLS even if the server says
47044         it is capable (but may be broken).
47046 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
47048         Port to ISO/IEC TS 18661-1:2014
47050         * src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH.
47051         All uses changed.
47053 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
47055         dired-jump: Expand file-name before dired-goto-file call
47057         Command dired-goto-file requires its argument to be an absolute
47058         file name.  Interactively FILE-NAME is read with read-file-name,
47059         which could return an abbreviated file name (Bug#24409).
47060         * lisp/dired-x.el (dired-jump): Use expand-file-name on FILE-NAME.
47061         Clarify in doc string the meaning of arg FILE-NAME.
47063 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
47065         Add test for Bug#21454
47067         * test/lisp/legacy/files-tests.el (files-test-bug-21454): New test.
47069 2016-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
47071         * lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): Add :version.
47073 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
47075         sieve.el: Make the buffer to edit unmodified initially (bug#24423)
47077         * lisp/net/sieve.el (sieve-edit-script):
47078         Make the buffer to edit be not modified-p initially (bug#24423).
47080 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
47082         sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)
47084         * lisp/net/sieve-manage.el
47085         (sieve-manage-ignore-broken-tls): New user option.
47086         (sieve-manage-open-server):
47087         Don't test STARTTLS capability if the option is set (bug#24422).
47089 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
47091         Fix compiler thinking width and height may be unitialized in frame.c
47093         This fixes the following warning:
47095                 frame.c: In function ‘x_set_frame_parameters’:
47096                 frame.c:3329:25: error: ‘width’ may be used uninitialized in
47097                         this function [-Werror=maybe-uninitialized]
47098                        adjust_frame_size (f, width_change ? width : -1,
47099                                  ^
47101         * src/frame.c (x_set_frame_parameters): Drop width_changed and
47102         height_changed variables in favor of storing that information in
47103         width and height variables.
47105 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
47107         Fix compiler thinking tmpdir may be unitialized in emacsclient
47109         This fixes the following warning:
47111                 emacsclient.c: In function ‘set_local_socket’:
47112                 /usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error:
47113                         ‘tmpdir’ may be used uninitialized in this function
47114                         [-Werror=maybe-uninitialized]
47115                    return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
47116                    ^
47117                 emacsclient.c:1197:17: note: ‘tmpdir’ was declared here
47118                      const char *tmpdir;
47120         * lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir
47121         variable and instead use tmpdir being non-NULL as sign that it should
47122         be used.
47124 2016-09-12  Tino Calancha  <tino.calancha@gmail.com>
47126         image-dired: Signal an error before calling a missing executable
47128         Reverts commit ca473907
47129         Add a defun to check if an executable exists, and call it
47130         on each function using an external program: when the executable
47131         is not available signal an error.
47132         See discussion on:
47133         https://lists.gnu.org/r/emacs-devel/2016-09/msg00135.html
47134         * lisp/image-dired.el (image-dired--check-executable-exists): New defun.
47135         Throw and error when the executable arg is missing.
47136         (image-dired-display-image, image-dired-rotate-thumbnail)
47137         (image-dired-rotate-original, image-dired-set-exif-data)
47138         (image-dired-get-exif-data):
47139         Use it.
47141 2016-09-12  Eli Zaretskii  <eliz@gnu.org>
47143         Fix daemon shutdown when emacs-kill-hooks ask questions
47145         * lisp/server.el (server-start): Put the server's kill-emacs-hook
47146         last, to allow other hooks to have a frame to interact with the
47147         user.  (Bug#24326)
47149 2016-09-12  Paul Eggert  <eggert@cs.ucla.edu>
47151         * src/casefiddle.c (casify_word): Simplify.
47153         * src/casefiddle.c (casify_word): Return Qnil.
47155 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
47157         Refactor common code in {upcase,downcase,capitalize}-word functions
47159         * src/casefiddle.c (operate_on_word): Removed in favor of…
47160         (casify_word) …new function which does what operate_on_word did plus
47161         what all of the common code from *-word functions.
47162         (upcase-word, downcase-word, capitalize-word): Move code common between
47163         those functions (pretty much the whole body of those functions) into
47164         casify_word and use that instead of now deleted operate_on_word.
47166 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
47168         * doc/lispref/files.texi: Remove @vindex.
47170 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
47172         Remove unnecessary ref to coreutils manual
47174         * doc/lispref/files.texi: Document write-region-inhibit-fsync.
47176 2016-09-11  Alan Mackenzie  <acm@muc.de>
47178         Correctly fontify C++ direct initializations with parens inside functions
47180         Or, more clearly, when something looks like a function declaration and it's
47181         inside a function, fontify it as a direct initialization.
47183         For this purpose, introduce a "brace stack" for each buffer, where an entry on
47184         the brace stack states how deeply nested a particular position is inside
47185         braces inside a "top level", which includes classes and namespaces.
47187         Also introduce a new "context", "top", with which c-font-lock-declarations
47188         signals to c-forward-decl-or-cast-1 that point is at the top level.
47190         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add
47191         c-truncate-bs-cache.
47192         (c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key)
47193         (c-type-decl-operator-prefix-key): new language constants/variables.
47195         * lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit)
47196         (c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace
47197         stack cache.
47198         (c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at)
47199         (c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache).
47200         (c-find-decl-prefix-search): Keep track of whether we're at top level.
47201         (c-find-decl-spots): New local variable cfd-top-level which records what it
47202         says.  On calling cfd-fun, pass cfd-top-level as an additional argument.
47203         (c-forward-declarator): Add new element DECORATED to the result list.  Set it
47204         to non-nil when a match for c-type-decl-operator-prefix-key is found.
47205         (c-forward-decl-or-cast-1): Handle the newly introduced context "top".
47206         Introduce "CASE 9.5", which recognizes direct initializations.
47208         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
47209         (c-font-lock-enum-tail, c-font-lock-cut-off-declarators)
47210         (c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after):
47211         Add appropriate `not-top' argument to calls to c-font-lock-declarators.
47212         (c-font-lock-declarators): Additional parameter `not-top'.  Use not-top to
47213         participate in the decision whether to fontify an identifier as a function or
47214         a variable.
47215         (c-font-lock-declarations): The internal lambda function takes an additional
47216         argument `toplev' from c-find-decl-spots, which it uses in determining the
47217         "context" of a declaration.  Add appropriate `not-top' argument to calls to
47218         c-font-lock-declarators.
47219         (c-font-lock-objc-methods): Add extra parameter to internal lambda function,
47220         like for c-font-lock-declarators.
47222         * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack
47223         cache.
47225 2016-09-11  Eli Zaretskii  <eliz@gnu.org>
47227         Avoid signaling errors when computing "Stop" in GDB menu
47229         * lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume
47230         'gdb-running-threads-count' must have a numeric value.
47231         (Bug#24414)
47233 2016-09-11  Philipp Stephani  <phst@google.com>
47235         Stop calling ‘byte-compile-log-warning’
47237         For errors, use ‘byte-compile-report-error’ instead so that the error
47238         is registered and causes compilation to fail (Bug#24359).
47240         For warnings, use ‘byte-compile-warn’ instead so that
47241         ‘byte-compile-error-on-warn’ is honored (Bug#24360).
47243         * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
47244         (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
47245         ‘byte-compile-log-warning’.
47247         * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
47248         (byte-compile-setq, byte-compile-funcall): Use
47249         ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
47250         (byte-compile-log-warning): Convert comment to documentation
47251         string.  Explain that the function shouldn’t be called directly.
47252         (byte-compile-report-error): Add optional FILL argument.
47254         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
47255         (cconv--analyze-function, cconv-analyze-form): Use
47256         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
47258         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
47259         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
47261         * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
47262         of ‘byte-compile-log-warning’.
47263         (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
47264         ‘byte-compile-log-warning’.
47266 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
47268         * etc/NEWS: Remove comment lost in emacs-25 merge.
47270 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
47272         Document file synchronization issues
47274         * doc/lispref/files.texi (Files and Storage): New section.
47276 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
47278         copy-file now uses GNU/Linux file cloning
47280         From a suggestion by Kieran Colford (see Bug#23904).
47281         * configure.ac: Check for linux/fs.h.
47282         * src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h.
47283         (clone_file): New function.
47284         (Fcopy_file): Use it.
47286 2016-09-10  Alan Third  <alan@idiocy.org>
47288         Invert y coord of NS image files (bug#7847)
47290         * src/nsterm.m (ns_dumpglyphs_image): Invert y co-ordinate of the image
47291         when compositing.
47293 2016-09-10  Noam Postavsky  <npostavs@gmail.com>
47295         Don't require isearch-update before isearch-done
47297         It is useful to be able to call `isearch-done' unconditionally to
47298         ensure a non-isearching state.
47300         * lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
47301         is a live buffer before using it (Bug #21091).
47302         * test/lisp/isearch-tests.el (isearch--test-done): Test it.
47304 2016-09-09  Simen Heggestøyl  <simenheg@gmail.com>
47306         * lisp/emacs-lisp/ring.el: Use lexical-binding
47308         * lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT
47309         argument of `dotimes' when the iteration variable isn't referred by
47310         it.
47311         (ring-member): Don't pass nil as the RESULT argument of `dotimes'
47312         since it's the default.
47314 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
47316         Split regex character class test into smaller chunks
47318         Having one test for all character classes it is not always trivial to
47319         determine which class is failing.  This happens when failure is caused
47320         by ‘(should (equal (point) (point-max)))’ not being met.
47322         With per-character class tests, it is immidiatelly obvious which test
47323         causes issues plus tests for all classes are run even if some of them
47324         fail.
47326         * test/src/regex-tests.el (regex-character-classes): Delete and split
47327         into…
47328         (regex-tests-alnum-character-class, regex-tests-alpha-character-class,
47329         regex-tests-ascii-character-class, regex-tests-blank-character-class,
47330         regex-tests-cntrl-character-class, regex-tests-digit-character-class,
47331         regex-tests-graph-character-class, regex-tests-lower-character-class,
47332         regex-tests-multibyte-character-class,
47333         regex-tests-nonascii-character-class,
47334         regex-tests-print-character-class, regex-tests-punct-character-class,
47335         regex-tests-space-character-class,
47336         regex-tests-unibyte-character-class,
47337         regex-tests-upper-character-class, regex-tests-word-character-class,
47338         regex-tests-xdigit-character-class): …new tests.
47340 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
47342         Don’t allocate char-table’s extra slots in regexp-out-charset
47344         * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use
47345         'case-table as charmap char-table’s property.  The function has nothing
47346         to do with casing and in addition using 'case-table causes unnecessary
47347         extra slots to be allocated which ‘regexp-opt-charset’ does not use.
47349 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
47351         Remove dead loop iterations in regex.c
47353         RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8
47354         character for c ≥ 0x80.  Furthermore, CHAR_BYTE8_P(c) is true only
47355         for byte8 characters.  This means that
47357                 c = RE_CHAR_TO_MULTIBYTE (ch);
47358                 if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc))
47360         is equivalent to:
47362                 c = c;
47363                 if (! false && re_iswctype (c, cc))
47365         for 0 ⪬ c < 0x80, and
47367                 c = BYTE8_TO_CHAR (c);
47368                 if (! true && re_iswctype (c, cc))
47370         for 0x80 ⪬ c < 0x100.  In other words, the loop never executes for
47371         c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80.
47373         * src/regex.c (regex_compile): Simplyfy a for loop by eliminating
47374         dead iterations and unnecessary macro calls.
47376 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
47378         Replace decimalnump with alphanumericp
47380         decimalnump was used in regex.c only in ISALNUM macro which ored it with
47381         alphabeticp.  Because both of those functions require Unicode general
47382         category lookup, this resulted in unnecessary lookups (if alphabeticp
47383         return false decimalp had to perform another lookup).  Drop decimalnump
47384         in favor of alphanumericp which combines decimelnump with alphabeticp.
47386         * src/character.c (decimalnump): Remove in favor of…
47387         (alphanumericp): …new function.
47389         * src/regex.c (ISALNUM): Use alphanumericp.
47391 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
47393         Remove inaccurate comment in regex.c
47395         * src/regex.c (regex_compile): Remove comment indicating that wctype of
47396         some character classes may be negative.  All wctypes are in fact
47397         non-negative.
47399 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
47401         STRING_CHAR does not unify characters; update documentation
47403         * src/character.h (STRING_CHAR): Update doc.
47404         * src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc.  While at it, change
47405         the function to use BYTE_POS_ADDR instead of open-coding it.
47407 2016-09-08  Simen Heggestøyl  <simenheg@gmail.com>
47409         Add tests for ring.el
47411         * test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el.
47413 2016-09-07  Martin Rudalics  <rudalics@gmx.at>
47415         New file test/src/marker-tests.el
47417 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
47419         Port flexible array members to GCC + valgrind
47421         These changes are needed to conform to the C standard's rule for
47422         allocating structs containing flexible array members.  C11 says
47423         that malloc (offsetof (struct s, m) + n) does not suffice to
47424         allocate a struct with an n-byte tail; instead, malloc’s arg
47425         should be rounded up to the nearest multiple of alignof (struct s).
47426         Although this is arguably a defect in C11, gcc -O2 + valgrind
47427         sometimes complains when this rule is violated, and when debugging
47428         it’s better to keep valgrind happy.
47429         For details please see the thread containing the message at:
47430         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html
47431         * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c:
47432         Include flexmember.h.
47433         * lib-src/ebrowse.c (add_sym, add_member, make_namespace)
47434         (register_namespace_alias):
47435         * src/alloc.c (SDATA_SIZE, allocate_string_data):
47436         * src/image.c (xpm_cache_color, imagemagick_create_cache):
47437         * src/process.c (Fmake_network_process):
47438         Use FLEXSIZEOF instead of offsetof and addition.
47439         * src/alloc.c (SDATA_SIZE, vector_alignment):
47440         Use FLEXALIGNOF instead of sizeof (ptrdiff_t).
47441         * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR):
47442         Remove, as alloc.c can now calculate this on its own.
47444 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
47446         Update from gnulib
47448         This incorporates:
47449         2016-09-07 flexmember: new macro FLEXALIGNOF
47450         2016-09-07 flexmember: port better to GCC + valgrind
47451         2016-08-18 Port modules to use getprogname explicitly
47452         2016-09-02 manywarnings: add -fno-common
47453         * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember,
47454         since time_rz now uses part of it.  Instead, remove m4/flexmember.m4.
47455         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away,
47456         since Emacs assumes C99 and therefore removes m4/flexmember.m4.
47457         * lib/euidaccess.c, lib/group-member.c, lib/time_rz.c:
47458         * m4/manywarnings.m4: Copy from gnulib.
47459         * lib/flexmember.h: New file, from gnulib.
47460         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
47462 2016-09-07  Noam Postavsky  <npostavs@gmail.com>
47464         Don't --load directories
47466         * lisp/startup.el (command-line-1): Only pass expanded FILENAME argument
47467         of --load when it refers to a normal file, since `load' doesn't handle
47468         directories (Bug #16406).
47470 2016-09-07  Peder O. Klingenberg  <peder@klingenberg.no>
47472         Avoid error in icalendar--read-element
47474         * lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
47475         stack overflow by not using regex to extract values from calendar
47476         events. (Bug#24315)
47478 2016-09-07  Kaushal Modi  <kaushal.modi@gmail.com>
47480         Fix back-white <-> black-white typo
47482         * lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308)
47484 2016-09-07  Alan Third  <alan@idiocy.org>
47486         Fix cursor at bottom left of rectangle (bug#24364)
47488         * lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't
47489         require rectangle--point-crutches to be set.
47491 2016-09-07  Eli Zaretskii  <eliz@gnu.org>
47493         Fix documentation of convert-standard-filename on MS-Windows
47495         * lisp/files.el (convert-standard-filename): Doc fix.  (Bug#24387)
47497         * etc/NEWS: Suggest a way for mirroring slashes where previously
47498         'convert-standard-filename' was used.
47500 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
47502         Use DEV_TTY more consistently
47504         * src/conf_post.h (DEV_TTY): Move from here ...
47505         * src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need
47506         to be visible everywhere.  Make it a constant.
47507         * src/keyboard.c (handle_interrupt, Fset_quit_char):
47508         * src/process.c (create_process): Prefer DEV_TTY to "/dev/tty".
47510 2016-09-06  Eli Zaretskii  <eliz@gnu.org>
47512         Avoid assertion violations when using marker positions
47514         * src/intervals.c (set_point_from_marker): If MARKER comes from
47515         another buffer, recalculate its byte position before using it to
47516         set point.
47517         * src/marker.c (set_marker_internal): If POSITION is a marker from
47518         another buffer, recalculate its byte position before using it.
47519         (Bug#24368)
47521 2016-09-06  Alan Mackenzie  <acm@muc.de>
47523         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bug
47525 2016-09-06  Alan Mackenzie  <acm@muc.de>
47527         New options for handling of literals in c-syntactic-re-search-forward
47529         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can
47530         be given the values `before-literal' and `after-literal', so that when a
47531         search fails, and the `bound' is inside a literal, point is left respectively
47532         before or after that literal.
47534 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
47536         Avoid assertion violations when scrolling narrowed buffer
47538         * src/window.c (window_scroll_pixel_based):
47539         * src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to
47540         start outside the accessible portion of the buffer.  This avoids
47541         assertion violations when some Lisp narrows the buffer to less
47542         than the current window, and then attempts to scroll the buffer.
47544 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
47546         Treat SIGINT correctly in GUI sessions on MS-Windows
47548         * src/w32proc.c (sys_signal): Don't reject SIGINT, as it is
47549         supported by MS runtime.
47550         * src/term.c (DEV_TTY): Move from here ...
47551         * src/conf_post.h (DEV_TTY): ... to here.  Separate definitions
47552         for WINDOWSNT and for the rest.
47553         * src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of
47554         a literal "/dev/tty".
47556         * etc/NEWS: Mention the behavior change.
47558 2016-09-04  Alan Third  <alan@idiocy.org>
47560         Fix synthetic bold on macOS retina displays
47562         * src/macfont.m (macfont_draw): Multiply the synthetic bold scaling
47563         factor by the OS window backing scale factor.
47565 2016-09-04  Tino Calancha  <tino.calancha@gmail.com>
47567         image-dired: Report when a necessary executable is not found
47569         See discussion on:
47570         https://lists.gnu.org/r/emacs-devel/2016-08/msg00552.html
47571         * lisp/image-dired.el (image-dired-cmd-rotate-original-program)
47572         (image-dired-cmd-create-thumbnail-program)
47573         (image-dired-cmd-create-temp-image-program)
47574         (image-dired-cmd-rotate-thumbnail-program)
47575         (image-dired-cmd-write-exif-data-program)
47576         (image-dired-cmd-read-exif-data-program):
47577         Use executable-find to set the default value of this option.
47578         (image-dired-cmd-rotate-original-program): Idem.
47579         Search for program 'convert' if 'jpegtran' is not available.
47580         (image-dired-cmd-rotate-original-options):
47581         Set the default value consistent with the executable in
47582         image-dired-cmd-rotate-original-program.
47583         (image-dired-create-thumb, image-dired-display-image)
47584         (image-dired-rotate-thumbnail, image-dired-rotate-original)
47585         (image-dired-set-exif-data, image-dired-get-exif-data):
47586         Throw and error when the executable used in the function is missing.
47587         (image-dired-next-line, image-dired-previous-line):
47588         Use 'forward-line'.
47590 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
47592         image-type-from-file-name: Perform a case insensitive match
47594         Fix Bug#24317
47595         * lisp/image.el (image-type-from-file-name): Bind case-fold-search
47596         to a non-nil value to force a case insensitive match.
47597         * lisp/image-dired.el (image-dired-rotate-original):
47598         Use image-type (Bug#24317).
47599         (image-dired-get-exif-file-name): Idem.
47600         Set 'no-exif-data-found' and 'data' in same setq call.
47601         Use file-attribute-modification-time.
47603 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
47605         image-increase-size: Fix non-interactive calls
47607         * lisp/image.el (image-increase-size, image-decrease-size):
47608         Compute a floating point division.
47609         Problem reported in:
47610         https://lists.gnu.org/r/emacs-devel/2016-09/msg00067.html
47612 2016-09-03  Robert Cochran  <robert-git@cochranmail.com>
47614         Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el
47616         Passing the prefix argument as the 3rd argument to 'call-interactively'
47617         causes the prefix argument to be interpreted as events, which is not
47618         only wrong, but also causes a type error, as 'current-prefix-arg' can
47619         never be a vector as 'call-interactively' expects.  'call-interactively'
47620         automatically passes its prefix argument to the called function, so just
47621         do that, eliminating faulty behavior.
47623         * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell):
47624         (checkdoc-ispell-current-buffer):
47625         (checkdoc-ispell-interactive):
47626         (checkdoc-ispell-message-text):
47627         (checkdoc-ispell-start):
47628         (checkdoc-ispell-continue):
47629         (checkdoc-ispell-comments):
47630         (checkdoc-ispell-defun):
47631         Do not pass 'current-prefix-arg' to 'call-interactively' as an event
47632         vector; merely allow it to propagate forward to the interactive call.
47634 2016-09-03  Richard Stallman  <rms@gnu.org>
47636         Fix mail-combine-fields
47638         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
47639         avoid losing our place in the search loop.
47641 2016-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
47643         Check actual contents before promting about changed file
47645         * lisp/userlock.el (userlock--check-content-unchanged)
47646         (userlock--ask-user-about-supersession-threat): New functions.
47647         * src/filelock.c (lock_file): Use them to avoid spurious prompting.
47648         * doc/lispref/buffers.texi (Modification Time): Update doc of
47649         ask-user-about-supersession-threat.
47651 2016-09-02  Michael Albinus  <michael.albinus@gmx.de>
47653         Make a reference to fakecygpty in the Tramp manual
47655         * doc/misc/tramp.texi (Windows setup hints): Make a reference to
47656         fakecygpty on the Emacs Wiki.
47657         (Frequently Asked Questions): Fix url.
47659 2016-09-01  Paul Eggert  <eggert@cs.ucla.edu>
47661         Don’t create fd >= FD_SETSIZE
47663         This avoids a potential crash if too many subprocesses (Bug#24325).
47664         * src/process.c [HAVE_SETRLIMIT]: Include <sys/resource.h>.
47665         (init_process_emacs): If ulimit -n is greater than FD_SETSIZE,
47666         set it to FD_SETSIZE.
47668 2016-09-01  Alan Mackenzie  <acm@muc.de>
47670         Fix c-declaration-limits to return correct limits in all cases.
47672         This function is the guts of c-indent-defun and c-mark-function.
47674         In particular, when c-defun-tactic is nil, return a correct value rather than
47675         always nil, and when it's 'go-outward, go through an intricate algorithm to
47676         determine the requisite narrowing before the "top-level" defuns go to work.
47678         * lisp/progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): Enhance
47679         to take additional optional parameter LEVEL, saying how many enclosing levels
47680         of decl-block to narrow to.
47681         (c-declaration-limits): Introduce algorithm to determine narrowing.  Use
47682         c-where-wrt-to-brace-block to determine whether to go back to BOD to determine
47683         lower bound.
47685 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
47687         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make commentary more accurate.
47689 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
47691         Avoid compiler warnings with MinGW64 GCC 6
47693         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make the prototype match
47694         the GCC 6 builtin, to avoid warnings.  For more details, see
47695         https://lists.gnu.org/r/emacs-devel/2016-08/msg00721.html.
47697 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47699         Fix over-substitution of quotes on error
47701         Problem reported by Tino Calancha in:
47702         https://lists.gnu.org/r/emacs-devel/2016-09/msg00000.html
47703         * src/print.c (print_error_message):
47704         Substitute quotes in errmsg only when gotten from a property.
47706 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
47708         Improve testing of etags
47710         * test/manual/etags/y-src/cccp.c:
47711         * test/manual/etags/y-src/parse.c: Correct #line directives to
47712         allow testing invalidate_nodes in etags.c.
47713         * test/manual/etags/ETAGS.good_1:
47714         * test/manual/etags/ETAGS.good_2:
47715         * test/manual/etags/ETAGS.good_3:
47716         * test/manual/etags/ETAGS.good_4:
47717         * test/manual/etags/ETAGS.good_5:
47718         * test/manual/etags/ETAGS.good_6:
47719         * test/manual/etags/CTAGS.good: Adapt to changes in test files.
47721 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
47723         * lib-src/etags.c (invalidate_nodes): Fix another thinko.
47725 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
47727         Fix etags problems found by static checking
47729         * lib-src/etags.c (invalidate_nodes, put_entry):
47730         Remove now-unnecessary tests for null pointers.  Simplify.
47731         (put_entries): Rewrite to avoid GCC 6.2 warning about
47732         dereferencing null pointer.
47734 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
47736         Fix a thinko in etags.c
47738         * lib-src/etags.c (invalidate_nodes): Don't try to dereference
47739         a null pointer.
47741 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
47743         Avoid recursive calls in etags
47745         * lib-src/etags.c (stack_entry): New struct.
47746         (push_node, pop_node, put_entry): New functions.
47747         (free_tree, add_node, invalidate_nodes, put_entries): Re-implement
47748         in a non-recursive way, to avoid stack overflow.  (Bug#5847)
47750 2016-08-31  Leo Liu  <sdl.web@gmail.com>
47752         Add 451 to url-http-codes
47754         * lisp/url/url-http.el (url-http-codes): Add 451.
47756 2016-08-30  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
47758         * src/editfns.c (Fformat_message): Fix doc to match current behavior.
47760 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47762         Minor doc quoting fixes
47764         * doc/misc/htmlfontify.texi (Interactive):
47765         * lisp/htmlfontify.el (htmlfontify-buffer):
47766         Spell out character names, for clarity.  The old doc string
47767         generated the *Help* text ‘^L ([FF]) or ¤ (244)’, where ‘[FF]’
47768         stands for a form feed character; this was confusing.
47769         * lisp/electric.el (electric-quote-mode):
47770         * src/doc.c (syms_of_doc):
47771         * src/editfns.c (Fformat_message):
47772         Remove no-longer-necessary ‘\=’s in doc strings.
47774 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
47776         Update from gnulib
47778         This incorporates:
47779         2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
47780         2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0
47781         2016-08-29 intprops.h: port recent changes to GCC 6.2.0
47782         2016-08-29 intprops.h: use __typeof__ with GCC 7
47783         2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7
47784         2016-08-24 intprops: fix paren typo on old platforms
47785         2016-08-24 intprops: port to OpenVMS
47786         * lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib.
47788 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
47790         Fix rules for \phi and \varphi which were reversed
47792         * lisp/leim/quail/latin-ltx.el: Special-case phi/varphi because those
47793           are reversed in ucs-names.  Also remove FIXME stating sigma/varsigma
47794           were reversed which is not true (anymore?).
47796 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
47798         Fix prettification of \phi, \varphi, and \varsigma
47800         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
47801           prettification of \phi, \varphi, and \varsigma.
47803         Concretely, \phi's symbol was actually varphi, \varphi was missing, and
47804         \varsigma was commented out with a FIXME that it was reversed with
47805         \sigma which it was not.
47807 2016-08-30  Karl Fogel  <kfogel@red-bean.com>
47809         Use normal double quotes in TeX / LaTeX comments
47811         * lisp/textmodes/tex-mode.el (tex-insert-quote): When in a comment,
47812           default to inserting a normal double quote (") instead of TeX-style
47813           open (``) or close ('') quote marks.
47815         * etc/NEWS (TeX mode): Note the change.
47817         * test/lisp/electric-tests.el (autowrapping-7): Adjust accordingly.
47819         See this thread for discussion:
47821           https://lists.gnu.org/r/emacs-devel/2016-08/msg00611.html
47822           From: Karl Fogel <kfogel {_AT_} red-bean.com>
47823           To: Emacs Development <emacs-devel {_AT_} gnu.org>
47824           Subject: [PATCH] Have LaTeX mode use normal double quotes in comments.
47825           Date: Mon, 29 Aug 2016 14:44:12 -0500
47826           Message-ID: <87twe3icmr.fsf@red-bean.com>
47828 2016-08-30  Alan Mackenzie  <acm@muc.de>
47830         Correctly analyze C++ list initialization in member init areas.
47832         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Remove a
47833         superfluous call to c-backward-syntactic-ws.
47834         (c-looking-at-or-maybe-in-bracelist): Change calling convention, so that it
47835         reports encountering the Java "new" keyword.  Add, as an alternative, a check
47836         that we can move back over member initializations, and handle this as finding
47837         a brace block.
47838         (c-looking-at-special-brace-list, c-guess-continued-construct): Adapt to the
47839         new calling convention of c-looking-at-or-maybe-in-bracelist.
47840         (c-guess-basic-syntax, CASE 5A.3): Replace lots of inline ad-hoc code with
47841         calls to c-backward-over-enum-header and c-looking-at-or-maybe-in-bracelist,
47842         using the extra info from the value of that function to generate a
47843         topmost-into-cont element where needed (in Java).
47845         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to the new
47846         calling convention of c-looking-at-or-maybe-in-bracelist.
47848         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Adapt to the new calling
47849         convention of c-looking-at-or-maybe-in-bracelist.
47851 2016-08-30  Michael Albinus  <michael.albinus@gmx.de>
47853         Use `file-attribute-*' in Tramp
47855         * lisp/net/tramp-compat.el (tramp-compat-file-attribute-type)
47856         (tramp-compat-file-attribute-link-number)
47857         (tramp-compat-file-attribute-user-id)
47858         (tramp-compat-file-attribute-group-id)
47859         (tramp-compat-file-attribute-modification-time)
47860         (tramp-compat-file-attribute-size)
47861         (tramp-compat-file-attribute-modes): New defaliases.
47863         * lisp/net/tramp.el (tramp-handle-file-modes)
47864         (tramp-handle-file-newer-than-file-p)
47865         (tramp-handle-file-regular-p, tramp-handle-file-symlink-p)
47866         (tramp-handle-set-visited-file-modtime)
47867         (tramp-handle-verify-visited-file-modtime)
47868         (tramp-get-local-gid, tramp-check-cached-permissions):
47869         * lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p)
47870         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file):
47871         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
47872         (tramp-gvfs-handle-file-directory-p)
47873         (tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid)
47874         (tramp-gvfs-get-remote-gid):
47875         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
47876         (tramp-sh-handle-set-visited-file-modtime)
47877         (tramp-sh-handle-verify-visited-file-modtime)
47878         (tramp-sh-handle-file-newer-than-file-p)
47879         (tramp-sh-handle-file-ownership-preserved-p)
47880         (tramp-do-copy-or-rename-file)
47881         (tramp-do-copy-or-rename-file-via-buffer)
47882         (tramp-do-copy-or-rename-file-directly)
47883         (tramp-do-copy-or-rename-file-out-of-band)
47884         (tramp-sh-handle-file-local-copy)
47885         (tramp-sh-handle-write-region):
47886         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
47887         (tramp-smb-handle-copy-file)
47888         (tramp-smb-handle-file-directory-p)
47889         (tramp-smb-handle-file-writable-p)
47890         (tramp-smb-handle-insert-directory): Use them.
47892 2016-08-30  Martin Rudalics  <rudalics@gmx.at>
47894         In `pop-to-buffer' handle case where `display-buffer' fails (Bug#24332)
47896         * lisp/window.el (pop-to-buffer): Don't assume that
47897         `display-buffer' has supplied a window (Bug#24332).
47898         Rename BUFFER argument to BUFFER-OR-NAME.
47899         * doc/lispref/windows.texi (Switching Buffers): Fix
47900         `pop-to-buffer' documentation.
47902 2016-08-29  Alan Third  <alan@idiocy.org>
47904         Clarify docstrings
47906         * src/nsterm.m: Clarified that ns-x-modifier variables require a symbol.
47908 2016-08-29  Michael Albinus  <michael.albinus@gmx.de>
47910         Use `process-live-p' in Tramp
47912         * lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun.
47914         * lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p)
47915         (tramp-handle-file-notify-valid-p)
47916         (tramp-action-process-alive, tramp-action-out-of-band)
47917         (tramp-wait-for-regexp):
47918         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
47919         (tramp-adb-maybe-open-connection):
47920         * lisp/net/tramp-cache.el (tramp-get-connection-property):
47921         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
47922         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
47923         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
47924         * lisp/net/tramp-sh.el (tramp-process-sentinel)
47925         (tramp-sh-handle-file-notify-add-watch)
47926         (tramp-maybe-open-connection):
47927         * lisp/net/tramp-smb.el (tramp-smb-action-with-tar)
47928         (tramp-smb-handle-copy-directory, tramp-smb-action-get-acl)
47929         (tramp-smb-handle-process-file, tramp-smb-action-set-acl)
47930         (tramp-smb-get-cifs-capabilities)
47931         (tramp-smb-get-stat-capability)
47932         (tramp-smb-maybe-open-connection, tramp-smb-wait-for-output)
47933         (tramp-smb-kill-winexe-function): Use it.
47935 2016-08-29  Eli Zaretskii  <eliz@gnu.org>
47937         Avoid crashes for invalid value of key modifiers
47939         * src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL
47940         is not a symbol, don't try to recognize it.  See
47941         https://lists.gnu.org/r/emacs-devel/2016-08/msg00502.html
47942         for the details.
47944         * test/src/keymap-tests.el (keymap-where-is-internal-test): New
47945         test, for testing the above fix.
47947 2016-08-29  Oleh Krehel  <ohwoeowho@gmail.com>
47949         Make dired-do-compress understand files with spaces in them
47951         * lisp/dired-aux.el (dired-compress-file): Add `shell-quote-argument'
47952           and `literal' flag to `replace-regexp-in-string'.
47954 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47956         * INSTALL.REPO: Suggest Texinfo 4.13 or later.
47958 2016-08-28  Simen Heggestøyl  <simenheg@gmail.com>
47960         Add tests for dom.el
47962         * test/lisp/dom-tests.el: New file with tests for dom.el.
47964 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47966         Memory allocator alignment fixes
47968         These changes remove some assumptions about heap allocator
47969         alignment that may not be true on unusual platforms.
47970         * src/alloc.c (POWER_OF_2): New macro.
47971         (ROUNDUP): Use it.
47972         (BLOCK_ALIGN): Verify that it is a power of 2.
47973         (aligned_alloc): Check that alignment passed to posix_memalign
47974         satisfies POSIX restrictions.
47975         (lisp_align_malloc): Check that size passed to aligned_alloc
47976         satisfies C11 restrictions.
47977         (MALLOC_IS_GC_ALIGNED): Check that GCALIGNMENT is 8, since the
47978         code has not been verified to work with other GCALIGNMENT values
47979         and the ice is thin here.  On GNU/Linux, malloc can return a value
47980         that is a multiple of 8 but not 16, even though __alignof__
47981         (max_align_t) is 16.  See:
47982         https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01902.html
47983         (lmalloc) [USE_ALIGNED_ALLOC]: Use aligned_alloc only if size
47984         is a multiple of alignment, since C11 says the behavior is
47985         undefined otherwise.
47986         (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in
47987         general this macro is restricted to signed types.  Remove
47988         assertion that the result is a multiple of GCALIGNMENT, as that
47989         need not be true.
47991 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
47993         Pacify --enable-gcc-warnings for lib-src/pop.c
47995         * lib-src/pop.c: Include c-ctype.h.
47996         (socket_connection): Pacify --enable-gcc-warnings by rewriting to
47997         avoid 'if (v = E) ...'.  Use c_tolower, instead of a combination
47998         of the (undeclared) isupper and tolower.  Fix pointer constness
47999         problem.
48001 2016-08-27  Alan Mackenzie  <acm@muc.de>
48003         Handle the C++ "identifiers" "final" and "override" correctly.
48005         This fixes bug #24319, allowing destructors affixed with these identifiers to
48006         be correctly fontified.
48008         * lisp/progmodes/cc-engine.el (c-forward-type, c-forward-decl-or-cast-1):
48009         After reaching the "end" of a type expression, skip over any occurrences of
48010         c-type-decl-suffix-ws-ids-key.
48012         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "override" and
48013         "final" from the C++ value.
48014         (c-type-decl-suffix-ws-ids-kwds, c-type-decl-suffix-ws-ids-key): New lang
48015         constants/variables for "final" and "override".
48017 2016-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
48019         * lisp/textmodes/page-ext.el (pages-directory-mode): Use special-mode.
48021 2016-08-27  Alan Mackenzie  <acm@muc.de>
48023         Handle template delimiters in C++ member init constructs.
48025         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Add
48026         handling for "<....>"s.
48028 2016-08-26  Eli Zaretskii  <eliz@gnu.org>
48030         Fix etags test suite messed up by merges from emacs-25
48032         * test/manual/etags/go-src/test.go:
48033         * test/manual/etags/go-src/test1.go: Move from test/etags/.
48034         * test/manual/etags/ruby-src/test1.ru: Replace test1.ruby.
48035         * test/etags/: Directory deleted.
48037 2016-08-26  Simen Heggestøyl  <simenheg@gmail.com>
48039         Add "supports" to list of CSS at-rules
48041         * lisp/textmodes/css-mode.el (css-at-ids): Add "supports" at-rule.
48043 2016-08-26  Michael Albinus  <michael.albinus@gmx.de>
48045         * lisp/net/tramp-sh.el (tramp-get-remote-perl): Perform a basic check.
48047         (Bug#22478)
48049 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
48051         Rename option to shell-command-dont-erase-buffer
48053         Suggested by Clément Pit--Claudel in:
48054         https://lists.gnu.org/r/emacs-devel/2016-08/msg00487.html
48055         * lisp/simple.el (shell-command-dont-erase-buffer):
48056         (shell-command--save-pos-or-erase):
48057         (shell-command--set-point-after-cmd):
48058         (shell-command-on-region):
48059         * doc/emacs/misc.texi (shell-command-dont-erase-buffer):
48060         * etc/NEWS (Changes in Emacs 25.2):
48061         Rename from shell-command-not-erase-buffer.
48063 2016-08-25  Alan Mackenzie  <acm@muc.de>
48065         Fix an infinite loop in C++ Mode when we have "{ .... [ .... }"
48067         * lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): In the inner
48068         `while' form's condition, check for "\\s)" rather than merely "\\]", so that
48069         the loop won't hang at a "terminating" paren of a different type (due to the
48070         c-syntactic-re-search-forward at the end of the loop stopping at such
48071         characters).
48073 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
48075         call-shell-region: New defun
48077         Suggested by Stefan Monnier in Bug#22679.
48078         * lisp/subr.el (call-shell-region): New defun; execute a command
48079         in an inferior shell with the buffer region as input.
48080         * lisp/simple.el (shell-command-on-region): Use it.
48081         * lisp/gnus/message.el (message-do-fcc): Idem.
48082         * doc/lispref/processes.texi: Document call-shell-region in the manual.
48083         ;* etc/NEWS: Add entry for this new function.
48085 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
48087         In ‘clone-indirect-buffer’ fix argument mixup (Bug#24306)
48089         * lisp/simple.el (clone-indirect-buffer): Add value for ACTION
48090         argument in `pop-to-buffer' call (Bug#24306).
48092 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
48094         Some fixes around `delete-other-frames' and `next-frame'
48096         * src/frame.c (Fdelete_frame): Clarify doc-string.
48097         * lisp/frame.el (delete-other-frames): Delete other frames on
48098         FRAME's terminal instead of the current terminal.  Delete
48099         non-minibuffer-only surrogate frames too.  See
48100         https://lists.gnu.org/r/emacs-devel/2016-08/msg00467.html
48101         * doc/lispref/frames.texi (Deleting Frames): Minor fixes for
48102         docs of `delete-frame' and `frame-live-p'.  Add entry for
48103         `delete-other-frames'.
48104         (Finding All Frames): Fix doc of `next-frame'.
48106 2016-08-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48108         Find message.el thumbnail toggling
48110         * lisp/gnus/message.el (message-toggle-image-thumbnails):
48111         Don't infloop when toggling thumbnails.
48113 2016-08-24  Alan Third  <alan@idiocy.org>
48115         Fix macOS 12 deprecation notices
48117         * src/nsterm.h: Add #defines to allow older versions of macOS to use the
48118         new constant names.
48119         * src/nsmenu.m: Replace old constant names with
48120         new.
48121         (fillWithWidgetValue): Remove calls to deprecated
48122         setMenuChangedMessagesEnabled.
48123         * src/nsterm.m: Replace old constant names with new.
48124         * src/nsfns.m: Replace old constant names with new.
48126 2016-08-23  Alan Mackenzie  <acm@muc.de>
48128         Analyze and fontify correctly a C++ `enum' with colon, but lacking a tag.
48130         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for "enum"
48131         directly preceding the colon, and handle it.
48133 2016-08-23  Noah Friedman  <friedman@splode.com>
48135         * src/xfns.c (Fx_change_window_property): Modify previous change.
48136         Instead of forcing format to 8 for strings, check that the length of
48137         the string is appropriate for whatever format given.
48138         (Fx_window_property_attributes): If prop isn't found on frame's inner window,
48139         try its outer window.  This mimics the behavior of Fx_window_property.
48141 2016-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
48143         Fix invalid image rotations
48145         * lisp/image.el (image-rotate): Limit rotation to 360 degrees.
48147 2016-08-23  Tino Calancha  <tino.calancha@gmail.com>
48149         call-process instead of call-process-region with empty region
48151         * lisp/calc/calc-graph.el (calc-graph-show-tty):
48152         Use call-process and shell-command-switch.
48154 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
48156         Merge from origin/emacs-25
48158         927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2
48159         6bf83b5 * etc/AUTHORS: Update the AUTHORS file
48160         73cbb81 ; ChangeLog spelling fixes
48161         9b99772 Some assorted documentation clarifications
48162         37d4723 Improve commentary in src/character.h
48163         5ccd593 ; Fix typo in /etc/NEWS
48164         96e3d16 * etc/NEWS: Mention the change in json-encode-string.
48165         2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create...
48166         2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
48167         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
48169         # Conflicts:
48170         #       ChangeLog.2
48171         #       lisp/ldefs-boot.el
48173 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
48175         Merge from origin/emacs-25
48177         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
48179 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
48181         Merge from origin/emacs-25
48183         8c2946e In NEWS describe new handling of window margins (Bug#24193)
48184         0cee66c Facultatively ignore margins when splitting and resizing wind...
48185         8d68147 Document CATEGORY arg to modify-category-entry
48186         8342e74 Document char-script-table's effect on word motion
48187         e9ff485 Further fix for 'url-http-create-request' and multibyte strings
48188         0695235 Fix docstring of eval-expression
48189         98b01dd Clarify when 'cursor' property is in effect
48190         75f1882 Convert the remaining strings to unibyte before concatenating
48191         d2db5dd Fix bug with handling the bidi cache
48192         ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
48193         f785ff4 Clarify documentation of before/after-change-functions
48194         3c9cb57 Document use of vectors in keymaps
48196         # Conflicts:
48197         #       src/xdisp.c
48199 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
48201         Handle remote file names in gdb-mi.el
48203         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
48204         If `default-directory' is remote, full file names are adapted
48205         accordingly.  (Bug#23608)
48207 2016-08-22  Eli Zaretskii  <eliz@gnu.org>
48209         Display mini-window resized even when there are several frames
48211         * src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
48212         t to avoid resizing back the mini-window as result of considering
48213         the title of other frames.  (Bug#24285)
48214         (redisplay_window): No need to bind inhibit-redisplay here.
48216 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
48218         Explain gdb warning on remote hosts
48220         * doc/misc/tramp.texi (Remote processes): Explain gdb warning
48221         on remote hosts.  (Bug#4604, Bug#6360, Bug#622569)
48223 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
48225         Fix (next-frame nil t) crash (Bug#24281)
48227         * src/frame.c (candidate_frame): Check minibuf argument before
48228         comparing it to zero (Bug#24281).
48230 2016-08-21  Noah Friedman  <friedman@splode.com>
48232         Fix interpretation of signed vs unsigned values when retrieving X
48233         Window properties, and make sure the full value is returned when not
48234         parsed.
48236         New subr to export type and format information about X Window
48237         properties to lisp.
48239         * src/xselect.c (selection_data_to_lisp_data): Treat any data as
48240         unsigned unless its actual type is INTEGER.
48241         CARDINALs, in particular, are unsigned.
48243         * src/xfns.c (Fx_change_window_property): If value is a string, ignore
48244         any provided format and force to 8.
48245         (x_window_property_intern): If returning value as a string, the length
48246         is actual_size times the actual format of each element, which is not
48247         necessarily bytes.
48248         (Fx_window_property_attributes): New subr.
48249         (syms_of_xfns): Declare it.
48251 2016-08-21  Noam Postavsky  <npostavs@gmail.com>
48253         Improve error when installing non-package dirs
48255         * lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error
48256         when no file with package info is found (Bug #19851).
48258 2016-08-21  Alan Mackenzie  <acm@muc.de>
48260         Adapt CC Mode for C++11 uniform initialization.
48262         For fontification, introduce a new "context", 'non-decl, to be used for
48263         brace
48264         lists; also a new value for the property 'c-type, called 'c-not-decl.
48266         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): Check that
48267         an ostensible symbol we're going to move over isn't a keyword.
48268         (c-forward-decl-or-cast-1): CASE 1: Where we have two consecutive identifiers
48269         (hence a declaration), and an unmatched open paren, perform
48270         c-fdoc-shift-type-backwards to recognize the partial construct correctly.
48271         Whilst checking a type decl expression, check for and handle C++11's "copy
48272         initialization", where we have <type>(<constant>).  Recognize
48273         <id><id>(... (where the paren is unclosed) as a declaration.
48274         (c-looking-at-or-maybe-in-bracelist): New function, extracted from
48275         c-inside-bracelist-p.  Recognize as bracelists "{"s which are preceded by
48276         valid tokens other than "=".  Recognize a bracelist when preceded by a
48277         template declaration.
48278         (c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of
48279         much inline code.
48280         (c-looking-at-inexpr-block): Amend so that it won't wrongly recognize an
48281         initialization starting "({" as an in-expression block, by checking for
48282         semicolons, as opposed to commas, separating elements inside it.
48283         (c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by
48284         calling c-looking-at-or-maybe-in-bracelist rather than checking for a
48285         preceding "=".  (CASE B-5): New code to recognize new construct "return {
48286         ...}".
48287         (c-guess-basic-syntax): (CASE 5A.3): Additionally recognize a "{" preceded by
48288         "return", or "{" preceded by <type><identifier> as a bracelist.
48290         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize brace
48291         lists, giving them `context' 'non-decl.  Pass over elements of one by regexp
48292         search for "," rather than calling c-forward-decl-or-cast-1.
48294         * lisp/progmodes/cc-langs.el (c-return-kwds, c-return-key): New lang
48295         constants/variables to recognize "return".
48296         (c-pre-id-bracelist-key): New lang constant/variable to recognize tokens
48297         which, when preceding an identifier followed by a brace, signify the brace as
48298         a bracelist.
48300         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When searching outwards for
48301         the start of a "local" declaration, move out from an enclosing brace when
48302         that is the start of a brace list.
48304 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
48306         Update from gnulib
48308         This incorporates:
48309         2016-08-17 maint: preprocessor changes to support z/OS
48310         2016-08-17 string: rename to avoid '__string'
48311         * doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
48312         Copy from gnulib.
48314 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
48316         Minor text-quoting-style fixes
48318         * src/charset.c (check_iso_charset_parameter):
48319         * src/frame.c (store_frame_param):
48320         * src/xselect.c (x_fill_property_data):
48321         Use grave accent for left single quote in ‘error’ format strings.
48323 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
48325         Fix semantics of 'minibuffer' frame parameter
48327         The 'minibuffer' frame parameter is now t for a normal frame
48328         (a frame with a root window plus a minibuffer window) and the
48329         frame's minibuffer window for a minibuffer-less frame (a frame
48330         whose minibuffer window is on another frame).  See also:
48331         https://lists.gnu.org/r/emacs-devel/2016-07/msg01259.html
48333         * src/frame.c (make_frame, make_frame_without_minibuffer)
48334         (make_minibuffer_frame): When assigning the frame's minibuffer
48335         window also store corresponding 'minibuffer' frame parameter.
48336         (store_frame_param): Move the 'minibuffer' parameter checks to
48337         the beginning so we can silently override the value before it
48338         gets stored in the parameter alist.  Fix error handling.
48339         (Fframe_parameters): Return value of 'minibuffer' parameter
48340         unmodified.
48342         * lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
48343         the parameter is a minibuffer window, save (minibuffer . nil)
48344         instead of (minibuffer . t).
48345         (frameset--reuse-frame): To find a non-minibuffer-only frame
48346         look out for a frame whose 'minibuffer' parameter is t instead
48347         of that frame's minibuffer window.
48348         (frameset-minibufferless-first-p): To find a minibuffer-less
48349         frame look out for a frame whose 'minibuffer' parameter is a
48350         window instead of nil.
48352 2016-08-20  Alan Mackenzie  <acm@muc.de>
48354         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Resolve overelaborate "nil"
48356 2016-08-20  Alan Mackenzie  <acm@muc.de>
48358         In c-\(go-\)?-\(up-\|down-\)?list-\(forward\|backward\) check limit isn't nil
48360         Check the limit both at macro expansion time (for a hard coded nil) and at run
48361         time in the generated code.  Tidy up these macros generally.
48363         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Check `limit' is present and
48364         not identically nil before generating a narrow-to-region call.  Generate code
48365         to check `limit' is not nil at run time.
48366         (c-go-list-forward, c-go-list-backward): Remove the generation of redundant
48367         narrow-to-region, instead calling c-safe-scan-lists directly.
48368         (c-go-up-list-forward, c-go-up-list-backward, c-go-down-list-forward)
48369         (c-go-down-list-backward): Invoke the corresponding macros without the "go-"
48370         to determine the destination position instead of generating a redundant
48371         narrow-to-region.
48373 2016-08-19  Robert Cochran  <robert-git@cochranmail.com>
48375         * lisp/emacs-lisp/map.el (map--dispatch): Fix docstring
48377         The docstring referenced a non-existant parameter, as well as a
48378         parameter that has been renamed since the docstring was written. Fix
48379         both errors, fixing (Bug#24182).
48381 2016-08-19  Alan Mackenzie  <acm@muc.de>
48383         Amend hack-local-variables-prop-line not always to return any mode on line 1.
48385         This fixes bug #24266.
48387         * lisp/files.el (hack-local-variables-prop-line): Change the name of the
48388         parameter mode-only to handle-mode.  Change its meaning, such that it being
48389         set to a value non-nil and not t removes any mode parameter from the result
48390         list.  Leave its values nil and t with the same meanings they had.
48391         (hack-local-variables): Call hack-local-variables-prop-line appropriately.
48393 2016-08-19  Daiki Ueno  <ueno@gnu.org>
48395         Improve doc string of epg-*-program
48397         * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program):
48398         Suggest to use Customize when setting.  (Bug#24229)
48400 2016-08-19  Tino Calancha  <tino.calancha@gmail.com>
48402         Add tests for Bug#24264
48404         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
48405         Add test for Bug#24264.
48406         (cl-seq-fill-test, cl-seq-replace-test)
48407         (cl-seq-remove-test ,cl-seq-delete-test)
48408         (cl-seq-remove-duplicates-test, cl-seq-substitute-test)
48409         (cl-seq-nsubstitute-test, cl-seq-position-test)
48410         (cl-seq-count-test, cl-seq-mismatch-test)
48411         (cl-seq-search-test, cl-seq-test-bug24264):
48412         Add tests for all functions in the file; test all keywords.
48414 2016-08-18  Johan Bockgård  <bojohan@gnu.org>
48416         Fix bug in --eval reply message from server
48418         * lisp/server.el (server-reply-print): Fix check for truncated quote
48419         sequence at end of message. Problem reported in:
48420         https://lists.gnu.org/r/emacs-devel/2016-08/msg00101.html
48422 2016-08-18  Eli Zaretskii  <eliz@gnu.org>
48424         Add tests for 'substitute-command-keys'
48426         * test/src/doc-tests.el (doc-test-substitute-command-keys): New
48427         tests.
48429 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
48431         lisp/textmodes/table.el (table-generate-source): Fix completing-read call
48433         Doesn't make sense to pass '(("html") ("latex") ("cals")) to
48434         `completing-read'.
48436 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
48438         lisp/dired-aux.el (dired-compress-file-suffixes): Add entry for tgz
48440         The previous behavior resulted in a "tgz" -> "tar" -> "tgz" loop,
48441         without any files being extracted.
48443 2016-08-18  Andreas Politz  <politza@hochschule-trier.de>
48445         Don't let window start override window point in `window-state-put' (Bug#24240)
48447         * lisp/window.el (window--state-put-2): Set 'noforce argument
48448         when restoring a window's start position.  This avoids that the
48449         effect of `set-window-point' gets overidden by that of
48450         `set-window-start' (Bug#24240).
48452 2016-08-17  Alan Mackenzie  <acm@muc.de>
48454         Fontify constructs following "::" in C++ argument lists correctly - part 2.
48456         This fixes bug #24246.
48458         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Put a
48459         `save-match-data' around the new `looking-at' introduced by the previous CC
48460         Mode patch this evening.
48462 2016-08-17  Alan Mackenzie  <acm@muc.de>
48464         Fontify constructs following "::" in C++ argument lists correctly.
48466         This fixes bug #24246.
48468         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): In the "pseudo
48469         match" loop, test a found string for a match with c-opt-identifier-concat-key
48470         (e.g. with "::").
48472 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
48474         * src/doc.c (Fsubstitute_command_keys): Clarify GC comments.
48476 2016-08-17  K. Handa  <handa@gnu.org>
48478         Fix hz encoding and decoding (bug#23814)
48480         * lisp/language/china-util.el (decode-hz-region): Pay
48481         attention to "~~}" sequence at the end of Chinese character
48482         range.
48483         (hz-category-table): New variable.
48484         (encode-hz-region): Convert non-encodable characters to
48485         \u... and \U...  Preserve ESC on ecoding.  Put
48486         `chinese-gb2312' `charset' text property in advance to force
48487         iso-2022-encoding to select chinese-gb2312 designation.
48489 2016-08-17  Tino Calancha  <tino.calancha@gmail.com>
48491         file-attribute-collect: New defun
48493         * lisp/files.el (file-attribute-collect):
48494         Return a sublist of the attributes returned by 'file-attributes'.
48495         Suggested by Ted Zlatanov in:
48497         https://lists.gnu.org/r/emacs-devel/2016-07/msg01195.html
48499 2016-08-17  Michael Albinus  <michael.albinus@gmx.de>
48501         Fix Bug#24203
48503         * lisp/comint.el (comint-password-prompt-regexp): Relax regexp.  (Bug#24203)
48505 2016-08-16  Karl Fogel  <kfogel@red-bean.com>
48507         Improve doc string.
48509         * src/fileio.c (Ffile_name_as_directory): Be precise about the
48510         conditions under which a slash is appended.
48512 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
48514         Omit substitute-command-keys code no longer needed
48516         * src/doc.c (Fsubstitute_command_keys):
48517         Remove duplicate initializations.
48519 2016-08-16  Tino Calancha  <tino.calancha@gmail.com>
48521         Allow not erase output buffer in shell commands
48523         * lisp/simple.el (shell-command-not-erase-buffer): New option to allow
48524         not erasing the output buffer between shell commands.  Defaults to nil.
48525         (shell-command-on-region): Use it.
48526         (shell-command--save-pos-or-erase): New defun; store a buffer position
48527         if 'shell-command-not-erase-buffer' is non-nil; otherwise
48528         erase the output buffer of the shell command.
48529         (shell-command, shell-command-on-region): Use it.
48530         (shell-command--set-point-after-cmd): New defun;
48531         if 'shell-command-not-erase-buffer' is non-nil, set point
48532         in the output buffer to the position in 'shell-command-saved-pos'.
48533         (shell-command-sentinel, shell-command-on-region): Use it.
48534         * doc/emacs/misc.texi (shell-command-not-erase-buffer):
48535         Document this feature in the manual.
48536         See discussion on:
48537         https://lists.gnu.org/r/emacs-devel/2016-07/msg00610.html
48539 2016-08-16  Michael Albinus  <michael.albinus@gmx.de>
48541         Rearrange Tramp manual title page
48543         * doc/misc/tramp.texi: Move @insertcopying out of the title
48544         page.  Do not use @ifnottex anymore.
48546 2016-08-15  Glenn Morris  <rgm@gnu.org>
48548         * doc/misc/tramp.texi: Adapt 2016-08-14 change for makeinfo 4.
48550 2016-08-15  Alan Mackenzie  <acm@muc.de>
48552         Fix minor bug in c-syntactic-re-search-forward.
48554         Bug was: when NOERROR is neither nil nor t, BOUND is non-nil, PAREN-LEVEL is
48555         non-nil, and the first internal search attempt fails, point wrongly ends up at
48556         BOUND, rather than just before the next closing paren.
48558         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Guard against
48559         the above situation.
48561 2016-08-15  Alan Mackenzie  <acm@muc.de>
48563         Handle C++11 lambda functions.
48565         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): Enhance also to
48566         handle C++ lambda functions.
48567         (c-looking-at-c++-lambda-capture-list): New function.
48569         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize the
48570         parameter list of a lambda function and set `context' and
48571         `c-restricted-<>-arglists' suitably for it.
48572         (c-font-lock-c++-lambda-captures): New function.
48573         (c-complex-decl-matchers): Insert c-font-lock-c++-lambda-captures into it.
48575         * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens, c-pre-lambda-tokens-re):
48576         New language constants/variables.
48577         (c-paren-nontype-kwds): Include "noexcept" in the C++ value.
48579         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Handle being in a C++ lambda
48580         function capture list.
48582 2016-08-15  Michael Albinus  <michael.albinus@gmx.de>
48584         Fix stale cache problem in Tramp
48586         * lisp/net/tramp-cache.el (tramp-get-connection-property):
48587         Check, that a process as key is still running.  (Bug#22478)
48589 2016-08-14  Paul Eggert  <eggert@cs.ucla.edu>
48591         * doc/misc/tramp.texi (Configuration): Fix @xref typo.
48593 2016-08-14  Eli Zaretskii  <eliz@gnu.org>
48595         Another fix for scroll-conservatively and overlay strings
48597         * src/xdisp.c (redisplay_window): Handle also the case where the
48598         calculated window-start point has an overlay string touching it.
48599         (Bug#24179)
48601 2016-08-14  Michael Albinus  <michael.albinus@gmx.de>
48603         Improve handling of defcustoms in tramp
48605         * doc/misc/tramp.texi: Protect all multi-line examples by
48606         @group ... @end group.  Use proper `custom-set-variables'
48607         examples.  Use consequently @option for user options.  Remove
48608         superfluous @cindex and @vindex entries.
48609         (Top): Remove reference to outdated mail archives.
48610         (Configuration): Tune references.
48611         (Default Method): Make `tramp-default-method' and
48612         `tramp-default-method-alist' a @defopt.
48613         (Default User): Make `tramp-default-user' and
48614         `tramp-default-user-alist' a @defopt.
48615         (Default Host): Make `tramp-default-host' and
48616         `tramp-default-host-alist' a @defopt.
48618         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
48619         (tramp-backup-directory-alist, tramp-auto-save-directory)
48620         (tramp-encoding-shell, tramp-encoding-command-switch)
48621         (tramp-encoding-command-interactive, tramp-default-method)
48622         (tramp-default-method-alist, tramp-default-user)
48623         (tramp-default-user-alist, tramp-default-host)
48624         (tramp-default-host-alist, tramp-default-proxies-alist)
48625         (tramp-save-ad-hoc-proxies)
48626         (tramp-restricted-shell-hosts-alist)
48627         (tramp-local-end-of-line, tramp-rsh-end-of-line)
48628         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
48629         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
48630         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
48631         (tramp-terminal-prompt-regexp)
48632         (tramp-operation-not-permitted-regexp)
48633         (tramp-copy-failed-regexp, tramp-process-alive-regexp)
48634         (tramp-syntax, tramp-chunksize)
48635         (tramp-process-connection-type, tramp-connection-timeout)
48636         (tramp-connection-min-time-diff)
48637         (tramp-completion-reread-directory-timeout):
48638         * lisp/net/tramp-adb.el (tramp-adb-program)
48639         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
48640         * lisp/net/tramp-cache.el (tramp-connection-properties)
48641         (tramp-persistency-file-name):
48642         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
48643         (tramp-gvfs-zeroconf-domain)
48644         (tramp-bluez-discover-devices-timeout):
48645         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
48646         (tramp-copy-size-limit, tramp-terminal-type)
48647         (tramp-histfile-override)
48648         (tramp-use-ssh-controlmaster-options, tramp-remote-path)
48649         (tramp-remote-process-environment, tramp-sh-extra-args):
48650         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
48651         (tramp-smb-conf, tramp-smb-winexe-program)
48652         (tramp-smb-winexe-shell-command)
48653         (tramp-smb-winexe-shell-command-switch): Add :require 'tramp.
48655 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
48657         Minor text-quoting-style fixes
48659         * lisp/cus-edit.el (custom-buffer-create-internal):
48660         * lisp/recentf.el (recentf-edit-list):
48661         Follow text-quoting-style preference when quoting in UI strings.
48662         * src/doc.c (Fsubstitute_command_keys): Don’t say that curved
48663         quotes are substituted for, as this is no longer true.
48665 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
48667         Fix substitute-command-keys unibyte, alloc bugs
48669         * src/doc.c (Fsubstitute_command_keys): Fix some problems with
48670         unibyte strings and with buffer allocation.  Make strings
48671         multibyte, to avoid problems with unibyte strings that are not
48672         valid UTF-8 (Bug#24206).  Redo buffer allocation so that it is
48673         O(N), not O(N**2).  Avoid going past the end of the input string
48674         when given invalid input.  Avoid some unlikely problems in
48675         accessing the wrong storage after a GC.
48677 2016-08-13  Joakim Jalap  <joakim.jalap@fastmail.com>
48679         Fix "C-u" when an input method is active
48681         * lisp/international/quail.el (quail-input-method): Defer to the
48682         input method iff 'overriding-terminal-local-map' is
48683         'universal-argument-map' and the given key has no binding there.
48684         (Bug#22958)
48686 2016-08-13  Martin Rudalics  <rudalics@gmx.at>
48688         Fix docs on `display-buffer-below-selected' (Bug#24213)
48690         * lisp/window.el (display-buffer-below-selected): Fix
48691         doc-string (Bug#24213).
48692         * doc/lispref/windows.texi (Display Action Functions): Fix
48693         documentation of `display-buffer-below-selected'.
48695 2016-08-12  Tino Calancha  <tino.calancha@gmail.com>
48697         cl-fill: Rename arguments to cl-seq and cl-item
48699         * lisp/emacs-lisp/cl-seq.el (cl-fill):
48700         Rename arguments to 'cl-seq' and 'cl-item' as elsewhere.
48702 2016-08-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
48704         Fix display.texi typo
48706         * doc/lispref/display.texi (Faces): Fix typo.
48708 2016-08-11  Paul Eggert  <eggert@cs.ucla.edu>
48710         Fix process leak with make-network-process
48712         This problem was introduced by the recent async changes (Bug#23808).
48713         * src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later,
48714         so that it follows the start_process_unwind unwind-protect.
48715         Set pid to -1 while the process is being created.
48716         (start_process_unwind): Omit unnecessary emacs_abort test.
48717         (connect_network_socket): Simplify use of counts.  Unwind
48718         bind_polling_period a bit earlier, so that a remove_process
48719         unwind-protect can be added when needed; this is the heart of
48720         the fix.  Undo the unwind-protect just before returning.
48722 2016-08-11  Eli Zaretskii  <eliz@gnu.org>
48724         Avoid annoying re-scroll when buffer has many overlay strings
48726         * src/xdisp.c (redisplay_window): Add better recovery from a
48727         situation where window-start is on buffer position which has a
48728         before-string that includes newlines, with the result that point
48729         is not visible in the window, because the display engine starts
48730         displaying with the before-string.  (Bug#24179)
48732 2016-08-10  Paul Eggert  <eggert@cs.ucla.edu>
48734         Omit unnecessary process initialization
48736         * src/process.c (make_process, Fmake_process)
48737         (Fmake_pipe_process, Fmake_serial_process)
48738         (Fmake_network_process, server_accept_connection):
48739         Omit unnecessary initialization of already-cleared storage.
48741 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
48743         cl-delete-duplicates: Parse :if to have cl-if bound
48745         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
48746         We need also to parse keyword :if, otherwise cl-if
48747         is unbound.
48748         This reverts commit:
48749         68fdbeb917b80e29e0b15506f18f7ed41d8ffdfd
48751 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
48753         cl-delete-duplicates: do not parse :if keyword
48755         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
48756         Parse only the supported keywords.
48758 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
48760         Add compatibility layer for `temporary-file-directory-function'
48762         * lisp/net/tramp-compat.el
48763         (tramp-compat-temporary-file-directory-function): New defalias.
48765         * lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.
48767         * test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
48768         Skip for older Emacs versions.
48770 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
48772         * lisp/comint.el (comint-password-prompt-regexp): Add "PEM" for OpenVPN.
48774         (Bug#24059)
48776 2016-08-10  Vincent Belaïche  <vincentb1@users.sourceforge.net>
48778         Handle nil cell value in compiled printer functions.
48780         * doc/misc/ses.texi (Quick Tutorial): Minor clarification about the
48781         ses-range `!' modifier.
48782         (More on cell printing): Fix this that the fallback printer is
48783         `ses-prin1', not "%S".  That makes a difference for any cell value for
48784         which "%S" would insert a backslash characters.
48786         * lisp/ses.el (ses-local-printer-compile): Handle the nil cell value
48787         --- contrary to emacs-25 branches ses-call-printer does not handle
48788         prior to calling a function printer.  Not doing this would still work
48789         because the compiled function would throw and error and SES would in
48790         the end resort to the ses-prin1 fallback, however this way would not
48791         be in line with the raison d'être of compiling printer which is speed.
48793 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
48795         Turn on lexical-binding in json.el
48797         Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
48798         showed 12-31% reduction in execution time.
48799         * lisp/json.el: Turn on lexical-binding.
48801 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
48803         Nudge WoMan toward lexical-binding
48805         * lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales):
48806         Use cl-pushnew instead of add-to-list.
48807         (woman-justify-list): Rename to woman-justify-styles.
48808         (woman-justify-styles): New array.
48809         (woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it.
48810         (woman-cached-data): Use cl-pushnew instead of add-to-list.
48812 2016-08-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
48814         Apply changes from commits 3c97b0f758 and 8a38e948b0 to master branch.
48816         Here follows the logs from the two commits which I apply to master.
48818         commit 3c97b0f7589e06aeb1ab0147f0ee32974c32926d
48819         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
48820         Date:   Fri Jul 29 13:44:14 2016 +0200
48822         Fix ses-delete-blanks to delete only blanks + documentation.
48824         * doc/misc/ses.texi (Quick Tutorial): Mention the '!'
48825         'ses-range' modifier as an alternative to 'ses+'.
48826         (Advanced Features): Add a refernce to node 'Nonrelocatable
48827         references' concerning function 'ses-rename-cell'.
48828         (Standard formula functions): Mention the '!' 'ses-range'
48829         modifier as an alternative to 'ses-delete-blanks'.
48830         (More on cell printing): Fix fallback printer
48831         definition.  Minor editorial formatting changes.
48832         (Nonrelocatable references): Document the use of
48833         'ses-rename-cell' as a better way to make cell reference
48834         non-relocatable.
48835         (The data area): Document the presence of local printer
48836         definitions in the data area.
48838         * lisp/ses.el (ses-delete-blanks): Do not remove
48839         *error*.  Any error in an argument should propagate into the
48840         using formula rather than being silently hidden !
48842         commit 8a38e948b039516e70176ebe20c5349e2ade6ac5
48843         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
48844         Date:   Thu Jul 28 19:49:37 2016 +0200
48846         Fix local printer set to left aligned string formatter.
48848         * lisp/ses.el (ses-local-printer-compile): Add missing case
48849         for left-aligned string formatter.
48851 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48853         * .dir-locals.el (c-noise-macro-names): Remove NONVOLATILE.
48855 2016-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>
48857         * lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing
48859         Change the code which detects and circumvents the case where one of the
48860         variables used in λ-lifting is shadowed, so that it also works when the
48861         shadowing comes before the λ-lifted function (bug#24171).
48863         (cconv--remap-llv): New function, extracted from cconv-convert.
48864         (cconv-convert): Use it, but differently for `let' and `let*'.
48866 2016-08-09  Alan Mackenzie  <acm@muc.de>
48868         CC Mode: check for and fix missing call to before_change_functions.
48870         Fixes bug #24094 and bug #24074.
48872         This can happen with `revert-buffer' or sometimes `find-file', when the file
48873         is already in a buffer, but the file has been changed outside of Emacs.
48875         * lisp/progmodes/cc-mode.el (c-after-change): When we detect a missing
48876         invocation of c-before-change-functions, we assume the changed region is the
48877         entire buffer, and call c-before-change explicitly before proceding.
48879 2016-08-09  Alan Mackenzie  <acm@muc.de>
48881         Make c-deprepertize-CPP work on deletion/insertion of "s.  Fixes bug #24132.
48883         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Rewrite function.
48885 2016-08-09  Michael Albinus  <michael.albinus@gmx.de>
48887         Support $ENV in Tramp
48889         * doc/misc/tramp.texi (Remote processes): Explain setting $ENV.
48891         * etc/NEWS: Explain the "ENV" environment variable in
48892         `tramp-remote-process-environment'.
48894         * lisp/net/tramp-sh.el (tramp-remote-process-environment): Add "ENV=''".
48895         (tramp-open-shell): Read $ENV value from
48896         `tramp-remote-process-environment'.
48897         (tramp-open-connection-setup-interactive-shell): Set values in
48898         proper order.
48900 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48902         Simplify exec_byte_code via moving decls etc.
48904         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
48905         initializers into decls, and by omitting some unnecessary
48906         changes to ‘top’.  This improves performance a bit on x86-64,
48907         as it happens.
48909 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48911         Remove interpreter’s byte stack
48913         This improves performance overall on my benchmark on x86-64,
48914         since the interpreted program-counter resides in a machine
48915         register rather than in RAM.
48916         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
48917         is no longer a byte stack to decode.
48918         * src/bytecode.c (struct byte_stack, byte_stack_list)
48919         (relocate_byte_stack): Remove.  All uses removed.
48920         (FETCH): Simplify now that pc is now local (typically, in a
48921         register) and no longer needs to be relocated.
48922         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
48923         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
48924         (exec_byte_code): Allocate a copy of the function’s bytecode,
48925         so that there is no problem if GC moves it.
48926         * src/lisp.h (struct handler): Remove byte_stack member.
48927         All uses removed.
48928         (SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
48929         SAFE_ALLOCA_LISP.
48930         (SAFE_ALLOCA_LISP): Use it.
48932 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48934         Remove arbitrary limit on bytecode maxdepth
48936         * src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit
48937         on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca.
48939 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48941         Tune bytecode quitting
48943         * src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too.  Do the
48944         check only once every 256 times.  This should be good enough, and
48945         improves performance significantly on x86-64 as branch-prediction
48946         typically assumes checking will not be done so the instruction
48947         pipeline stays fuller.
48948         (exec_byte_code): Set up the quit counter.  Don’t call maybe_gc
48949         directly, as BYTE_CODE_QUIT does that now.
48951 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48953         Simplify BYTE_CODE_SAFE checking
48955         * src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it
48956         can be used outside #if.  All uses of ‘defined BYTE_CODE_SAFE’
48957         changed to ‘BYTE_CODE_SAFE’.  Use BYTE_CODE_SAFE in plain
48958         expressions instead of #if expressions when this is easy.
48959         (struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’,
48960         as it is no longer needed.
48961         (exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy.
48962         Simplify stack-overflow checking when BYTE_CODE_SAFE.
48964 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
48966         Get BYTE_CODE_METER working again
48968         BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have
48969         noticed.  Perhaps we should remove it?
48970         * src/bytecode.c (METER_2) [BYTE_CODE_METER]:
48971         Use *aref_addr instead of AREF, since it needs to be an lvalue.
48973 2016-08-08  Eli Zaretskii  <eliz@gnu.org>
48975         Fix cursor position under scroll-conservatively and overlay strings
48977         * src/xdisp.c (try_scrolling): Handle the case where the last
48978         visible screen line of a window displays a before- or after-string
48979         that takes up the whole screen line, and therefore there's no
48980         place to display the cursor, even though the window does seem to
48981         include the position of point.  (Bug#24179)
48983 2016-08-08  Michael Albinus  <michael.albinus@gmx.de>
48985         * lisp/files.el (file-ownership-preserved-p): Fix docstring.  (Bug#23998)
48987 2016-08-07  Paul Eggert  <eggert@cs.ucla.edu>
48989         Tune interpretation of integer arglist descriptor
48991         * src/bytecode.c (exec_byte_code):
48992         Simplify and tune when INTEGERP (args_template).
48994 2016-08-07  Noam Postavsky  <npostavs@gmail.com>
48996         Fix debugging of string-match-p errors
48998         * src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so
48999         that debugger code that needs to do regexp match won't break
49000         (Bug #23949, Bug #24166, Bug#16294).
49002 2016-08-07  Michael Albinus  <michael.albinus@gmx.de>
49004         Add `make-nearby-temp-file' and `temporary-file-directory'
49006         * doc/lispref/files.texi (Unique File Names):
49007         Introduce `make-nearby-temp-file' and `temporary-file-directory'.
49008         (Magic File Names): Mention `make-nearby-temp-file' and
49009         `temporary-file-directory'.
49011         * etc/NEWS (provided): Mention `make-nearby-temp-file' and
49012         `temporary-file-directory'.
49014         * lisp/files.el (mounted-file-systems): New defcustom.
49015         (temporary-file-directory, make-nearby-temp-file): New defuns.
49016         (normal-backup-enable-predicate): Fix docstring.
49018         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
49019         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
49020         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
49021         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
49022         <make-nearby-temp-file, temporary-file-directory>: Add handler.
49024         * lisp/net/tramp.el (tramp-file-name-for-operation):
49025         Add `make-nearby-temp-file' and `temporary-file-directory'.
49026         (tramp-get-remote-tmpdir): Remove compatibility code.
49027         (tramp-handle-temporary-file-directory)
49028         (tramp-handle-make-nearby-temp-file): New defuns.
49030         * lisp/org/ob-core.el (org-babel-local-file-name):
49031         * lisp/progmodes/gud.el (gud-common-init):
49032         * lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.
49034         * lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.
49036         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
49037         Check `tramp--test-enabled'.
49038         (tramp-test18-file-attributes): Add tests for
49039         `file-ownership-preserved-p'.
49040         (tramp-test27-start-file-process, tramp-test28-shell-command):
49041         Reduce timeouts in `accept-process-output'.
49042         (tramp-test--shell-command-to-string-asynchronously): Add timeout.
49043         (tramp-test29-environment-variables): Remove additional sleep calls.
49044         (tramp-test32-make-nearby-temp-file): New test.
49045         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
49046         (tramp-test33-special-characters)
49047         (tramp-test33-special-characters-with-stat)
49048         (tramp-test33-special-characters-with-perl)
49049         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
49050         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
49051         (tramp-test34-utf8-with-ls)
49052         (tramp-test35-asynchronous-requests)
49053         (tramp-test36-recursive-load, tramp-test37-unload): Rename.
49054         (tramp--test-ftp-p): Simplify check.
49055         (tramp--test-sh-p): New defun.
49056         (tramp-test20-file-modes, tramp-test22-file-times)
49057         (tramp-test26-process-file, tramp-test27-start-file-process)
49058         (tramp-test28-shell-command)
49059         (tramp-test29-environment-variables)
49060         (tramp-test30-vc-registered)
49061         (tramp-test33-special-characters-with-stat)
49062         (tramp-test33-special-characters-with-perl)
49063         (tramp-test33-special-characters-with-ls)
49064         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
49065         (tramp-test34-utf8-with-ls)
49066         (tramp-test35-asynchronous-requests): Use it.
49068 2016-08-06  Michael Albinus  <michael.albinus@gmx.de>
49070         Add missing dcstrings in Tramp, remove chec for obsolee methods
49072         * lisp/net/tramp.el (tramp-progress-reporter-update)
49073         (tramp-unload-file-name-handlers, tramp-get-local-uid)
49074         (tramp-get-local-gid, tramp-get-local-locale):
49075         * lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp)
49076         (tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command):
49077         * lisp/net/tramp-compat.el (tramp-compat-funcall):
49078         * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
49079         * lisp/net/tramp-gw.el (tramp-gw-process-filter):
49080         * lisp/net/tramp-sh.el (tramp-get-remote-path)
49081         (tramp-get-remote-locale, tramp-get-ls-command)
49082         (tramp-get-ls-command-with-dired)
49083         (tramp-get-ls-command-with-quoting-style)
49084         (tramp-get-ls-command-with-w-option)
49085         (tramp-get-test-nt-command, tramp-get-file-exists-command)
49086         (tramp-get-remote-ln, tramp-get-remote-perl)
49087         (tramp-get-remote-stat, tramp-get-remote-readlink)
49088         (tramp-get-remote-trash, tramp-get-remote-touch)
49089         (tramp-get-remote-gvfs-monitor-dir)
49090         (tramp-get-remote-inotifywait, tramp-get-remote-id)
49091         (tramp-get-remote-uid-with-id)
49092         (tramp-get-remote-uid-with-perl, tramp-get-remote-python)
49093         (tramp-get-remote-uid-with-python, tramp-get-remote-uid)
49094         (tramp-get-remote-gid-with-id)
49095         (tramp-get-remote-gid-with-perl)
49096         (tramp-get-remote-gid-with-python, tramp-get-remote-gid)
49097         (tramp-get-env-with-u-option): Add missing docstrings.
49099         * lisp/net/tramp.el (tramp-obsolete-methods)
49100         (tramp-warned-obsolete-methods): Remove.
49101         (tramp-find-method): Do not check for obsolete methods any longer.
49103 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
49105         Make sh-mode always use p-s-lookup-properties
49107         This lets functions which rely on syntax-propertize for parsing
49108         work correctly even before font lock has a chance to run.
49110         * lisp/progmodes/sh-script.el (sh-set-shell): Set
49111         parse-sexp-lookup-properties unconditionally (Bug #4920).
49113 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
49115         Fix cl-assert with atomp FORM, non-nil SHOW-ARGS
49117         * lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a
49118         list when showing its (non-existent) arguments (Bug #18587).
49120 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
49122         Don't delete selection after indent-rigidly
49124         * lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
49125         function to `set-transient-map', this prevents `delete-selection-mode'
49126         from deleting the text that was just indented (Bug #20408).
49128 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
49130         Fix byte-compile of interactive closures
49132         * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put
49133         bindings after docstring and `interactive' form, if any (Bug #24122).
49135 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
49137         Error if --eval arg has text beyond 1 expression
49139         * lisp/startup.el (command-line-1): If --eval argument has more data
49140         than constitutes a single Lisp expression, signal an error (Bug #23159).
49142 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
49144         Fix quoted lambda warning from lexical-let
49146         * lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda
49147         with `function', not `quote' (Bug #11357).
49149 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
49151         Make emerge always use shell-quote-argument
49153         * lisp/vc/emerge.el (emerge-metachars): Obsolete.
49154         (emerge-protect-metachars): Delete.
49155         (emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to
49156         `emerge-protect-metachars' with `shell-quote-argument' so that shell
49157         quoting is done the same on all system types (Bug #6136).  Also shell
49158         quote `emerge-diff-program' and `emerge-diff3-program'.
49160 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
49162         Fix 'dired-diff' when backup file is in another directory
49164         * lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how
49165         the default for FILE is computed, especially when backup files
49166         are involved.  Support backup files in another directory.
49167         Don't suggest the default FILE if it doesn't exist.  (Bug#24089)
49169 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
49171         Fix the 'T' command in Dired with non_ASCII file names
49173         * lisp/dired-aux.el (dired-do-chxxx): Bind coding-system-for-write
49174         to correctly encode file names passed to the invoked PROGRAM.
49175         (Bug#24162)
49177 2016-08-05  Noam Postavsky  <npostavs@gmail.com>
49179         * lisp/files.el (version-control): Drop :group vc (Bug #14687)
49181 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
49183         Merge from origin/emacs-25
49185         d841a03 ; Spelling fix
49186         a6ae479 Post AppDefined events from the main thread ONLY (bug#23934)
49187         d35d398 Update to the AUTHORS file for Bob Weiner
49188         4d2f4df Revert "Fix local printer set to left aligned string formatter."
49189         cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen...
49190         f7ceb8e Revert "Fix English."
49191         baa7abd Improve doc strings of 'gud-gdb' and 'gdb'
49192         aa4271a Fix doc string of 'minibuffer-message-timeout'
49193         b275cc7 Fix English.
49194         3c97b0f Fix ses-delete-blanks to delete only blanks + documentation.
49195         272391f profiler: document prefix arg for tree expansion
49196         442cc39 Clarify usage of eshell-visual-options
49197         b443c3c Fix comment in files-in-below-directory
49198         8a38e94 Fix local printer set to left aligned string formatter.
49199         0f0b191 ; Fix typos in NEWS
49200         6bdf687 ; * etc/NEWS: Remove temporary marks
49202 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
49204         Merge from origin/emacs-25
49206         d08afa1 * etc/AUTHORS: Update the AUTHORS file
49207         2668500 ;; * ChangeLog.2: ChangeLog update.
49208         7acfaea ; ChangeLog fixes
49209         97d28b4 * admin/authors.el (authors-valid-file-names): Addition.
49210         9ab52f6 * admin/authors.el: Additions.
49211         0e646c7 Warn about Cairo-related problems
49212         bc4c07f Don't let completion break `declare' handling
49213         66f95e0 Adjust match data before calling after-change-funs
49214         52cf0d5 Do not show string-rectangle preview if minibuffer is empty
49215         6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas...
49217         # Conflicts:
49218         #       ChangeLog.2
49219         #       src/lisp.h
49221 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
49223         Merge from origin/emacs-25
49225         9a41cd1 ; Fix typo
49226         9356fe2 Expand FIXME near definition of fboundp
49227         219b39f kill-rectangle should mention killed-rectangle
49228         59fa4c3 Avoid assertion violations in nhexl-mode
49230 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
49232         Merge from origin/emacs-25
49234         9ba51ed Document buffer-swap-text+save-excursion interaction
49235         452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
49236         248d5dd Include cl-generic in package--builtin-versions (bug#22817)
49237         8f5a8b6 Improve timing in `tramp-test29-environment-variables'
49238         05ba7a0 Add test for handling environment variables in Tramp
49239         e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
49240         5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
49241         90f2169 ; Spelling fixes
49242         069fc05 Improve documentation of search functions
49243         0a0144a Delete environment variables in Tramp when needed
49244         f624671 Add "New in Emacs 25" section to the FAQ
49245         658daf9 Fix 'vertical-motion' in non-interactive sessions
49246         686b520 Fix memory leak in imagemagick-types
49247         4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
49248         1b2d6a6 Clarify docstring of find-feature-regexp
49249         aac62a6 Add details to cl-lib defining macros' docstrings
49250         d6aa4da Clarify doc string of 'save-buffer'
49251         03bcf11 Un-confuse doc string of 'string-collate-equalp'
49252         c53135b Clarify documentation of 'mouse-on-link-p'
49254         # Conflicts:
49255         #       lisp/emacs-lisp/eieio-core.el
49257 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
49259         Merge from origin/emacs-25
49261         6f285d9 Amend last addition to etc/PROBLEMS
49262         7067890 * etc/PROBLEMS: Mention GTK+ problem with unexpected frame wi...
49264 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
49266         Merge from origin/emacs-25
49268         d4c6774 Fix missing point information in undo
49269         3a9d629 Avoid crashes when buffer modification hooks clobber match data
49270         178b2f5 Note combine-and-quote-strings doesn't shell quote
49271         dec7567 Explain when package-initialize isn't called
49272         113d1e2 Fix escaping in sh-indent-after-continuation docstr
49273         80e2044 ; * etc/NEWS: Improve previous change.
49274         5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
49275         38f4b8e Clarify the documentation of back-references in replacements
49277 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
49279         Merge from origin/emacs-25
49281         850ba44 Clarify lexical binding with symbol args behavior
49282         f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.
49283         68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.  (Bug#23...
49284         21110af Avoid assertion violations when rendering some fonts
49285         6192b6c Document more details of package activation
49286         272ddc6 Fixup warning message regarding HOME a bit more
49287         43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic...
49288         d41f7ff Fix input method "probhat" for Bengali
49289         c150a64 ; Fix typo in commit before last
49290         ebf0472 Add to elisp-completion-at-point's docstring
49291         fd9fad0 Give more helpful warning about setting HOME
49292         ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde...
49294         # Conflicts:
49295         #       lisp/term.el
49297 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
49299         Merge from origin/emacs-25
49301         26d4da0 New input method "probhat" for Bengali
49302         4f445bf ; Spelling fix
49303         f403f03 ; Fix typo
49305 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
49307         Spelling and minor grammar fixes
49309         * test/file-organization.org: Rename from test/file-organisation.org.
49311 2016-08-04  Alan Mackenzie  <acm@muc.de>
49313         Widen in certain low level CC Mode functions.  This fixes bug #24148.
49315         * lisp/progmodes/cc-engine.el (c-state-semi-pp-to-literal)
49316         (c-state-full-pp-to-literal): Widen around the functionality.
49317         (c-parse-ps-state-below): Correct the order of save-excursion and
49318         save-restriction.
49320 2016-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
49322         Fix Bug#24149
49324         * lisp/subr.el (set-transient-map): Don't wait if MAP not present in
49325         overriding-terminal-local-map.  (Bug#24149)
49327 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
49329         Update from gnulib
49331         This incorporates:
49332         2016-07-03 mktime: call tzset as per POSIX
49333         * doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4:
49334         Copy from gnulib.
49336 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
49338         Fix GnuTLS includes
49340         * src/gnutls.c [HAVE_GNUTLS]: Don’t include gnutls/gnutls.h
49341         a second time; although it doesn’t hurt, it’s not needed.
49342         * src/sysdep.c [!HAVE_GNUTLS]: Don’t include gnutls/crypto.h,
49343         as it may not be available.  Problem reported by Glenn Morris in:
49344         https://lists.gnu.org/r/emacs-devel/2016-08/msg00100.html
49346 2016-08-03  Michal Nazarewicz  <mina86@mina86.com>
49348         Fix accessing regex-resources in out-of-tree test runs in regex-tests
49350         [82a487d: Fix reading of regex-resources in regex-tests] attempted to
49351         fix regex-tests failing when run from the source tree (i.e. via make)
49352         by hard-coding path to regex-resources directory relative to the test
49353         directory.
49355         This fixed runs from the tree but broke the test when run using other
49356         methods.
49358         Fix by trying ‘load-file-name’ or ‘buffer-file-name’, whichever is set.
49360         * test/src/regex-tests.el (regex-tests--resources-dir): New variable
49361         storing path to the regex-resources directory.
49362         (regex-tests-generic-line): Use aforementioned variable.
49364 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
49366         Simplify by assuming GnuTLS 2.12.2 or later
49368         * src/gnutls.c (gnutls_certificate_details):
49369         * src/sysdep.c: Assume GnuTLS 2.12.2 or later.
49371 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
49373         Port to systems lacking GNUTLS_NONBLOCK
49375         Problem reported by Colin Baxter in:
49376         https://lists.gnu.org/r/emacs-devel/2016-08/msg00096.html
49377         * src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined.
49379 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
49381         Fix non-blocking GnuTLS with slow connection
49383         Although the problem is reported for OS X (Bug#23982), it seems to
49384         be possible on other POSIXish platforms.
49385         * src/gnutls.c (emacs_gnutls_nonblock_errno) [!WINDOWSNT]:
49386         New function.
49387         (emacs_gnutls_handshake) [!WINDOWSNT]:
49388         Use it as the errno function, if non-blocking.
49389         (Fgnutls_boot): Use GNUTLS_NONBLOCK if non-blocking.
49391 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
49393         Require GnuTLS 2.12.2 or later
49395         * configure.ac, etc/NEWS: Require GnuTLS 2.12.2 or later,
49396         instead of merely 2.6.6 or later (Bug#23982#20).
49397         * src/gnutls.c (init_gnutls_functions, emacs_gnutls_handshake)
49398         [WINDOWSNT]: Don’t bother with gnutls_check_version or
49399         gnutls_transport_set_lowat, as they are no longer needed now that
49400         we require gnutls 2.12.2 or later.
49402 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
49404         * src/window.c (sanitize_window_sizes): Remove unused arg `frame'
49406         * src/window.h (sanitize_window_sizes): Adjust prototype.
49407         * src/frame.c (adjust_frame_size): Adjust calls.
49409 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
49411         Fix (mapcar F S) crash when F alters S’s length
49413         * src/fns.c (mapcar1): Return number of elements computed,
49414         which can be less than LENI if the function alters the list.
49415         All callers changed.  (Bug#24118)
49417 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
49419         Port window changes to --enable-gcc-warnings
49421         * src/window.c (sanitize_window_sizes): Return void.
49422         This pacifies GCC, and no caller uses the return value anyway.
49424 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
49426         * src/window.c: Fix bootstrap failure due to window.el changes
49428         (sanitize_window_sizes): Adjust to new calling convention of
49429         window--sanitize-window-sizes and only call it if defined.
49430         (Fwindow__sanitize_window_sizes): Remove.
49431         (syms_of_window): Don't defsubr it.
49433 2016-08-02  Michael Albinus  <michael.albinus@gmx.de>
49435         Fix Bug#23883
49437         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
49438         Call `process-actions' with adapted position.  The connection
49439         buffer might have been cleaned up already.  (Bug#23883)
49441 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
49443         Port regex changes to strict ISO C
49445         * src/regex.c (regex_compile): Redo casts.
49447 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
49449         * lisp/window.el: Use lexical-binding
49451         (window--min-size-ignore-p): Remove unused arg `horizontal'.
49452         (window--sanitize-window-sizes): Remove unused arg `frame'.
49453         (window-edges): Remove unused vars left-off and right-off.
49454         (display-buffer-reuse-mode-window): Remove unused var `frame?'.
49455         Avoid extraneous setq and do a bit of CSE.
49456         (fit-frame-to-buffer): Remove unused vars `window', `fit-width',
49457         and `toolbar-extra-height'.
49458         (window-adjust-process-window-size): Remove unused arg `process'.
49460 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
49462         Fix unused lexical variable
49464         This fixes the following warning:
49466             In toplevel form:
49467             src/regex-tests.el:416:1:Warning: Unused lexical variable ‘newline’
49469         * test/src/regex-tests.el (regex-tests-BOOST): Remove unused lexical
49470         variable.
49472 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
49474         Remove unused STREQ macro
49476         This fixes the following compilation warning:
49478             regex.c:516:0: warning: macro "STREQ" is not used [-Wunused-macros]
49479              #define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
49480              ^
49482         * src/regex.c (STREQ): Remove unused macro.  It should have been removed
49483         in a [4538a5e: Refactor regex character class parsing in [:name:]]
49484         commit but was mistakenly left out.
49486 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
49488         * lisp/emacs-lisp/cl-generic.el: Fix problems introduced by new
49489         load-history format
49491         * lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
49492         (cl-generic-define-method, cl--generic-describe): Use it.
49493         (cl--generic-search-method): Adjust for new format.
49495         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
49496         * test/lisp/progmodes/elisp-mode-tests.el:
49497         Use cl--generic-load-hist-format rather than hard-coding cl-generic's
49498         internal format.
49500 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
49502         Hardcode regex syntax to remove dead code handling different syntax
49504         Emacs only ever uses its own regex syntax so support for other syntaxes
49505         is never used.  Hardcode the syntax so that the compilar can detect such
49506         dead code and remove it from compiled code.
49508         The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly
49509         specified.  Handle this separatelly with a function argument (replacing
49510         now unnecessary syntax argument).
49512         With this patchset, size of Emacs binary on x86_64 machine is reduced by
49513         around 60 kB:
49515                 new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs
49516                 old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs
49518         * src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs.
49519         (re_compile_pattern): Replace syntax with posix_backtracking argument.
49521         * src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs.
49522         (regex_compile): #ifdef emacs, replace syntax argument with
49523         posix_backtracking which is now used instead of testing for
49524         RE_NO_POSIX_BACKTRACKING syntax.
49525         (re_match_2_internal): Don’t access bufp->syntax #ifndef emacs.
49526         (re_compile_pattern): Replace syntax with posix_backtracking argument.
49528         * src/search.c (compile_pattern_1): Pass boolean posix_backtracking
49529         instead of syntax to re_compile_pattern.
49531 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
49533         Get rid of re_set_whitespace_regexp
49535         * src/regex.h (re_set_whitespace_regexp): Delete.
49536         (re_compile_pattern): Add whitespace_regexp argument #ifdef emacs.
49538         * src/regex.c (re_set_whitespace_regexp, whitespace_regexp): Delete.
49539         (regex_compile): Add whitespace_regexp argument #ifdef emacs and wrap
49540         whitespace_regexp-related code in an #ifdef emacs so it’s compiled out
49541         unless building Emacs.
49542         (re_compile_pattern): Pass whitespace_regexp argument to regex_compile
49544         * src/search.c (compile_pattern_1): Don’t use re_set_whitespace_regexp,
49545         pass the regex as argument to re_compile_pattern instead.
49547 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
49549         Get rid of re_set_syntax
49551         Instead of using a global variable for storing regex syntax, pass it
49552         to re_compile_pattern.  This is only enabled when compiling Emacs (i.e.
49553         ‘#ifdef emacs’).
49555         * src/regex.h (re_set_syntax): Declare only #ifndef emacs.
49556         (re_compile_pattern): Now takes syntax argument #ifdef emacs.
49558         * src/regex.c (re_syntax_options): Define only #ifndef emacs.
49559         (re_compile_pattern): Use the new syntax argument #ifdef emacs.
49561         * src/search.c (compile_pattern_1): Don’t use re_set_syntax and
49562         instead pass syntax to re_compile_pattern directly.
49564 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
49566         Remove dead opcodes in regex bytecode
49568         There is no way to specify before_dot and after_dot opcodes in a regex
49569         so code handling those ends up being dead.  Remove it.
49571         * src/regex.c (print_partial_compiled_pattern, regex_compile,
49572         analyze_first, re_match_2_internal): Remove handling and references to
49573         before_dot and after_dot opcodes.
49575 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
49577         Refactor regex character class parsing in [:name:]
49579         re_wctype function is used in three separate places and in all of
49580         those places almost exact code extracting the name from [:name:]
49581         surrounds it.  Furthermore, re_wctype requires a NUL-terminated
49582         string, so the name of the character class is copied to a temporary
49583         buffer.
49585         The code duplication and unnecessary memory copying can be avoided by
49586         pushing the responsibility of parsing the whole [:name:] sequence to
49587         the function.
49589         Furthermore, since now the function has access to the length of the
49590         character class name (since it’s doing the parsing), it can take
49591         advantage of that information in skipping some string comparisons and
49592         using a constant-length memcmp instead of strcmp which needs to take
49593         care of NUL bytes.
49595         * src/regex.c (re_wctype): Delete function.  Replace it with:
49596         (re_wctype_parse): New function which parses a whole [:name:] string
49597         and returns a RECC_* constant or -1 if the string is not of [:name:]
49598         format.
49599         (regex_compile): Use re_wctype_parse.
49600         * src/syntax.c (skip_chars): Use re_wctype_parse.
49602 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
49604         Split regex glibc test cases into separet tests
49606         * test/src/regex-tests.el (regex-tests): Remove and split into multiple
49607         tests cases.
49608         (regex-tests-glbic-BOOST, regex-tests-glibc-PCRE,
49609         regex-tests-glibc-PTESTS, regex-tests-glibc-TESTS): New test cases split
49610         from ‘regex-tests’.
49612 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
49614         Don’t (require 'cl)
49616         * test/src/regex-tests.el: Don’t (require 'cl).
49617         (regex-tests-PCRE): s/loop/cl-loop/
49619 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
49621         Fix reading of regex-resources in regex-tests
49623         * test/src/regex-tests.el (regex-tests-generic-line): Referring to
49624         ‘buffer-file-name’ does not work when running the test from command
49625         line, i.e. via make, which results in (wrong-type-argument stringp nil)
49626         failures.  Replace it with hard-coded path.
49627         (regex-tests-BOOST, regex-tests-PCRE, regex-tests-PTESTS-whitelist,
49628         regex-tests-TESTS-whitelist): ‘regex-tests-generic-line’ now  includes
49629         the ‘regex-resources’ path component so the tests don’t need to specify
49630         it explicitly.
49632 2016-08-02  Dima Kogan  <dima@secretsauce.net>
49634         Added driver for the regex tests
49636         * test/src/regex-tests.el (regex-tests): Test executing glibc tests
49637         cases.
49639         [mina86@mina86.com: merged test with existing file]
49641 2016-08-02  Dima Kogan  <dima@secretsauce.net>
49643         New regex tests imported from glibc 2.21
49645         * test/src/regex-resources/BOOST.tests:
49646         * test/src/regex-resources/PCRE.tests:
49647         * test/src/regex-resources/PTESTS:
49648         * test/src/regex-resources/TESTS:
49649         New test data files
49651         [mina86@mina86.com: Moved files from test/src/regex/* to test/src/*.]
49653 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
49655         Fix use-after-close in connect_network_socket
49657         * src/process.c (connect_network_socket):
49658         Reverse sense of previous fix.  Problem reported by Ken Brown in:
49659         https://lists.gnu.org/r/emacs-devel/2016-08/msg00004.html
49661 2016-08-01  Glenn Morris  <rgm@gnu.org>
49663         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
49664         Respect autoload-timestamps for "actual autoloads are elsewhere" case.
49666 2016-07-31  Stefan Merten  <stefan@merten-home.de>
49668         * lisp/textmodes/rst.el: Major refactoring, minor changes, minor fixes
49670         (rst-Ado, rst-Hdr, rst-Ttl, rst-Stn): Introduce classes
49671         representing reStructuredText section header concepts.
49672         (rst-mode-map, rst-new-preferred-hdr)
49673         (rst-update-section, rst-classify-adornment)
49674         (rst-ttl-at-point, rst-all-ttls-cache)
49675         (rst-hdr-hierarchy-cache, rst-reset-section-caches)
49676         (rst-all-ttls, rst-infer-hdr-hierarchy, rst-hdr-hierarchy)
49677         (rst-all-ttls-with-level, rst-get-previous-hdr)
49678         (rst-adornment-complete-p, rst-next-hdr, rst-adjust)
49679         (rst-adjust-section, rst-promote-region)
49680         (rst-display-hdr-hierarchy, rst-straighten-sections)
49681         (rst-all-stn, rst-remaining-stn, rst-toc-insert)
49682         (rst-toc-insert-node, rst-toc-node, rst-toc)
49683         (rst-forward-section, rst-adornment-level)
49684         (rst-font-lock-handle-adornment-pre-match-form)
49685         (rst-imenu-convert-cell, rst-imenu-create-index): Refactor
49686         using classes.
49687         (rst-compare-adornments, rst-get-adornment-match): Remove
49688         functions now in classes.
49689         (rst-re-alist-def, rst-toc-mode)
49690         (rst-font-lock-extend-region-extend): Minor improvements.
49691         (rst-mode, rst-compile): Use `setq-local'.
49692         (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
49693         (rst-official-version, rst-official-cvs-rev)
49694         (rst-package-emacs-version-alist): Maintain version tags.
49696 2016-07-30  Martin Rudalics  <rudalics@gmx.at>
49698         Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107)
49700         * src/w32fns.c (Fw32_frame_geometry): Fix calculation of tool
49701         bar width (Bug#24107).  Reindent.
49702         * src/xfns.c (frame_geometry): Fix calculation of tool bar
49703         width on non-GTK builds.
49705 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
49707         Fix region display while dragging mouse
49709         * lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the
49710         buffer of the drag event, to allow mark to be set and the region
49711         be shown as we drag the mouse.  (Bug#24030)
49713 2016-07-30  Tino Calancha  <tino.calancha@gmail.com>
49715         Copy just non-empty strings to kill-ring
49717         * lisp/dired.el (dired-copy-filename-as-kill):
49718         Do not change the kill ring when the string is empty (Bug#24103).
49720 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
49722         Avoid warnings about undo list while decoding
49724         * src/coding.c (coding_restore_undo_list): New function.
49725         (decode_coding_gap, decode_coding_object): Temporarily set the
49726         buffer's undo list to t, to avoid warnings when decoding changes
49727         the buffer many times, e.g. due to post-read-conversion.  Use
49728         coding_restore_undo_list to make sure the undo list is restored.
49729         (Bug#23813)
49731 2016-07-28  Noam Postavsky  <npostavs@gmail.com>
49733         profiler: Add mouse-1 binding for tree expansion
49735         (profiler-report-mode-map): Add mouse-1 binding for
49736         profiler-report-toggle-entry (Bug #13455).
49738 2016-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>
49740         Enable addition of local printers from a mode hook.
49742         * doc/misc/ses.texi (Printer functions): Split the node into 5
49743         sub-nodes + add some extra documentation.
49744         (Various kinds of printer functions): Make an itemization to
49745         disintguish better the 3 types of printers, give an example of
49746         lambda printer definition.
49747         (Standard printer functions): Add documentation for ses-prin1
49748         printer function.
49749         (Local printer functions): Add documentation for creating
49750         local printers programmatically from a hook.
49751         (Writing a lambda printer function): Add documentation about
49752         anti-stackoverflow precautions to take when you call the
49753         standard printer functions from inside a local printer.
49755         * lisp/ses.el (ses-standard-printer-functions): Add ses-prin1
49756         among standard printer function, and update docstring
49757         accordingly.
49758         (ses-call-printer, ses-export-tab): Call `ses-prin1' instead
49759         of prin1-to-string.
49760         (ses-define-local-printer): Add definition to arguments so
49761         that a local printer can be defined programmatically from a
49762         mode hook.  Make docstring more substantial.  Use completing
49763         read for local printer name input.  Plus some minor
49764         optimization.
49765         (ses-define-if-new-local-printer): New defsubst.
49766         (ses-center, ses-center-span, ses-dashfill)
49767         (ses-dashfill-span, ses-tildefill-span): Allow to pass printer
49768         as an optional argument to superseed column printer/default
49769         spreadsheet printer.
49770         (ses-prin1): New defun.
49772 2016-07-27  Ted Zlatanov  <tzz@lifelogs.com>
49774         Prompt to save gnus-cloud-method.
49776         Since `gnus-cloud-method' is a defcustom, when it's set, we should
49777         prompt the user to save it, so the customization is not lost on
49778         restart.
49780         * lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
49781         Prompt to save the customization of `gnus-cloud-method'.
49783 2016-07-27  Ken Brown  <kbrown@cornell.edu>
49785         Fix dired-test-bug22694
49787         * test/lisp/dired-tests.el (dired-test-bug22694): Delete the
49788         "bug22694" directory, if it exists, before running the test.  It
49789         might be left over from a previous aborted run of the test.
49791 2016-07-27  Michal Nazarewicz  <mina86@mina86.com>
49793         Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020)
49795         * src/regex.c (mutually_exclusive_p): Fix how whether character is
49796         unibyte is tested when calling execute_charset function.  This bug has
49797         been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to
49798         match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro.
49799         Reinstitute it.
49801 2016-07-27  Tino Calancha  <tino.calancha@gmail.com>
49803         Remove hook when disabling ibuffer-auto-mode
49805         * lisp/ibuf-ext.el (ibuffer-auto-mode):
49806         Remove 'ibuffer-auto-update-changed' from 'post-command-hook'.
49808 2016-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
49810         * lisp/subr.el (cancel-change-group): Reset cell in case of error
49812         Since the setcdr/setcdr is supposed to be temporary, use unwind-protect
49813         to make sure we properly undo the temporary change even in case of error.
49815 2016-07-26  Eli Zaretskii  <eliz@gnu.org>
49817         Avoid segfaults in compute_motion
49819         * src/indent.c (compute_motion): Don't turn on and don't use the
49820         width cache unless the buffer's width-table is non-nil.  This
49821         avoids segfaults because code that uses the width cache assumes
49822         the width-table exists.  (Bug#24064)
49824 2016-07-26  Nicolas Petton  <nicolas@petton.fr>
49826         Do not sharp-quote lambdas
49828         * lisp/progmodes/sql.el: Remove sharp-quotes in lambdas.
49830 2016-07-25  Ted Zlatanov  <tzz@lifelogs.com>
49832         * lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Fix
49833         'base64-gzip encoding.
49835 2016-07-25  Andrew Hyatt  <ahyatt@gmail.com>
49837         Add warning to format-alist docs.
49839         */doc/lispref/files.texi (format-alist) Change documentation for
49840         format-alist to warn against file modifications when formatting, which
49841         leads to incorrect results.  (Bug#5440)
49843         Changes suggested by Eli.
49845 2016-07-25  Katsumi Yamaoka  <yamaoka@jpl.org>
49847         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
49848         Preserve key bindings that shr adds (bug#23964).
49850 2016-07-25  Michal Nazarewicz  <mina86@mina86.com>
49852         Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’ (bug#24020)
49854         The regex engine tries to optimize Kleene star by avoiding backtracking
49855         when it can detect that star’s operand cannot match what follows it in
49856         the pattern.
49858         For example, when ‘[[:alpha:]]*1’ tries to match a ‘foo’, the engine
49859         will test the longest match for ‘[[:alpha:]]*’, namely ’foo’ which is
49860         the entire string.  Literal digit one still present in the pattern will
49861         however not match the remaining empty string.
49863         Normally, backtracking would be performed trying a shorter match for the
49864         character class (namely ‘fo’ leaving ‘o’ in the string), but since the
49865         engine knows whatever would be put back into the string cannot possibly
49866         match literal digit one so no backtracking will be attempted.
49868         In the regexes of the form ‘[[:CC:]]*X’, the optimization can be applied
49869         if the character class CC does not match character X.  In the above
49870         example, this holds because digit one is not in alpha character class.
49872         This test is performed by mutually_exclusive_p function but it did not
49873         check class bits of a charset opcode.  This resulted in an assumption
49874         that character classes do not match multibyte characters.  For example,
49875         it would incorrectly conclude that [[:alpha:]] doesn’t match ‘ż’.
49877         This, in turn, led to the aforementioned Kleene star optimization being
49878         incorrectly applied in patterns such as ‘[[:graph:]]*☠’ (which should
49879         match ‘☠’ but doesn’t as can be tested by executing
49880             (string-match-p "[[:graph:]]*☠" "☠")
49881         which should return 0 but instead yields nil.
49883         This issue affects any class witch matches multibyte characters, i.e.
49884         if ‘[[:cc:]]’ matches a multibyte character X then ‘[[:cc:]]*X’ will
49885         fail to match ‘X’.
49887         * src/regex.c (executing_charset): A new function for executing the
49888         charset and charset_not opcodes.  It performs check on the character
49889         taking into consideration existing bitmap, range table and class bits.
49890         It also advances the pointer in the regex bytecode past the parsed
49891         opcode.
49892         (CHARSET_LOOKUP_RANGE_TABLE_RAW, CHARSET_LOOKUP_RANGE_TABLE): Removed.
49893         Code now included in executing_charset.
49894         (mutually_exclusive_p, re_match_2_internal): Changed to take advantage
49895         of executing_charset function.
49897         * test/src/regex-tests.el: New file with tests for the character class
49898         matching.
49900 2016-07-25  Nicolas Petton  <nicolas@petton.fr>
49902         Fix auto-reverting image-mode buffer (bug#21598)
49904         When auto-reverting an image buffer, `image-mode' is not called since
49905         `revert-buffer' is called with `preserve-modes' set to non-nil.
49907         * lisp/image-mode.el (image-after-revert-hook): Check if there is an
49908         image display property for the current buffer before updating it.
49910 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
49912         ‘signal’ no longer returns
49914         Although for decades ‘signal’ has been documented to not return,
49915         a corner case in the Lisp debugger causes ‘signal’ to return.
49916         Remove the corner case and adjust Emacs internals accordingly.
49917         An alternative would be to document the corner case, but this
49918         would complicate the Lisp API unnecessarily.  (Bug#24047)
49919         * src/eval.c (signal_or_quit): New function, with most of the
49920         old contents of Fsignal.
49921         (quit): New function, which uses signal_or_quit and which
49922         might return.  All keyboard-based callers of Fsignal (Qquit,
49923         Qnil) changed to use this new function instead.
49924         (Fsignal): Use signal_or_quit.  Now _Noreturn.  All callers
49925         changed.
49926         (xsignal): Move to lisp.h.
49927         * src/lisp.h (xsignal): Now an inline function, as it's now
49928         just an alias for Fsignal.
49930 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
49932         Require libgnutls unless --with-gnutls=no
49934         * configure.ac: Report an error if the gnutls library is missing,
49935         unless --with-gnutls=no is specified.
49937 2016-07-23  Alan Mackenzie  <acm@muc.de>
49939         Fontify C++ parameter packs.
49941         This fixes debbugs #23610.
49943         * lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
49944         c-lang-defconsts/defvars.
49945         (c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.
49947         * lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key.
49949 2016-07-23  Alan Mackenzie  <acm@muc.de>
49951         Java Mode: Handle strings as case labels correctly.
49953         This fixes debbugs #23901.
49955         * lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the
49956         Java value.
49958 2016-07-22  Kaushal Modi  <kaushal.modi@gmail.com>
49960         Avoid repeated warnings while restoring desktop
49962         * lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings
49963         when files are being opened during desktop restore.
49965 2016-07-22  Eli Zaretskii  <eliz@gnu.org>
49967         Fix compilation warning in the MinGW build
49969         * nt/inc/ms-w32.h: Include stdint.h.
49970         (_execvp, execve): Provide prototypes.
49972         * lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp,
49973         it is now in nt/inc/ms-w32.h.
49974         * lib-src/ntlib.c (getppid): Avoid compiler warnings due to format
49975         mismatch.
49976         (sys_ctime): Remove, not used.
49978 2016-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
49980         Move read-multiple-choice to subr-x.el
49982         * lisp/faces.el (read-multiple-choice-face): Fix doc string.
49984         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
49985         from subr.el.
49987         * lisp/gnus/message.el (subr-x): Ditto.
49989         * lisp/net/nsm.el: Require subr-x for read-multiple-choice.
49991         read-multiple-choice doesn't need to be in the dumped Emacs, so move
49992         it to a less central file.
49994 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
49996         Update define-ibuffer-op doc string
49998         * lisp/ibuf-macs.el (define-ibuffer-op):
49999         Mention that BODY is evaluated with 'buf' bound to the actual
50000         marked buffer being processed.
50002 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
50004         Update define-ibuffer-op doc string
50006         * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX
50007         instead of refer the reader to the source code.
50008         Document arg BODY.
50010 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
50012         Fix shell-command[-on-region] doc strings
50014         * lisp/simple.el (shell-command, shell-command-on-region):
50015         Drop the sentence saying that the command may delete the buffer
50016         '*Shell Command Output*': the command never delete such
50017         buffer (Bug#23936).
50019 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
50021         ;Revert ";Partially revert 2649105a"
50023         This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e.
50025 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
50027         ;Partially revert 2649105a
50029         * lisp/textmodes/tex-mode.el (tex-common-initialization): Use
50030         setq-local to modify prettify-symbols-compose-predicate.
50032 2016-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
50034         * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE
50036         (struct byte_stack): Re-add `bottom'.
50037         (exec_byte_code): Initialize it.
50039 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
50041         Ibuffer: Use default output buffer for shell commands
50043         * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer
50044         '*Shell Command Output*', as command 'shell-command-file'.
50046 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
50048         Fix failing test
50050         * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
50051         Enable Font Lock mode in order to initialize
50052         'char-property-alias-alist' (Bug#23954).
50054 2016-07-21  Paul Eggert  <eggert@cs.ucla.edu>
50056         Fix use-after-close in connect_network_socket
50058         * src/process.c (connect_network_socket): Don’t use
50059         external_sock_fd after closing it.  Problem found by Coverity Scan.
50061 2016-07-21  Katsumi Yamaoka  <yamaoka@jpl.org>
50063         * lisp/net/shr.el (shr-fill-line):
50064         Preserve text properties in folded lines (bug#24034).
50066 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
50068         Fix lifetime bug in tzlookup
50070         * src/editfns.c (tzlookup): Fix storage lifetime bug when
50071         INTEGERP (zone) && settz.  Problem found by Coverity Scan.
50073 2016-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
50075         Fix shr.el/image build problem
50077         (Bug#24035)
50079         * lisp/net/shr.el: Require image, since some builds seem to
50080         break without it (bug#24035).
50082 2016-07-20  Ted Zlatanov  <tzz@lifelogs.com>
50084         Bring the Gnus Cloud package into working order.
50086         * lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el.
50088         * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to
50089         simplify non-file data.
50090         (gnus-cloud-storage-method): New defcustom to support nil, Base64,
50091         Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to
50092         EPG if that's available, Base64+gzip otherwise.
50093         (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations
50094         interactive, defaults to enabled.
50095         (gnus-cloud-group-name): New variable for the Gnus Cloud group name.
50096         (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just
50097         "Version".
50098         (gnus-cloud-insert-data): Simplify and support :newsrc-data entries.
50099         (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various
50100         storage methods as per gnus-cloud-storage-method.
50101         (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker.
50102         (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data
50103         entries.
50104         (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to
50105         file and data handlers.
50106         (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data
50107         entries.
50108         (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and
50109         be more careful.
50110         (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file.
50111         (gnus-cloud-file-covered-p, gnus-cloud-all-files)
50112         (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group)
50113         (gnus-cloud-add-timestamps, gnus-cloud-available-chunks)
50114         (gnus-cloud-prune-old-chunks): Fix indentation.
50115         (gnus-cloud-timestamp): New function to make a standard Gnus Cloud
50116         timestamp.
50117         (gnus-cloud-file-new-p): Use it.
50118         (gnus-cloud-upload-all-data): Add interactive convenience function to
50119         upload all data.
50120         (gnus-cloud-upload-data): Make interactive; collect files and newsrc
50121         data separately; refresh Gnus Cloud group after insert.
50122         (gnus-cloud-download-all-data): Add interactive convenience function to
50123         download all data.
50124         (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version"
50125         marker and different storage methods.
50126         (gnus-cloud-host-server-p): New function to check if a server is the
50127         Gnus Cloud host.
50128         (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data.
50129         (gnus-cloud-host-acceptable-method-p): New function so
50130         other code can check if a server method can host the Gnus cloud.
50131         (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI.
50132         (gnus-cloud-method): Make this a defcustom and note how to set it.
50134         * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded
50135         keybindings under the `~' prefix.
50137         * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar)
50138         (gnus-server-cloud, gnus-server-cloud-host)
50139         (gnus-server-font-lock-keywords, gnus-server-insert-server-line)
50140         (gnus-server-toggle-cloud-method-server): Support Gnus Cloud
50141         synchronized servers and synchronization host server toggling (`i' and
50142         `I') and visual display.
50143         (gnus-server-toggle-cloud-method-server): Use
50144         gnus-cloud-host-acceptable-method-p.
50145         (gnus-server-toggle-cloud-method-server): Use custom-set-variables to
50146         set the gnus-cloud-method. Ask the user if it's OK to upload the data
50147         right now.
50149         * doc/misc/gnus.texi: Document Gnus Cloud package.
50151 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
50153         Remove CHECK_FRAME_FONT cruft from bytecode.c
50155         * src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h.
50156         Remove some old ‘#if 0’ code.
50158 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
50160         Work around GCC bug 54561 in a better way
50162         The new approach is less selective, but also less intrusive on C code.
50163         * src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered.
50164         * src/conf_post.h (NONVOLATILE): Remove.  All uses removed.
50166 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
50168         Fix port to glibc 2.24 (pre-release) + ppc64
50170         * src/callproc.c (child_setup): Use emacs_exec_file
50171         so that ASLR is enabled in the child process.
50172         * src/emacs.c: Move some personality details into sys/sysdep.c.
50173         Do not include <sys/personality.h>.
50174         (main): Disable ASLR earlier, so that we don’t chdir twice.
50175         * src/lisp.h (disable_address_randomization): New decl.
50176         * src/sysdep.c (disable_address_randomization)
50177         [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details
50178         here from emacs.c.
50179         (emacs_exec_file): New function.
50181 2016-07-19  Alan Third  <alan@idiocy.org>
50183         Prevent bar cursor overwriting next glyph (bug#16856)
50185         * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
50186         before setting final size.
50188 2016-07-19  Eli Zaretskii  <eliz@gnu.org>
50190         Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil
50192         * src/insdel.c (adjust_markers_bytepos): New function.
50193         * src/lisp.h (adjust_markers_bytepos): Add prototype.
50194         * src/insdel.c (replace_range, replace_range_2):
50195         * src/editfns.c (Ftranspose_regions): Call
50196         adjust_markers_bytepos.  (Bug#5131)
50198         * test/src/editfns-tests.el (transpose-test-reverse-word)
50199         (transpose-test-get-byte-positions): New functions.
50200         (transpose-ascii-regions-test)
50201         (transpose-nonascii-regions-test-1)
50202         (transpose-nonascii-regions-test-2): New tests.
50204 2016-07-19  Katsumi Yamaoka  <yamaoka@jpl.org>
50206         Make gif animation work (bug#24004)
50208         * lisp/image.el (image-animate-timeout): Fix the logic that tests if
50209         an animation is too big (bug#24004).
50211 2016-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
50213         * lisp/simple.el (undo-amalgamate-change-group): New function
50215         * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
50216         (viper-set-complex-command-for-undo): Save current state with
50217         prepare-change-group.
50218         * lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
50219         (viper-buffer-undo-list-mark): Remove.
50221 2016-07-18  Noam Postavsky  <npostavs@gmail.com>
50223         Keep w32 environment settings internal only
50225         * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
50226         set_initial_environment call.  This prevents Emacs' modifications to the
50227         environment from contaminating Vprocess_environment and
50228         Vinitial_environment (Bug #10980).
50229         * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
50230         environment in as a fallback to Vprocess_environment.
50231         * test/src/callproc-tests.el (initial-environment-preserved): New Test.
50233 2016-07-18  Nicolas Petton  <nicolas@petton.fr>
50235         Better documentation for cl-reduce (bug#24014)
50237         * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
50239 2016-07-17  Alan Third  <alan@idiocy.org>
50241         Remove separate pool for popup dialogs (bug#23856)
50243         * src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
50244         autorelease pool and Popdown_data struct.
50246 2016-07-17  Mark Oteiza  <mvoteiza@udel.edu>
50248         Use eldoc-documentation-functions
50250         * lisp/hexl.el (hexl-mode):
50251         * lisp/ielm.el (inferior-emacs-lisp-mode):
50252         * lisp/progmodes/cfengine.el (cfengine3-mode):
50253         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
50254         * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode):
50255         * lisp/progmodes/python.el (python-mode):
50256         * lisp/simple.el (read--expression): Add buffer-locally to hook
50257         eldoc-documentation-functions.
50259 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
50261         Optimize ucs-normalize.el compilation
50263         * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
50264         (quick-check-list-to-regexp): Use regexp-opt-charset instead of
50265         regexp-opt.
50266         * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
50267         temp buffer for the whole loop.
50269 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
50271         Add tests for ucs-normalize.el
50273         Some tests are marked as expected to fail.
50275         * test/lisp/international/ucs-normalize-tests.el: New tests.
50276         * admin/unidata/NormalizationTest.txt: Add data for tests.
50277         * admin/unidata/README: Add URL for NormalizationTest.txt.
50278         * admin/notes/unicode: Add note about running (and updating the data
50279         for) the new tests.  Remove note about normalization being unsupported.
50281 2016-07-16  Alan Third  <alan@idiocy.org>
50283         Fix cursor display (bug#23993)
50285         * src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator.
50287 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
50289         Stop worrying about Alliant in bytecode.c
50291         * src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.
50293 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
50295         Remove BYTE_MAINTAIN_TOP
50297         It is no longer needed now that we assume GC_MARK_STACK ==
50298         GC_MAKE_GCPROS_NOOPS.
50299         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
50300         All uses removed, and code simplified accordingly.
50301         (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
50302         are always no-ops now.  All uses removed.
50303         (MAYBE_GC): Remove.  All uses replaced by maybe_gc,
50304         since it is now equivalent.
50306 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
50308         Remove now-inaccurate bytecode comments
50310         * src/bytecode.c: Remove comments that are no longer accurate.
50311         Most of these are actually old ChangeLog entries.
50313 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
50315         Port to glibc 2.24 (pre-release) + ppc64
50317         Inspired by a suggestion by Florian Weimer in:
50318         https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
50319         * configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
50320         Rename from HAVE_PERSONALITY_LINUX32, and check for
50321         ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
50322         All uses changed.
50323         * src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
50324         Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
50325         flag ourselves.  Just set that flag, rather than also setting the
50326         persona.  When doing it, avoid functions like putenv that may
50327         allocate memory.
50329 2016-07-14  Mark Oteiza  <mvoteiza@udel.edu>
50331         Revert "Add a couple cells to lisp-prettify-symbols-alist"
50333         This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9.
50335 2016-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
50337         * lisp/simple.el (shell-command): Add save-match-data comment
50339 2016-07-14  Alan Mackenzie  <acm@muc.de>
50341         CC Mode: correct incorrect invocation of parse-partial-sexp.
50343         Fixes bug #23944.
50345         * lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of
50346         an invocation of parse-partial-sexp 'syntax-table, not the fourth.
50348 2016-07-14  Andreas Schwab  <schwab@suse.de>
50350         Fix configure summary for hybrid malloc configurations
50352         * configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no,
50353         parenthesize value of GNU_MALLOC_reason.
50355 2016-07-14  Stephen Berman  <stephen.berman@gmx.net>
50357         Fix delete-duplicate-lines
50359         * lisp/sort.el (delete-duplicate-lines): Delete duplicate
50360         first line when operating backward (bug#23863).
50362 2016-07-14  Andreas Schwab  <schwab@suse.de>
50364         Remove unused SHEAP_OBJ
50366         * Makefile.in (base_obj): Remove $(SHEAP_OBJ).
50368 2016-07-13  Katsumi Yamaoka  <yamaoka@jpl.org>
50370         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
50371         Use shr-image-map instead of shr-map (bug#23964).
50373 2016-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
50375         * lisp/mouse.el (mouse): Consolidate group definition here
50377         * lisp/cus-edit.el (mouse): Remove both group definitions.
50379 2016-07-13  Chris Feng  <chris.w.feng@gmail.com>
50381         Include versioned preloaded libraries in `package--builtin-versions'
50383         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
50384         exclude preloaded libraries or remove entries generated for them.
50385         (autoload-generate-file-autoloads): Do not generate autoload
50386         statements for preloaded libraries.
50388 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
50390         Omit unnecessary #includes from xwidget.c
50392         * src/xwidget.c: Remove #include directives that are not needed.
50393         Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this
50394         file is compiled only if the X interface is available.
50396 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
50398         Port xwidget.c to GCC 6 with --enable-gcc-warnings
50400         * src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay):
50401         Adjust to pacify GCC.  Add a couple of FIXME comments, suggesting
50402         possible bugs found by GCC.
50404 2016-07-12  Tino Calancha  <tino.calancha@gmail.com>
50406         Escape meta chars in commands processed by shell
50408         * lisp/progmodes/grep.el (grep-compute-defaults): Quote braces
50409         in all commands to be passed to a shell (Bug#23959).
50411 2016-07-12  John Wiegley  <johnw@newartisans.com>
50413         Revert "Cleanup tooltips"
50415         This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921.
50417         I am reverting this change because it was applied without prior discussion
50418         on emacs-devel, and has been found to break the NS port.  It needs more
50419         testing and review before it should be applied here.
50421 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
50423         * lisp/emacs-lisp/cl-macs.el (cl--prog): New function
50425         (cl-prog, cl-prog*): New macros.
50427 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
50429         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic
50431         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
50432         (cl--generic-make-defmethod-docstring): New function for that.
50433         (cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
50434         (cl-generic-define-method, cl--generic-describe): Change `load-history'
50435         format of cl-defmethods, so as not to confused methods with equal
50436         specializers but different qualifiers.
50437         * lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.
50439 2016-07-12  Eli Zaretskii  <eliz@gnu.org>
50441         Don't install keyboard hook when debugged on MS-Windows
50443         * src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
50444         hook if we are being debugged.  This avoids hosing the debugger,
50445         because the hook is global, and is called in the context of the
50446         thread which installed it, and that thread is stopped when GDB has
50447         control.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
50449 2016-07-12  Alan Mackenzie  <acm@muc.de>
50451         Amend CC Mode to handle big C++ raw strings correctly.
50453         Problems were caused by such a string spanning jit-lock chunks, and by a flaw
50454         in the +-500 bytes boundaries imposed for macros.
50456         * lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
50457         macro boundaries here.
50458         (c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
50459         lower boundary.  Fix the check on the upper boundary.
50461         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
50462         point already being within a raw string.
50464         * lisp/progmodes/cc-engine.el (c-raw-string-pos)
50465         (c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
50466         Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
50467         with other Emacsen.
50469 2016-07-12  Stephen Berman  <stephen.berman@gmx.net>
50471         * lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.
50473 2016-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
50475         Cleanup tooltips
50477         * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
50478         * src/frame.h (struct frame): New bitfield to indicate tooltip frame.
50479         (FRAME_TOOLTIP_P): New macro.
50480         * src/frame.c (make_frame): Mark new frame as regular frame by default.
50481         (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
50482         (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
50483         and 'Qtooltip_parameters' instead.
50484         * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
50485         * src/gtkutil.c (xg_hide_tip): New function.
50486         (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
50487         * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
50488         * src/nsfns.m (toplevel): Remove 'tip_frame' leftover.
50489         * src/w32fns.c (unwind_create_tip_frame): Remove.
50490         (w32_display_monitor_attributes_list)
50491         (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
50492         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
50493         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
50494         as a tooltip frame and record it using appropriate display info.
50495         (x_hide_tooltip): Add frame arg.
50496         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
50497         base frame parameters, store tooltip hide timer among tooltip frame
50498         parameters.
50499         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
50500         (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
50501         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
50502         * src/w32term.c (w32_read_socket): Extract tooltip window id from
50503         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
50504         (x_new_font): Use FRAME_TOOLTIP_P.
50505         (x_free_frame_resources): Reset pointer to tooltip frame.
50506         * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
50507         * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
50508         Use FRAME_TOOLTIP_P.
50509         * src/xfns.c (x_make_monitor_attribute_list)
50510         (Fx_display_monitor_attributes_list): Likewise.
50511         (unwind_create_tip_frame): Remove.
50512         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
50513         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
50514         as a tooltip frame and record it using appropriate display info.
50515         (x_hide_tooltip): Add frame arg.
50516         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
50517         base frame parameters, store tooltip hide timer among tooltip frame
50518         parameters.  To hide GTK system tooltip, use timeout hooked into GTK
50519         event loop.
50520         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
50521         (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
50522         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
50523         * src/xterm.c (handle_one_xevent): Extract tooltip window id from
50524         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
50525         (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
50526         (x_free_frame_resources): Reset pointer to tooltip frame.
50527         * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
50528         (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.
50530 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
50532         * src/fns.c (syms_of_fns): Leave `features' lexically scoped
50534 2016-07-11  Mario Lang  <mlang@delysid.org>
50536         Test mapcan
50538         * test/src/fns-tests.el (fns-tests-mapcan): New test.
50540 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
50542         Prevent to apply funcall on t
50544         * lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of
50545         'ediff-after-quit-hook-internal' hook (Bug#23933).
50547 2016-07-11  Tino Calancha  <tino.calancha@gmail.com>
50549         Ignore angle mode while simplifying units
50551         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
50552         Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
50553         is non-nil (Bug#23889).
50554         * lisp/calc/calc-math.el (math-to-radians, math-from-radians)
50555         (math-from-radians-2, math-to-radians-2): Idem.
50557 2016-07-11  Eli Zaretskii  <eliz@gnu.org>
50559         Fix display of composed characters
50561         * src/xdisp.c (x_produce_glyphs): Fix off-by-one error in
50562         iteration through composition glyphs.  (Bug#23938)
50564 2016-07-11  Paul Eggert  <eggert@cs.ucla.edu>
50566         Fix composition bug caused by off-by-1 typo
50568         * src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when
50569         computing composition glyph (Bug#23938).
50571 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
50573         Dired always read file system
50575         * lisp/dired.el (dired-always-read-filesystem): Add new option.
50576         (dired-mark-files-containing-regexp): Use it (Bug#22694).
50577         * doc/emacs/dired.texi: Mention it in the manual.
50578         * test/lisp/dired-tests.el (dired-test-bug22694): Add test.
50579         ;* etc/NEWS: Add entry for this change.
50581 2016-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
50583         * src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.
50585 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
50587         Avoid 'unused var' 'not left unused var' warnings
50589         * lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'.
50590         Rename used var '_buffer' to 'cbuffer'.
50592         * lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark'
50593         to cmark'.
50595 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
50597         * lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings
50599 2016-07-10  Michael Albinus  <michael.albinus@gmx.de>
50601         Add a note how to use `tramp-own-remote-path'
50603         * doc/misc/tramp.texi (Inline methods, External methods)
50604         (Remote shell setup, Android shell setup)
50605         (Frequently Asked Questions, Frequently Asked Questions):
50606         Use @command and @samp consequently.
50607         (Remote programs): The remote shell must support the -l
50608         argument, in order to use `tramp-own-remote-path'.  (Bug#23914)
50610 2016-07-10  Alan Third  <alan@idiocy.org>
50612         Remove App Nap setting from Info.plist (bug#22993)
50614         * nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since
50615         it doesn't actually disable app nap.
50617 2016-07-09  Mario Lang  <mlang@delysid.org>
50619         An efficient built-in mapcan
50621         A built-in version of `mapcan' avoids consing up (and GC'ing) the
50622         intermediate list.
50624         * src/fns.c (Fmapcan): New built-in.
50625         (syms_of_fns): Define.
50627         * lisp/emacs-lisp/cl.el (mapcan): Remove defalias.
50629         * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
50630         if only one sequence is provided.
50632         * lisp/progmodes/hideif.el (hif-delimit):
50633         * lisp/dired-aux.el (dired-do-find-regexp):
50634         * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
50635         `cl-mapcan'.
50637         * lisp/woman.el (eval-when-compile): Require 'cl-lib only when
50638         compiling.
50640         * lisp/mouse.el (mouse-buffer-menu-map):
50641         * lisp/net/pop3.el (pop3-uidl-dele):
50642         * lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
50643         * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
50644         * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
50645         * lisp/gnus/nnmail.el (nnmail-split-it):
50646         * lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
50647         * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
50648         * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
50650 2016-07-09  Tino Calancha  <tino.calancha@gmail.com>
50652         Detect aliases to built-in functions
50654         * lisp/help-fns.el (describe-function-1): Check for aliases
50655         defined with (defalias alias (symbol-function built-in)) (Bug#23887).
50657         * test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
50658         failing this test.
50660 2016-07-09  Michael Albinus  <michael.albinus@gmx.de>
50662         Avoid recursive detection of remote uid and gid in tramp-gvfs.el
50664         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
50665         New variable.
50666         (tramp-gvfs-maybe-open-connection): Use it.
50668         * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
50669         Reorder test.
50671 2016-07-09  Jürgen Hötzel  <juergen@archlinux.org>
50673         Wrap around error in coreutil's ls
50675         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
50676         "--quoting-style=literal" if remote host supports quoting style.
50677         Recent versions of coreutils changed default quoting style to
50678         "--quoting=shell-escape".
50680 2016-07-09  Eli Zaretskii  <eliz@gnu.org>
50682         Minor tweaks of copying text properties when padding strings
50684         * src/editfns.c (styled_format): Don't include padding on the left
50685         in the properties at the beginning of the string.  (Bug#23897)
50687         * test/src/editfns-tests.el (format-properties): Add tests for
50688         faces when the string is padded on the left or on the right.
50690 2016-07-08  Mario Lang  <mlang@delysid.org>
50692         No need to require the same feature twice.
50694         * lisp/dired-aux.el (require 'cl-lib): Remove.
50696 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
50698         Turn on lexical binding
50700         * lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
50701         (secrets-search-items, secrets-create-item): Use append.
50702         (secrets-show-secrets): Remove unused binding.
50703         (secrets-expand-item, secrets-tree-widget-after-toggle-function):
50704         Ignore unused arguments.
50706 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
50708         Derive secrets-mode from special-mode
50710         * lisp/net/secrets.el: Remove top-level secrets-mode hack.
50711         (secrets-mode-map): New variable.  Add key bindings to n and p for
50712         navigating lines.
50713         (secrets-mode): Derive from special-mode.  Remove keymap code and
50714         initialization code.  Do not record undo information.  Make
50715         secrets-show-collections the local revert-buffer-function.
50716         (secrets-show-collections): Change signature to satisfy revert-buffer.
50718 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
50720         Add a couple cells to lisp-prettify-symbols-alist
50722         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
50723         "sqrt" and "not".
50725 2016-07-08  Michael Albinus  <michael.albinus@gmx.de>
50727         Detect remote uid and gid in tramp-gvfs.el
50729         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
50730         (tramp-gvfs-handler-mounted-unmounted)
50731         (tramp-gvfs-connection-mounted-p):
50732         Make "default-location" a connection property.
50733         (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
50734         (tramp-gvfs-maybe-open-connection): Use them.
50736 2016-07-08  Eli Zaretskii  <eliz@gnu.org>
50738         Yet another fix for copying properties by 'format'
50740         * src/textprop.c (extend_property_ranges): Accept an additional
50741         argument OLD_END, and only extend the end of a property range if
50742         its original end is at OLD_END; all the other ranges are left
50743         intact.  (Bug#23897)
50744         * src/editfns.c (styled_format): Pass the original length of the
50745         string to 'extend_property_ranges'.
50746         * src/intervals.h (extend_property_ranges): Adjust prototype.
50748         * test/src/editfns-tests.el (format-properties): Add tests for
50749         bug#23897.
50751 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
50753         Allow selecting region with mouse to move point to beginning
50755         * etc/NEWS: Mention new user option
50756         `mouse-select-region-move-to-beginning'.
50758         * doc/emacs/frames.texi (Mouse Commands): Add cross-reference
50759         to the following.
50760         (Word and Line Mouse): Describe how double-clicking mouse-1 to
50761         activate region and `mouse-select-region-move-to-beginning'
50762         affect point.
50764         * lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
50765         (mouse-set-point): Use it.  (Bug#23478)
50767 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
50769         Fix menu bar breakage
50771         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
50772         to prevent void variable errors, and fix typo (bug#23918).
50774 2016-07-08  Tino Calancha  <tino.calancha@gmail.com>
50776         Copy buffer names to kill ring
50778         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
50779         * lisp/ibuffer.el (ibuffer-mode-map): Bound it to 'B'.
50780         ;* etc/NEWS: Add entry for this new feature.
50782 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
50784         Remove just input mark
50786         * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
50787         just MARK.
50789 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
50791         Ibuffer change marks
50793         * lisp/ibuffer.el (ibuffer-change-marks): New command.
50794         (ibuffer-mode-map): Bind it to '* c'.
50795         (ibuffer-mode-groups-popup): Update menus.
50796         (ibuffer-mode): Update mode doc.
50798 2016-07-07  Alan Third  <alan@idiocy.org>
50800         Prevent NS event loop being re-entered (bug#11049)
50802         * src/nsterm.m (ns_read_socket, ns_select): Return -1 if already
50803         in event loop instead of aborting.
50805 2016-07-07  Alan Third  <alan@idiocy.org>
50807         Fix some deprecated functions
50809         * src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
50810         convertBaseToScreen with convertRectToScreen.
50811         * src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
50812         OS X 10.2, and always seems to return nil.
50814 2016-07-07  Aaron Jensen  <aaronjensen@gmail.com>  (tiny change)
50816         Disable App Nap (bug#22993)
50818         * nextstep/templates/Info.plist.in: Insert AppNap disable code.
50820 2016-07-07  Michael Albinus  <michael.albinus@gmx.de>
50822         Fix an error in Tramp for rsync
50824         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
50825         Make it work for "rsync".
50826         (tramp-make-copy-program-file-name): Apply `directory-file-name'.
50828 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
50830         Ibuffer: Mark locked buffers
50832         * lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun.
50833         (ibuffer-mark-by-locked): New command.
50834         (ibuffer-mode-map): Bind it to '% L'; update menus.
50835         (ibuffer-mode): Update mode doc.
50836         ;* etc/NEWS: Add NEWS entry for these changes and previous two commits.
50838 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
50840         * lisp/ibuffer.el: Add face for locked buffers
50842         * lisp/ibuffer.el: Add mark for locked buffers
50844         ;* etc/NEWS (Ibuffer): Update entry according with last commit
50846 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
50848         Remove duplicate binding
50850         * lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp'
50851         just bound to '% g'.
50852         As suggested in:
50853         https://lists.gnu.org/r/emacs-devel/2016-07/msg00165.html
50855 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
50857         Ibuffer: Drop needless binding
50859         * lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only'
50860         already bound to 't' inside 'ibuffer-set-mark'.
50862 2016-07-07  Phillip Lord  <phillip.lord@russet.org.uk>
50864         Run tests from non-byte compiled files
50866         * test/Makefile.in: Eval non-byte-compiled files for tests.
50868 2016-07-06  Mark Oteiza  <mvoteiza@udel.edu>
50870         Replace eldoc-documentation-function with a hook
50872         * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
50873         (eldoc-documentation-function): Make into obsolete alias.
50874         (eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
50875         (eldoc-argument-case, global-eldoc-mode): Update docstrings.
50876         (eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
50877         on eldoc-documentation-functions.
50878         (eldoc-supported-p): New function.
50879         (eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
50880         * etc/NEWS: Mention eldoc-documentation-functions.
50881         * doc/lispref/modes.texi: Update reference.
50883 2016-07-06  Simen Heggestøyl  <simenheg@gmail.com>
50885         Complete "initial" and "unset" in CSS mode
50887         * lisp/textmodes/css-mode.el (css--complete-property-value): Make
50888         "initial" and "unset" completion candidates for all CSS properties,
50889         just like "inherit".
50891         * test/lisp/textmodes/css-mode-tests.el
50892         (css-test-complete-property-value): Update test to reflect the above
50893         change.
50895 2016-07-06  Michael Albinus  <michael.albinus@gmx.de>
50897         * lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.
50899 2016-07-06  Paul Eggert  <eggert@cs.ucla.edu>
50901         Simplify rfc1345.el a bit
50903         * lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII
50904         that would no longer parse.  Replace control characters with
50905         escapes in character constants.  Omit unnecessary \ after ?.
50906         This does not change behavior.
50908 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
50910         Prefer 'frame-parameter' where it is expected to be a bit faster
50912         * lisp/international/mule-diag.el (mule-diag):
50913         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu):
50914         * lisp/mouse.el (mouse-drag-line, font-menu-add-default):
50915         * lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar):
50916         * lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'.
50918 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
50920         Reduce consing caused by vertical motion commands
50922         * src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the
50923         parameters frequently requested by calls to 'next-line' and 'previous-line'.
50925 2016-07-05  Michael Albinus  <michael.albinus@gmx.de>
50927         Make all Tramp tests pass for "gdrive" method
50929         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
50930         * lisp/net/tramp-compat.el (tramp-compat-copy-directory)
50931         (tramp-compat-delete-directory):
50932         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
50933         Use `directory-files-no-dot-files-regexp'.
50935         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
50936         (tramp-gvfs-send-command): Call `tramp-flush-file-property' in
50937         case of problems.
50939         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
50940         Adapt docstring.
50941         (tramp-test14-delete-directory): Make further tests.
50943 2016-07-05  Eli Zaretskii  <eliz@gnu.org>
50945         Fix redisplay with window-start on continuation lines
50947         * src/xdisp.c (pos_visible_p): Return false if the window starts
50948         after CHARPOS.
50949         (compute_window_start_on_continuation_line): Don't return
50950         window-start position that is after point in the buffer, as the
50951         callers don't expect this to happen, and will generally display an
50952         empty window with the cursor in its middle.  (Bug#23871)
50954 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
50956         Add :expected-result :failed for unfixed bug test
50958         * test/lisp/help-fns-tests.el (help-fns-test-bug23887):
50960 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
50962         * test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.
50964 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
50966         Don’t create unnecessary marker in ‘delete-trailing-whitespace’
50968         * lisp/simple.el (delete-trailing-whitespace): If END argument is nil,
50969         there is no need for the end-marker to be created.
50971 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
50973         Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace
50975         * lisp/simple.el (delete-trailing-whitespace): Set newline’s character
50976         syntax to non-whitespace so that ‘\s-’ regular expression does not match
50977         it.
50979         This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
50980         as a consequence ‘line-beginning-position’ function does not need to be
50981         called any longer.
50983         Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
50984         expression ends up matching empty lins since ‘\s-’ matches newline
50985         characetr of proceeding line.  This leads to needless loop iterations.
50987         Since previous change to ‘delete-trailing-whitespace’ already introduced
50988         ‘with-syntax-table’, take advantage of it and also overwrite newline’s
50989         character syntax.
50991 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
50993         Make ‘delete-trailing-whitespace’ delete spaces after form feed
50995         * lisp/simple.el (delete-trailing-whitespace): Treat form fead as
50996         a non-whitespace character (regradless of whether it’s character syntax
50997         is whitespace) and delete any whitespace following it instead of leaving
50998         lines with form feeds completely unchanged.  I.e. a line like "\f " will
50999         now became "\f".
51001 2016-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
51003         Cleanup XEditRes hack
51005         * configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if
51006         _XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be
51007         linked with -lXmu.  This should work with any non-ancient Xmu library.
51008         * src/xfns.c (toplevel): Remove old cruft.
51009         (x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES.
51010         * src/xterm.c (toplevel): Remove old cruft.
51011         (handle_one_xevent): Use X_TOOLKIT_EDITRES.
51012         * src/xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES.
51014 2016-07-04  Michael Albinus  <michael.albinus@gmx.de>
51016         Add Google Drive support to Tramp
51018         * doc/misc/tramp.texi: Add `gdrive' method.
51020         * doc/misc/trampver.texi:
51021         * lisp/net/trampver.el: Change version to "2.3.1-pre".
51023         * etc/NEWS: Add Tramp connection method "gdrive".
51025         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
51026         (tramp-default-user-alist, tramp-default-host-alist): Add rule
51027         for "gdrive".
51028         (tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
51029         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
51030         (tramp-gvfs-get-directory-attributes): Improve loop.  Use
51031         "standard::display-name" as file name, if available.
51032         (tramp-gvfs-handle-file-name-all-completions): Simplify.
51033         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
51034         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
51035         Map between "gdrive" and "google-drive".
51037         * lisp/net/tramp.el (tramp-call-process): Do not signal error.
51039         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
51040         Do not enable `tramp-message-show-message'.
51041         (tramp-test13-make-directory, tramp-test14-delete-directory):
51042         Do not specify error type.
51044 2016-07-04  Tino Calancha  <tino.calancha@gmail.com>
51046         Calc: Update mode line after change mode
51048         * lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.
51050 2016-07-03  Mark Oteiza  <mvoteiza@udel.edu>
51052         * lisp/simple.el (save-mark-and-excursion): Add declare forms.
51054 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
51056         Re-fix open-network-stream responsiveness
51058         Problem reported by Christer Ekholm (Bug#23864).
51059         * src/process.c (wait_reading_process_output): Further fix for
51060         typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when
51061         wait == INFINITY and got_output_end_time is invalid.  See:
51062         https://bugs.gnu.org/23864#20
51064 2016-07-03  Alan Mackenzie  <acm@muc.de>
51066         Remove redundant forms from CC Mode for faster fontification
51068         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of
51069         the "main" cond form in the function, which have been redundant since the
51070         extraction of c-font-lock-cut-off-declarators from the function on
51071         2016-06-15/16.
51073 2016-07-03  Alan Mackenzie  <acm@muc.de>
51075         Speed up CC Mode fontification with less accurate functions extending region
51077         * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators)
51078         (c-font-lock-enclosing-decls)
51079         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of
51080         c-beginning-of-decl-1 with less accurate invocations of
51081         c-syntactic-skip-backwards to speed up fontification.
51083 2016-07-03  Tino Calancha  <tino.calancha@gmail.com>
51085         Ibuffer: unmark all buffers without confirmation
51087         * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
51088         (ibuffer-mouse-popup-menu): Use it.
51089         (ibuffer-mode): Update mode doc.
51090         (ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
51091         Rebind 'ibuffer-do-replace-regexp' to 'r'.
51093 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
51095         Fix open-network-stream responsiveness
51097         Problem reported by Constantin Kulikov (Bug#23684).
51098         * src/process.c (wait_reading_process_output):
51099         Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
51100         when wait == INFINITY and got_output_end_time is invalid.
51101         In this case the code should break, not continue.
51103 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
51105         Ibuffer: Mark buffers by content
51107         * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command.
51108         (ibuffer-never-search-content-name): New option.
51109         (ibuffer-never-search-content-mode): Idem.
51110         (ibuffer-mark-by-content-regexp): Use them (Bug#23734).
51112         * lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'.
51113         (ibuffer-mode): Update mode documentation.
51115 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
51117         ibuffer-copy-filename-as-kill verbosity increase
51119         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill):
51120         Use shorter name, result, for a local bound var.
51121         Show the string result in the echo area.
51123 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
51125         Fix cursor positioning on TTY frames after stretch glyph
51127         * src/term.c (append_glyph, append_composite_glyph)
51128         (append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p
51129         members of the produced 'struct glyph'.  Fixes cursor positioning
51130         on the first character after a stretch glyph produced from
51131         line-prefix, wrap-prefix, etc. on TTY frames.
51133 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
51135         Fix vertical-movement in buffers with wrap-prefix
51137         * src/indent.c (Fvertical_motion): Zero the current_y coordinate
51138         whenever we zero the vpos vertical position of the iterator.
51139         * src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and
51140         wrap-prefix regardless of whether the current Y coordinate is
51141         inside the window dimensions.  (Bug#23879)
51143 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
51145         Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL
51147         * src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
51148         FACE_OPT_FROM_ID; all callers changed.
51149         * src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
51150         FACE_FROM_ID_OR_NULL, as the resulting face is immediately
51151         dereferenced.
51152         (fill_gstring_glyph_string): Call FACE_FROM_ID, not
51153         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
51154         when the glyph string is drawn.
51155         (BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
51156         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
51157         in fill_composite_glyph_string.
51158         (calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
51159         FACE_FROM_ID, since the function and its caller can cope with that
51160         situation.  Conflate 3 tests of missing face or font into just
51161         one.
51162         * src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
51163         FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
51164         functions can cope with that situation.
51165         (lookup_derived_face): Don't call FACE_FROM_ID if the result will
51166         not be used.
51167         * src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.
51169 2016-07-01  Mark Oteiza  <mvoteiza@udel.edu>
51171         * lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.
51173 2016-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
51175         * lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace
51177         i.e. rename from auto-source--symbol-keyword.
51179 2016-07-01  Dmitry Antipov  <dmantipov@yandex.ru>
51181         Avoid yet another possible NULL pointer dereference found by GCC 6.1.1
51183         * lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
51184         get_widget_info.
51186 2016-06-30  Alan Mackenzie  <acm@muc.de>
51188         CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote
51190         This applies to applying or removing syntax-table text properties in raw
51191         strings which affect the stringiness of a piece of text.  This fixes the
51192         bug
51193         reported in
51194         https://lists.gnu.org/r/emacs-devel/2016-06/msg00695.html.
51196         * lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new
51197         defsubst.
51198         (c-invalidate-state-cache-1): Call new function in place of inline
51199         manipulation.
51200         (c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the
51201         semi-nonlit cache when pertinent syntax-table text properties get applied to
51202         the text.
51204 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
51206         Minor tweaks to openp
51208         * src/lread.c (openp): Move invariant code out of the loop
51209         and thus avoid redundant calls to memcpy.  Adjust comments.
51211 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
51213         Simplify handling of frame parameters
51215         * src/frame.c (x_set_frame_parameters): Avoid extra loop processing
51216         foreground color, background color and font parameters.  Adjust
51217         comments.
51219 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
51221         Cleanup around mature character manipulation functions
51223         * lisp/international/mule-diag.el (decode-codepage-char): Remove.
51225         * lisp/ldefs-boot.el (toplevel): Adjust accordingly.
51227         * lisp/subr.el (toplevel): Do not advertise calling conventions
51228         for 'decode-char' and 'encode-char'.
51230         * src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.
51232 2016-06-29  Alan Mackenzie  <acm@muc.de>
51234         Fix C-M-a in a C function finding the start of a macro preceding it.
51236         Also amend some pertinent documentation.  This fixes bug #23818.
51238         * lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a
51239         virtual semicolon at a place where we check for other types of statement ends.
51241         * lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the
51242         doc string the bit saying that the variable is a prototype and liable to
51243         change.
51245         * doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring
51246         macros with semicolon can prevent C-M-a missing the beginning of defun.
51248 2016-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
51250         Avoid possible NULL pointer dereference found by GCC 6.1.1
51252         * src/xfns.c (x_get_monitor_attributes_xrandr): Always check
51253         the value returned by XRRGetOutputInfo.
51255 2016-06-28  Tino Calancha  <tino.calancha@gmail.com>
51257         Dired recognize dirs when file size in human units
51259         * lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size'
51260         to match when Dired displays the allocated file size column
51261         in human readable units (Bug#22255).
51263 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
51265         Fix breakage from previous change
51267         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
51268         * lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face.
51270 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
51272         Fix breakage from previous change.
51274         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face.
51276 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
51278         Add tests for copying properties by 'format'
51280         * test/src/editfns-tests.el (format-properties): New test.
51282 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
51284         Fix copying properties in 'format' when it produces padding
51286         * src/textprop.c (extend_property_ranges): Correct range extension
51287         when the new end is beyond the old end.  (Bug#23859)
51289 2016-06-27  Alan Third  <alan@idiocy.org>
51291         Enable dividers in NS (bug#22973)
51293         src/nsfns.m: Add color settings functions to ns_frame_park_handlers.
51294         src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the
51295         attempt to set the color.
51296         src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as
51297         above, although I didn't see any errors.
51299 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51301         Fix the prefix action of shr-copy-url
51303         * lisp/net/shr.el (shr-copy-url): Make the command really copy
51304         the image url if given a prefix.
51306 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51308         New functions svg-text and svg-remove
51310         * doc/lispref/display.texi (SVG Images): Document svg-remove.
51312         * doc/lispref/display.texi (SVG Images): Document svg-text.
51314         * lisp/svg.el (svg-remove): New function.
51315         (svg-text): New function.
51317 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51319         Add new function dom-remove-node
51321         * doc/lispref/text.texi (Document Object Model): Document
51322         dom-remove-node.
51324         * lisp/dom.el (dom-remove-node): New function.
51326 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
51328         Add a new function `svg-embed'
51330         * doc/lispref/display.texi (SVG Images): Document `svg-embed'.
51332         * lisp/svg.el (svg-embed): New function.
51333         (svg--image-data): Ditto.
51335 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
51337         * lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors.
51339 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
51341         Fix 'move-to-window-line' when EOB is on last screen line
51343         * src/window.c (displayed_window_lines): Fix an off-by-one error
51344         when the bottom of the last display line is exactly at window's
51345         last pixel.  Remove kludgey fix for TTY frames that is no longer
51346         needed.  (Bug#15760)
51347         (Fmove_to_window_line): Doc fix.
51349         * doc/lispref/positions.texi (Screen Lines): Clarify and make more
51350         accurate the documentation of 'move-to-window-line'.
51352 2016-06-27  Alan Mackenzie  <acm@muc.de>
51354         Amend a cache so that typing into C++ raw strings has no undue delay.
51356         Also amend the code so that low-level searches to the end of literals are done
51357         only when these positions get used.
51359         * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new
51360         c-literal-start instead of c-literal-limit.
51361         (c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that
51362         it stores details of the literal at a point, rather than merely points outside
51363         of literals.
51364         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
51365         (c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos)
51366         (c-parse-ps-state-below, c-literal-start): New functions.
51367         (c-state-semi-safe-place): Removed.
51368         (c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end.
51369         (c-literal-limits, c-determine-limit-get-base): consequential amendments.
51370         (c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos)
51371         (c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals.
51373         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans
51374         to end of literals.
51376         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of
51377         literals.
51379         * lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun)
51380         (c-defun-name, c-declaration-limits): Avoid needless scans to end of literals.
51382 2016-06-26  Dmitry Gutov  <dgutov@yandex.ru>
51384         Also handle escaping when string begins with a quote
51386         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
51387         Handle quoting of the first character in the string.
51389         * test/lisp/progmodes/ruby-mode-tests.el
51390         (ruby-toggle-string-quotes-quotes-correctly): Update.
51392 2016-06-26  Sriram Thaiyar  <sriram.thaiyar@gmail.com>  (tiny change)
51394         Fix quote escaping in ruby-toggle-string-quotes
51396         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
51397         Change logic to quote based on the current quote of the string.
51399         * test/lisp/progmodes/ruby-mode-tests.el
51400         (ruby-toggle-string-quotes-quotes-correctly): Add test.
51402 2016-06-26  Noam Postavsky  <npostavs@gmail.com>
51404         Fix test-completion with completion-regexp-list
51406         * src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil
51407         completion-regexp-list (Bug #23533).
51409 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
51411         Try other addresses when connecting to multihomed
51413         Problem reported by Juliusz Chroboczek (Bug#17976)
51414         and by Artur Malabarba (Bug#23620).
51415         Patch from a suggestion by Andreas Schwab in:
51416         https://bugs.gnu.org/17976#39
51417         This patch is for non-MS-Windows platforms.
51418         I don't know the situation on MS-Windows.
51419         * src/process.c (connecting_status):
51420         New function, for (connect . ADDRINFOS).
51421         (connect_network_socket, check_for_dns, wait_for_socket_fds)
51422         (wait_while_connecting, wait_reading_process_output, status_notify):
51423         Use it.
51424         (decode_status, Fmake_network_process):
51425         Support (connect . ADDRINFOS) status.
51426         (connect_network_socket) [!WINDOWSNT]:
51427         If the connection failed and there are other addresses to try, do not
51428         signal an error; instead, loop around to try the next address.
51429         (wait_reading_process_output): Advance to the next address
51430         if there are multiple addresses and the first remaining address
51431         failed.
51432         * src/process.h (struct Lisp_Process.status): Adjust comment
51433         to describe (connect . ADDRINFOS).
51435 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
51437         Fix GNUC_PREREQ for GCC 2.8.1 etc.
51439         Problem reported by Eli Zaretskii in:
51440         https://lists.gnu.org/r/emacs-devel/2016-06/msg00608.html
51441         * src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC
51442         2.8.1 (1998), which come before GCC 3.0 and which have nonzero
51443         patchlevel numbers.
51445 2016-06-26  Eli Zaretskii  <eliz@gnu.org>
51447         Don't set 'bidi-paragraph-direction' in 'ansi-term'
51449         * lisp/term.el (ansi-term): Remove unnecessary setting of
51450         'bidi-paragraph-direction'.  The underlying problem is solved in
51451         bidi.c by changing the regexps that define the paragraph beginning
51452         and end.  (Bug#20611)
51454 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
51456         Sync with Tramp 2.3.0
51458         * doc/misc/trampver.texi:
51459         * lisp/net/trampver.el: Change version to "2.3.0".
51461 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
51463         Fix GNUC_PREREQ off-by-1 typo
51465         Problem reported by Martin Rudalics in:
51466         https://lists.gnu.org/r/emacs-devel/2016-06/msg00587.html
51467         * src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]:
51468         Fix < vs <= typo.
51470 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
51472         Fix some oddities in Tramp's rsync and smb methods
51474         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-p" and
51475         "-s" arguments.
51476         (tramp-do-copy-or-rename-file-out-of-band):
51477         Call `file-name-directory' also for remote NEWNAME.
51479         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
51480         Do not skip for tramp-smb.el.  Test als COPY-CONTENTS case.
51481         (tramp-test24-file-name-completion): Improve check for
51482         hostname completion.
51483         (tramp--test-rsync-p): New defun.
51484         (tramp-test31-special-characters)
51485         (tramp-test31-special-characters-with-stat)
51486         (tramp-test31-special-characters-with-perl)
51487         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
51488         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
51489         (tramp-test32-utf8-with-ls): Skip for "rsync".
51491         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
51492         Check also for CIFS capabilities.
51494 2016-06-26  Ury Marshak  <ury.marshak@gmail.com>  (tiny change)
51496         Fix FRAME_INTERNAL_BORDER_WIDTH use (Bug#23841)
51498         * src/nsfns.m (x_set_internal_border_width): Replace assignments to
51499         FRAME_INTERNAL_BORDER_WIDTH.
51501 2016-06-25  Leo Liu  <sdl.web@gmail.com>
51503         Deprecations (bug#23850)
51505         * lisp/subr.el (string-to-unibyte, string-as-unibyte,
51506         string-to-multibyte, string-as-multibyte): Make obsolete.
51508 2016-06-25  Tino Calancha  <tino.calancha@gmail.com>
51510         Do not prompt twice to save a buffer
51512         * lisp/hilit-chg.el (highlight-markup-buffers): (Bug#23824).
51514 2016-06-25  Alan Third  <alan@idiocy.org>
51516         Move text line right when in box (bug#23755)
51518         * src/nsterm.m (ns_draw_glyph_string_foreground): Create to take
51519         CHAR_GLYPH specific code and move glyphs right if within a box.
51520         (ns_draw_glyph_string): Move CHAR_GLYPH specific code into above
51521         function.
51523 2016-06-25  Paul Eggert  <eggert@cs.ucla.edu>
51525         Merge from origin/emacs-25
51527         0377fe2 ; Spelling fixes
51528         f253695 Update docs for `customize-mode'
51529         4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
51530         ab0ebb9 ; Only load .elc file in tests.
51531         a98aa02 Error on multibyte characters in HTTP request
51532         ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
51533         8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
51534         dc5e65b Unset GIT_DIR when calling Git commands
51535         6cdd8f7 Ensure undo-boundary after insert-file-contents.
51536         4793f5f Clarify documentation of 'line-spacing' and 'line-height'
51537         5f37572 Fix removal of variables from process-environment
51538         e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
51539         db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...
51541         # Conflicts:
51542         #       doc/lispref/modes.texi
51543         #       lisp/gnus/mm-decode.el
51545 2016-06-25  Mark Oteiza  <mvoteiza@udel.edu>
51547         Teach net-utils more iproute2 and nl80211 tools
51549         * lisp/net/net-utils.el (iwconfig-program): Add iw(8).
51550         (iwconfig-program-options): Add "dev" argument for iw.  Another useful
51551         option is "phy"; beyond that one needs to know the interface name.
51552         (netstat-program): Add ss(8).
51553         (route-program): Add ip(8).
51554         (route-program-options): Add "route" argument for ip.
51556 2016-06-24  Leo Liu  <sdl.web@gmail.com>
51558         Use use-region-p in prolog.el
51560         * lisp/progmodes/prolog.el (region-exists-p): Remove.
51561         * lisp/progmodes/prolog.el (prolog-edit-menu-runtime,
51562         prolog-edit-menu-insert-move): Use use-region-p.
51564 2016-06-24  Leo Liu  <sdl.web@gmail.com>
51566         Remove compatibility with Emacs 24.3 in octave-mode
51568         * lisp/progmodes/octave.el: Clean up and remove compatibility with
51569         Emacs 24.3.
51571 2016-06-24  Alan Mackenzie  <acm@muc.de>
51573         Ensure hack-local-variables is run in a fundamental mode buffer.
51575         This fixes bug #23827.
51577         * src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
51578         gets set to that mode, so that `run-mode-hooks', and thus
51579         `hack-local-variables' get run.
51581 2016-06-24  Tino Calancha  <tino.calancha@gmail.com>
51583         Fix caller to ediff-setup
51585         * lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820.
51587 2016-06-24  Alan Mackenzie  <acm@muc.de>
51589         Implement ' separators in C++ integer literals.
51591         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert
51592         c-before-after-change-digit-quote into the C++ value.
51593         (c-before-font-lock-functions): Insert c-depropertize-new-text into the values
51594         for all languages.  Insert c-before-after-change-digit-quote into the C++
51595         value.
51597         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in
51598         c-save-buffer-state.
51599         (c-depropertize-new-text, c-before-after-change-digit-quote): New functions.
51601 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
51603         Update from gnulib
51605         This incorporates:
51606         2016-06-24 intprops: port better to GCC 7
51607         2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
51608         * doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
51609         Copy from gnulib.
51611 2016-06-24  Martin Rudalics  <rudalics@gmx.at>
51613         Remove two uses of 'min' in Fwindow_text_pixel_size
51615         * src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
51616         it calls move_it_to twice.  Suggested by Eli Zaretskii.
51618 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
51620         Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID
51622         * src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
51623         since it is intended to be used only when it returns a non-null
51624         pointer, and here the pointer might be null.
51625         (IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.
51627 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
51629         Remove some more face aliases obsoleted in 22.1
51631         * lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
51632         eshell-ls-executable-face, eshell-ls-readonly-face,
51633         eshell-ls-unreadable-face, eshell-ls-special-face,
51634         eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
51635         eshell-ls-product-face, eshell-ls-clutter-face): Remove.
51636         * lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
51637         (isearch-lazy-highlight-update): Use face symbol.
51638         * lisp/net/sieve-mode.el (sieve-control-commands-face,
51639         sieve-action-commands-face, sieve-test-commands-face,
51640         sieve-tagged-arguments-face): Remove.
51641         (sieve-font-lock-keywords): Use non-obsolete faces.
51642         * lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
51643         (sh-get-indent-info, sh-prev-line): Use face symbol.
51644         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
51645         Use non-obsolete face.
51646         (tex-math-face, tex-verbatim-face): Remove.
51647         (tex-font-lock-syntactic-face-function): Use face symbols.
51649 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
51651         Remove some face aliases obsoleted in 22.1
51653         * lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id):
51654         * lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
51655         * lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face,
51656         Info-title-4-face, info-menu-5):
51657         * lisp/obsolete/old-whitespace.el (whitespace-highlight-face):
51658         * lisp/paren.el (show-paren-match-face, show-paren-mismatch-face):
51659         * lisp/progmodes/make-mode.el (makefile-space-face):
51660         * lisp/textmodes/texinfo.el (texinfo-heading-face): Remove.
51661         (texinfo-font-lock-keywords): Use texinfo-heading face.
51662         * lisp/vc/add-log.el (change-log-date-face, change-log-name-face,
51663         change-log-email-face, change-log-file-face, change-log-list-face,
51664         change-log-conditionals-face, change-log-function-face,
51665         change-log-acknowledgement-face):
51666         * lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face,
51667         diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face,
51668         diff-changed-face, diff-function-face, diff-context-face,
51669         diff-nonexistent-face): Remove.
51670         (diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face
51671         symbols.
51672         (diff-hunk-file-names): Fix comment.
51673         (diff-refine-change): Remove.
51674         (diff-refine-removed, diff-refine-added, diff-refine-hunk): Use
51675         non-obsolete face.
51676         * lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove.
51677         (log-view-font-lock-keywords): Use non-obsolete face names.
51678         * lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face,
51679         cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face):
51680         * lisp/wid-edit.el (widget-documentation-face, widget-button-face,
51681         widget-field-face, widget-single-line-field-face, widget-inactive-face,
51682         widget-button-pressed-face):
51683         * lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face,
51684         woman-addition-face): Remove.
51686 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
51688         * lisp/international/characters.el (standard-case-table): Improve last change.
51690 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
51692         Improve results of 'upcase' for characters with title-case
51694         * lisp/international/characters.el (standard-case-table): Swap the
51695         order of some lines, to have 'upcase' return the upper-case
51696         variant, not the title-case, for some characters whose lower-case
51697         map to the same codepoints.  (Bug#23833)
51699 2016-06-23  Alan Mackenzie  <acm@muc.de>
51701         Make typing into incomplete C++ raw strings work, and make it work fast enough
51703         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal):
51704         Put `save-match-data' around calls to `looking-at' to enable the use of the
51705         match data in higher level functions.
51707         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations)
51708         (c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a
51709         limit to speed up handling of C++ raw strings.
51711 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
51713         Fix handling of LWINDOW key on MS-Windows
51715         * src/w32fns.c (funhook): Correct a typo which broke handling of
51716         the LWINDOW key.  (Bug#23830)
51718 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
51720         Update Unicode data files from Unicode 9.0.0
51722         * admin/unidata/copyright.html:
51723         * admin/unidata/BidiBrackets.txt:
51724         * admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just
51725         released.
51727 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
51729         Fix test for whether the '.el' file is newer than '.elc'
51731         * src/lread.c (Fload): Don't overwrite the last character of the
51732         file name in FOUND with 'c', unless the file name ended in ".elc"
51733         to begin with.  Don't treat empty files as byte-compiled.  See
51734         https://lists.gnu.org/r/emacs-devel/2016-06/msg00463.html
51735         for more details of the problem this caused.
51737 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
51739         Fix 'insert-file-contents' when REPLACE is non-nil
51741         * src/fileio.c (maybe_move_gap): New function to move the gap to
51742         the end of a buffer, if it isn't there already.
51743         (Finsert_file_contents): Call 'maybe_move_gap' before using
51744         conversion_buffer's text as a C 'char' array.  (Bug#23659)
51745         * src/coding.c (decode_eol): Compute the byte increment before
51746         calling del_range_2, because the latter can invalidate the pointer
51747         to buffer text.
51749 2016-06-22  Ken Brown  <kbrown@cornell.edu>
51751         Avoid compiler warning
51753         * src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.
51755 2016-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
51757         * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region.
51759 2016-06-22  Ken Brown  <kbrown@cornell.edu>
51761         Fix last change to FRAME_INTERNAL_BORDER_WIDTH
51763         * src/w32fns.c (x_set_internal_border_width): Don’t use
51764         FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
51765         lvalue.
51767 2016-06-21  Paul Eggert  <eggert@cs.ucla.edu>
51769         Improve --without-x GCC pacification
51771         * src/composite.c (autocmp_chars):
51772         * src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
51773         Use simpler ((void) 0) for no-op expression returning void.
51774         * src/dispextern.h [HAVE_WINDOW_SYSTEM]:
51775         Include fontset.h, for face_for_char.
51776         (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
51777         Now inline functions instead of macros.  This avoids the need for
51778         all those casts to void.
51779         (FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
51780         All uses changed.
51781         * src/frame.c (Ficonify_frame, Fset_frame_position):
51782         * src/xdisp.c (Fmove_point_visually, show_mouse_face):
51783         * src/xdisp.c (note_mode_line_or_margin_highlight)
51784         (note_mouse_highlight):
51785         Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
51786         now work either way without generating warnings.
51787         * src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
51788         (window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
51789         (decode_window_system_frame): Use check_window_system instead of
51790         rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
51791         (decode_window_system_frame, check_window_system):
51792         Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
51793         * src/frame.c (Ficonify_frame, Fset_frame_position):
51794         * src/xdisp.c (show_mouse_face, define_frame_cursor1)
51795         (note_mouse_highlight):
51796         Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
51797         this is a better way to pacify GCC.
51798         * src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
51799         (x_set_right_divider_width, x_set_bottom_divider_width):
51800         * src/xfns.c (x_set_internal_border_width):
51801         Don’t use what are now function calls as lvalues.
51802         * src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
51803         (decode_window_system_frame, check_window_system):
51804         Use it, to avoid the need for duplicate declarations.
51805         (window_system_available): Now an inline function.
51806         (display_available): New decl.
51807         (frame_dimension): New inline function.
51808         (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
51809         (FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
51810         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
51811         (FRAME_BOTTOM_DIVIDER_WIDTH):
51812         Use it, to avoid the need for duplicate definitions.
51813         Now inline functions instead of macros.
51814         * src/gnutls.c (gnutls_log_function2i): Remove.
51815         * src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
51816         This avoids complaints about gnutls_log_function2i being defined
51817         and not used on older platforms that do not need to call GNUTLS_LOG2i.
51818         * src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
51819         * src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
51820         expr’ to ‘type id; id = expr’, as this would suppress valid
51821         jump-misses-init diagnostics.  Let’s find a better way to address
51822         the problem.
51823         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
51824         Define only if needed.
51825         * src/xdisp.c (handle_single_display_spec):
51826         Simplify fringe_bitmap computation.
51827         (define_frame_cursor1): Do nothing unless in a window system.
51828         All callers changed and simplified.
51829         * src/xfaces.c (realize_default_face):
51830         Use a simpler way to pacify GCC when a return value is not used
51831         on some platforms.
51833 2016-06-21  Phillip Lord  <phillip.lord@russet.org.uk>
51835         Ensure undo-boundary after all commands
51837         * lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
51838           every command whether it (apparently) changes the buffer or not.
51840         See Bug#23785 for discussion.
51842 2016-06-21  Eli Zaretskii  <eliz@gnu.org>
51844         Fix vertical layout calculations when newline has line-height property
51846         * src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
51847         'constrain_row_ascent_descent_p' flag after processing the
51848         newline, similar to what 'display_line' does.  Without this, the
51849         flag remains set once set by x_produce_glyphs, and causes the
51850         vertical layout calculations to go awry, because Emacs thinks the
51851         screen lines have zero height.  (Bug#23850)
51853 2016-06-20  Ken Brown  <kbrown@cornell.edu>
51855         Fix compiler warnings in Cygwin-w32 build
51857         * src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
51858         loop to avoid compiler warnings about empty body of 'if'
51859         statement.
51861         * src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
51862         macro.
51863         (x_create_bitmap_from_data): Declare 'frame'.
51864         (x_create_bitmap_from_file): Don't declare unused variable
51865         'dpyinfo'.
51867         * src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
51868         prevent "jump-misses-init" compiler warnings.
51870         * src/w32fns.c (check_w32_winkey_state): Define and use only if
51871         WINDOWSNT.
51872         (Fx_show_tip): Declare 'f'.
51873         (Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
51874         (w32_strerror): Use format specifier %d for sprintf argument of
51875         type int.
51876         (emacs_abort): Cast sprintf argument of type DWORD to unsigned
51877         int, and use format specifier %x, for compatibility with Cygwin.
51878         (unicode_append_menu) [NTGUI_UNICODE]:
51879         * src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
51880         (set_menu_item_info, unicode_append_menu)
51881         (unicode_message_box):
51882         * src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
51883         functions rather than macros to avoid "address will always
51884         evaluate as true" compiler warnings.
51886         * src/w32font.c (w32_to_x_charset): Use format specifier %d for
51887         sprintf argument of type int.
51889         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
51890         sprintf argument of type int to unsigned int to match %X format
51891         specifier.
51892         (w32_scroll_bar_handle_click):
51893         (w32_horizontal_scroll_bar_handle_click): Declare 'f'.
51895         * src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
51896         argument.
51898 2016-06-20  Ken Brown  <kbrown@cornell.edu>
51900         Fix compiler warnings in no-window-system-build
51902         * src/composite.c (autocmp_chars): Declare and set 'f' only if
51903         HAVE_WINDOW_SYSTEM.
51905         * src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
51906         (FACE_FOR_CHAR): Explicitly discard unused arguments.
51908         * src/font.c (font_open_entity): Declare 'min_width' where it is
51909         first set, and only if HAVE_WINDOW_SYSTEM.
51911         * src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
51912         Define _Noreturn version to avoid "suggest attribute noreturn"
51913         compiler warning.
51914         (check_window_system): Declare as _Noreturn.
51915         (Ficonify_frame):
51916         (Fset_frame_position): Don’t declare and set 'f'.
51918         * src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
51919         (check_window_system):  Add _Noreturn prototypes.
51920         (FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
51921         (FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
51922         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
51923         (FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.
51925         * src/xdisp.c (handle_single_display_spec): Declare
51926         'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
51927         (append_space_for_newline): Declare 'g' where it is first set.
51928         (Fmove_point_visually): Declare and set 'target_is_eol_p' only if
51929         HAVE_WINDOW_SYSTEM.
51930         (show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
51931         if HAVE_WINDOW_SYSTEM.
51932         (note_mode_line_or_margin_highlight):
51933         (note_mouse_highlight): Declare and set 'cursor' and 'pointer'
51934         only if HAVE_WINDOW_SYSTEM.
51936         * src/xfaces.c (realize_default_face): Declare and set 'face' only
51937         if HAVE_X_WINDOWS.  Remove redundant #ifdef.
51939 2016-06-20  Michael Albinus  <michael.albinus@gmx.de>
51941         Weaken test conditions in filenotify-tests.el
51943         * test/lisp/filenotify-tests.el (file-notify--test-with-events):
51944         Fix thinko in test.
51945         (file-notify-test02-events, file-notify-test04-file-validity)
51946         (file-notify-test07-backup)
51947         (file-notify-test08-watched-file-in-watched-dir): Make test
51948         conditions more weak.  (Bug#23618)
51950 2016-06-19  Paul Eggert  <eggert@cs.ucla.edu>
51952         Minor ABLOCKS_BUSY cleanups in alloc.c
51954         * src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
51955         with member ‘abase’ in definiens.
51956         (lisp_align_malloc, lisp_align_free): Use bool for boolean.
51957         Avoid compiler warning with fewer casts.
51958         (lisp_align_free): Check busy-field values; this can help the
51959         compiler a bit when optimizing, too.
51961 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
51963         ASCII-fy coding-system-for-read used for Git commands
51965         * lisp/vc/vc-git.el (vc-git--asciify-coding-system):
51966         New function.
51967         (vc-git-diff, vc-git-annotate-command): Use it.
51969 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
51971         Prohibit multibyte characters in url-http-data
51973         It didn't work anyway, but this makes any such errors more obvious
51974         by catching them earlier.
51976         * lisp/url/url-http.el (url-http-create-request):
51977         Use string-to-unibyte (bug#23750).
51979 2016-06-19  Eli Zaretskii  <eliz@gnu.org>
51981         Fix setting a range of char-table slots in a singular case
51983         * src/chartab.c (char_table_set_range): Start the loop from the
51984         first character of the block to which FROM belongs.  (Bug#23797)
51986         * test/src/chartab-tests.el: New test file.
51988 2016-06-19  Alan Mackenzie  <acm@muc.de>
51990         Fix CC Mode fontification problem apparent in test file decls-6.cc.
51992         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
51993         "bar (gnu);" as a declarator only when the construct is directly inside a
51994         class (etc.) called "bar".
51995         (c-directly-in-class-called-p): New function.
51997 2016-06-19  Alan Mackenzie  <acm@muc.de>
51999         c-renarrow-state-cache: take care when new point is inside old brace pair.
52001         Also add display of point-min to the c-parse-state debugging output.
52003         * lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
52004         point is inside an old recorded brace pair, clear the cache.
52005         (c-debug-parse-state): Output the value of point-min.
52007 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
52009         Rename ALIGN to pointer_align
52011         * src/alloc.c (pointer_align): Rename from ALIGN.
52012         This fixes Bug#23764 in a simpler way.
52014 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
52016         Merge from origin/emacs-25
52018         d1efbaf Fix documentation of completion functions
52019         65c96cc Clarify documentation of 'font-lock-maximum-decoration'
52020         2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
52021         b49cb0a Fbackward_prefix_chars: stay within buffer bounds
52023 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
52025         Merge from origin/emacs-25
52027         2317c61 Fix last todo-mode change
52028         5d4d8a3 Improve last todo-mode fix
52029         d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
52030         27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
52031         f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
52032         e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
52033         d308aa1 Minor grammar fix (bug#23746)
52034         20de667 Doc fixes for grammar and typos (bug#23746)
52035         a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
52036         27f440e Add cross-reference to ELisp manual
52037         10802d8 ; make change-history-commit
52038         4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
52039         12e009e Restore initial undo boundary with viper
52040         291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
52041         6921f4a Fix dbus crash on 32-bit Cygwin
52043 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
52045         Merge from origin/emacs-25
52047         9ae514a * etc/AUTHORS: Update the AUTHORS file
52048         3ca428e add entries to authors.el
52049         66d556b Fix eldoc-related freezes in python mode
52050         d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
52051         27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
52052         a813487 Fix undo boundary in recursive edit (Bug#23632)
52053         1f85b7c Doc fixes re alist-get.  (Bug#23548)
52054         ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
52055         56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
52056         4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
52057         a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
52058         601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
52060 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
52062         * lisp/emacs-lisp/map.el (map-contains-key): Better docstring
52064 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
52066         Fix seq-contains
52068         Make sure seq-contains return the element of the sequence instead of t.
52070         * lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
52071         * test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
52073 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
52075         Add new function map-do
52077         * lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
52078           functions.
52079         * test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
52081 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
52083         Add seq-do-indexed
52085         * lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
52086         * test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
52088 2016-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
52090         map.el (map-merge*): Use `map-into' at beginning rather than end
52092         * lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
52093         and don't use of an intermediate alist.
52094         (map-merge-with): Same, plus use `cl-callf' to try and avoid performing
52095         3 lookups per inner iteration.
52097 2016-06-16  Mark Oteiza  <mvoteiza@udel.edu>
52099         * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version.
52101 2016-06-15  Alan Mackenzie  <acm@muc.de>
52103         Speed up CC Mode's font locking by taking some code out of a hot loop.
52105         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which
52106         tests for bare declarators.
52107         (c-font-lock-cut-off-declarators): New function.
52108         (c-complex-decl-matchers): insert c-font-lock-cut-off-declarators.
52110 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
52112         Automatically find vars and functions via definition-prefixes
52114         * lisp/help-fns.el (help-definition-prefixes): New var and function.
52115         (help--loaded-p, help--load-prefixes, help--symbol-completion-table):
52116         New functions.
52117         (describe-function, describe-variable): Use them.
52119         * lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
52120         (radix-tree-prefixes, radix-tree-from-map): New functions.
52122 2016-06-15  Michal Nazarewicz  <mina86@mina86.com>
52124         Automatically detect whether .h file is C or C++
52126         * lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
52127         analyzes contents of the buffer to determine whether it looks like C++
52128         source code and based on that enables c-mode or c++-mode.
52129         (c-or-c++-mode--regexp): Regular expression which, when matches
52130         a buffer, signals file is C++.
52132 2016-06-15  Alan Mackenzie  <acm@muc.de>
52134         Parse compound identifiers in C++ member initialization lists.
52136         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function.
52137         (c-back-over-member-initializer-braces, c-back-over-list-of-member-inits)
52138         (c-back-over-member-initializers): Call c-back-over-compound-identifier rather
52139         than c-simple-skip-symbol-backward.
52141 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
52143         Advertize set-keymap-parent as replacement for copy-keymap
52145         * doc/lispref/keymaps.texi (Creating Keymaps):
52146         * src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
52148 2016-06-15  Ted Zlatanov  <tzz@lifelogs.com>
52150         * lisp/generic-x.el (ansible-inventory-generic-mode): Warn if
52151         value is missing
52153 2016-06-15  Tim Chambers  <tbc@alum.mit.edu>  (tiny change)
52155         Add new ansible-inventory-generic-mode (Bug#23762)
52157         * lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode.
52159 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
52161         Fix ifdef-vs-if typo with RANDR13_LIBRARY
52163         * src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
52164         This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
52165         https://lists.gnu.org/r/emacs-devel/2016-06/msg00198.html
52167 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
52169         Port to platforms where char * has top bit set
52171         This fixes a five-year-old FIXME comment.  Although I don’t know
52172         of a platform where this is a problem in practice, better safe
52173         than sorry.
52174         * src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
52175         as it is now an integer, not char *.
52176         (store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
52177         this is a file offset and EMACS_INT is better if --with-wide-int.
52178         If SUBRP, simply store the offset rather than negating it and
52179         converting it to char *.
52180         * src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.
52182 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
52184         Remove recursion from store_function_docstring
52186         * src/doc.c (store_function_docstring):
52187         Refactor to avoid the need for C-level recursion.
52189 2016-06-14  Ken Brown  <kbrown@cornell.edu>
52191         Remove system-specific -I switch from Cygwin-w32 build
52193         Suggested by Eli Zaretskii in discussion of bug#18302.
52195         * src/image.c [HAVE_NTGUI]: Remove the unused macro
52196         PIXEL_ALREADY_TYPEDEFED.  On Cygwin, include "noX/xpm.h" instead of
52197         "X11/xpm.h".
52199         * configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
52200         "noX/xpm.h".  Don't add a -I switch to CPPFLAGS.
52202 2016-06-14  Noam Postavsky  <npostavs@gmail.com>
52204         Make python.el work in Emacs 24
52206         * lisp/progmodes/python.el: Bump version.
52207         (python-define-auxiliary-skeleton): Only use format-message if
52208         fbound (Bug#23126).
52210 2016-06-13  Ken Brown  <kbrown@cornell.edu>
52212         Avoid compiler warning
52214         * src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
52215         'type_CtrlAlt'.
52217 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
52219         Call tzset after setting TZ
52221         * src/editfns.c (tzlookup): Call tzset after setting TZ, so that
52222         the setting change propagates into Emacs local time (Bug#23600).
52223         (emacs_setenv_TZ): Clarify comments.
52225 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
52227         Update texinfo.tex
52229         * doc/misc/texinfo.tex: Update from gnulib.
52231 2016-06-12  Paul Eggert  <eggert@cs.ucla.edu>
52233         New macro GNUC_PREREQ for GCC version
52235         * src/conf_post.h (GNUC_PREREQ): New macro.
52236         Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
52237         macro instead, for clarity and consistency.
52238         (PRINTF_ARCHETYPE): New macro.  Define it to __gnu_printf__ only
52239         if glibc, since non-GNU platforms don’t necessarily support GNU
52240         printf formats.
52241         (ATTRIBUTE_FORMAT_PRINTF): Use it.
52243 2016-06-12  Nicolas Petton  <nicolas@petton.fr>
52245         * lisp/emacs-lisp/seq.el (seq-drop): Better list implementation
52247 2016-06-12  Eli Zaretskii  <eliz@gnu.org>
52249         Fix printf-related compilation warnings on MinGW
52251         * src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
52252         '__ms_printf__', not '__gnu_printf__', as the latter is not what
52253         MS 'printf' supports, and causes bogus compilation warnings.
52254         * src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
52255         doesn't support the "ll" modifier.
52257 2016-06-11  Paul Eggert  <eggert@cs.ucla.edu>
52259         emacs_strerror cleanups
52261         * src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
52262         no longer needed, now that emacs_strerror is declared by lisp.h.
52263         * src/coding.c (emacs_strerror): Remove; moved to emacs.c.
52264         * src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
52265         to lisp.h.
52266         * src/emacs.c (emacs_strerror): Move here from coding.c.  Do not
52267         convert result string; this is now the caller’s responsibility,
52268         as some need conversion and others don’t.
52269         * src/fileio.c (report_file_errno, report_file_notify_error):
52270         Use emacs_strerror rather than rolling it ourselves.
52271         * src/lisp.h (emacs_strerror): Move decl here from coding.h.
52272         * src/lread.c (dir_warning): Just call emacs_strerror rather than
52273         both strerror and emacs_strerror.  Convert its result from
52274         locale-coding-system, since it no longer does that conversion.
52275         * src/sound.c (sound_perror):
52276         * src/sysdep.c (emacs_perror, str_collate):
52277         Use emacs_strerror, not strerror.
52279 2016-06-10  David Reitter  <david.reitter@gmail.com>
52281         Prevent compiler warning for unused arguments
52283         * lisp/international/ucs-normalize.el
52284         (ucs-normalize-hfs-nfd-pre-write-conversion):
52285         Prevent compiler warning for unused arguments, add coment.
52287 2016-06-10  Paul Eggert  <eggert@cs.ucla.edu>
52289         Catch malloc_get_state, malloc_set_state failure
52291         This should help insulate Emacs better from configuration screwups.
52292         Future versions of the GNU C library are planned to deprecate
52293         these functions, but will continue to support them in
52294         already-built-and-dumped Emacs executables.
52295         * src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
52296         Abort if malloc_set_state fails.
52297         (alloc_unexec_pre) [DOUG_LEA_MALLOC]:
52298         Report malloc_get_state failure, and exit.
52300 2016-06-10  Eli Zaretskii  <eliz@gnu.org>
52302         Show returned value after gdb-mi "finish" command
52304         * lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected
52305         "Value returned" message in response to "finish", when not
52306         produced by GDB/MI.  (Bug#23720)
52308 2016-06-10  David Reitter  <david.reitter@gmail.com>
52310         Simplify pre-write-conversion for utf-8-hfs coding system
52312         * lisp/international/ucs-normalize.el
52313         (ucs-normalize-hfs-nfd-pre-write-conversion): Refactor.
52315         May address an issue where Emacs consumed large amounts of CPU
52316         because of neverending toolbar updating (which was caused
52317         by, but also called this function).
52319 2016-06-09  Martin Rudalics  <rudalics@gmx.at>
52321         Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2"
52323         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
52324         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
52325         Monnier.  (Bug#19185, Bug#20398)
52327         This reverts commit 72166f2f3dba18f1217c666574032f5a0351ed65.
52329         That commit did more harm than good (Bug#23571).
52331 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
52333         Port __builtin_assume_aligned to Sun C 5.13
52335         * src/conf_post.h (__builtin_assume_aligned):
52336         Fix typo: the extra arg did not conform to C99.
52338 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
52340         Prefer getsockopt to getpeername on non-MS-Windows
52342         * admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
52343         * configure.ac: Don’t check for getpeername.
52344         * src/process.c (wait_reading_process_output) [!WINDOWSNT]:
52345         Use getsockopt even if not GNU/Linux, as the platforms where
52346         getsockopt used to hang are no doubt long dead.
52348 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
52350         Fix XFASTINT of non-fixnum in process status
52352         * src/process.c (decode_status): 3rd arg is now Lisp_Object *,
52353         not int *, and is not decoded.  All uses changed.
52354         (status_message): Do not assume ‘failed’ code is an integer.
52355         * src/process.h: Document codes better.
52357 2016-06-09  Glenn Morris  <rgm@gnu.org>
52359         Make messcompat.el obsolete.
52361         * lisp/obsolete/messcompat.el: Move here from lisp/gnus.
52362         * doc/misc/message.texi (Compatibility): Remove section.
52364 2016-06-09  Glenn Morris  <rgm@gnu.org>
52366         Leading "*" in the doc of defvars is long obsolete.
52368         * lisp/plstore.el (plstore-encrypt-to):
52369         * lisp/cedet/semantic/lex-spp.el
52370         (semantic-lex-spp-macro-max-length-to-save):
52371         * lisp/cedet/semantic/symref.el (semantic-symref-tool):
52372         * lisp/cedet/semantic/bovine/el.el
52373         (semantic-elisp-store-documentation-in-tag):
52374         * lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
52375         (wisent-expected-conflicts):
52376         * lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
52377         * lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
52378         * lisp/gnus/gnus-group.el (gnus-group-listing-limit):
52379         * lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
52380         (gnus-browse-menu-hook):
52381         * lisp/gnus/message.el (message-shoot-gnksa-feet):
52382         * lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
52383         * lisp/gnus/mm-util.el (mm-extra-numeric-entities):
52384         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
52385         * lisp/gnus/mml.el (mml-generate-multipart-alist):
52386         * lisp/gnus/nndraft.el (nndraft-required-headers):
52387         * lisp/gnus/nnheader.el (nnheader-max-head-length)
52388         (nnheader-head-chop-length, nnheader-file-name-translation-alist)
52389         (nnheader-directory-separator-character)
52390         (nnheader-pathname-coding-system):
52391         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
52392         (nnmail-active-file-coding-system):
52393         * lisp/gnus/nnrss.el (nnrss-file-coding-system):
52394         * lisp/gnus/nntp.el (nntp-record-commands):
52395         * lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
52396         (gnus-score-mode-hook, gnus-score-menu-hook):
52397         * lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
52398         (rfc2047-allow-irregular-q-encoded-words)
52399         (rfc2047-allow-incomplete-encoded-text):
52400         * lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
52401         * lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
52402         * lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
52403         * lisp/net/pop3.el (pop3-password):
52404         * lisp/play/animate.el (animate-n-steps):
52405         * lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
52406         Convert from defvar with leading * to defcustom.
52409         * lisp/emulation/viper-init.el (viper-heading-end):
52410         * lisp/gnus/mm-url.el (mm-url-html-entities):
52411         * lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
52412         * lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
52413         * lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.
52415         * lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
52416         (message-from-style, message-interactive, message-indentation-spaces)
52417         (message-signature, message-signature-file):
52418         Remove settings that match the defaults.
52419         (message-setup-hook, message-mode-hook, message-default-headers)
52420         (message-send-hook, message-send-mail-function):
52421         Just use setq rather than redefining.
52423         * lisp/gnus/nnrss.el (nnrss):
52424         * lisp/mail/rfc2047.el (rfc2047):
52425         * lisp/play/animate.el (animate): New custom groups.
52427 2016-06-09  Glenn Morris  <rgm@gnu.org>
52429         Remove obsolete leading * from defcustom, defface doc strings.
52431         * lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el:
52432         * lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el:
52433         * lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el:
52434         * lisp/cedet/semantic/decorate/include.el:
52435         * lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el:
52436         * lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el:
52437         * lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el:
52438         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el:
52439         * lisp/cedet/srecode/fields.el, lisp/ecomplete.el:
52440         * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
52441         * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
52442         * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el:
52443         * lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el:
52444         * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el:
52445         * lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el:
52446         * lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el:
52447         * lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el:
52448         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
52449         * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
52450         * lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el:
52451         * lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el:
52452         * lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el:
52453         * lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el:
52454         * lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el:
52455         * lisp/net/starttls.el, lisp/progmodes/cc-vars.el:
52456         * lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el:
52457         Remove obsolete leading * from defcustom, defface doc strings.
52459 2016-06-09  Eli Zaretskii  <eliz@gnu.org>
52461         Fix copying text properties by 'format'
52463         * src/editfns.c (styled_format): Fix copying text properties from
52464         the format specification to the produced string representation.
52465         (Bug#23730)
52466         (Fformat) Doc fix.
52468         * doc/lispref/strings.texi (Formatting Strings): Document that
52469         text properties from the format specifiers are also copied to the
52470         produced string.
52472 2016-06-09  Alan Mackenzie  <acm@muc.de>
52474         Handle C++ raw strings.
52476         * lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string)
52477         (c-depropertize-raw-strings-in-region,
52478         c-before-change-check-raw-strings)
52479         (c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New
52480         functions.
52482         * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for
52483         c-font-lock-raw-strings.
52484         (c-font-lock-raw-strings): New function.
52486         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert
52487         c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP
52488         into the values for C, C++, and Objective C.
52489         (c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into
52490         the C++ value.
52492         * lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables.
52493         (c-depropertize-CPP): New function, extracted from
52494         c-neutralize-syntax-in-and-mark-CPP.
52495         (c-neutralize-syntax-in-and-mark-CPP): Remove the call to
52496         c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning
52497         of the function.
52498         (c-after-change): Set c-old-BEG and c-old-END to the current values of
52499         c-new-BEG and c-new-END.
52501 2016-06-09  Daiki Ueno  <ueno@gnu.org>
52503         epg: don't use obsolete function
52505         * lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove
52506         redundant configuration check, which is now done in
52507         `epg-make-context'.
52509 2016-06-09  Daiki Ueno  <ueno@gnu.org>
52511         epg: don't start pinentry if it is useless
52513         * lisp/epg.el (epg--start): Don't start pinentry server if the
52514         session is non-interactive or pinentry-mode is set.
52516 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
52518         Replace IF_LINT by NONVOLATILE and UNINIT
52520         Inspired by a suggestion from RMS in: https://bugs.gnu.org/23640#58
52521         * .dir-locals.el (c-mode): Adjust to macro changes.
52522         * src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
52523         (IF_LINT): Remove.  All uses replaced by the new macros.
52525 2016-06-08  Michal Nazarewicz  <mina86@mina86.com>
52527         Remove ‘ert-with-function-mocked’ macro in favor of ‘cl-letf’ macro
52529         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
52530         in favor of ‘cl-letf’ macro which is more generic.  All existing
52531         uses are migrated accordingly.  The macro has not been included in
52532         an official release yet so it should be fine to delete it.
52534 2016-06-08  Glenn Morris  <rgm@gnu.org>
52536         * test/lisp/emacs-lisp/package-tests.el
52537         (package-test-update-archives-async): Try re-enabling on hydra.
52539 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
52541         * src/fileio.c (auto_save_error): Omit unused local.
52543 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
52545         Simplify overflow check via INT_SUBTRACT_WRAPV
52547         * src/editfns.c (check_tm_member): Simplify integer overflow check.
52549 2016-06-07  Glenn Morris  <rgm@gnu.org>
52551         Try to avoid hangs and stray procs in network-stream-tests.  (Bug#23560)
52553         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
52554         (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
52555         Ensure gnutls-serv process gets killed.
52556         (echo-server-nowait, connect-to-tls-ipv4-nowait):
52557         Limit the amount of time we might wait.
52559 2016-06-07  Glenn Morris  <rgm@gnu.org>
52561         Reduce allout.el's pollution of the namespace.
52563         * lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp.
52564         Keep old name as obsolete alias.
52565         (allout-produce-mode-menubar-entries, allout-nullify-prefix-data)
52566         (allout-solicit-char-in-string)
52567         (allout-count-trailing-whitespace-region, allout-regexp-sans-escapes):
52568         Rename to add an "allout-" prefix.
52570 2016-06-07  Glenn Morris  <rgm@gnu.org>
52572         * configure.ac (emacs_config_features): Add CANNOT_DUMP.
52574 2016-06-07  Glenn Morris  <rgm@gnu.org>
52576         Misc small webjump updates.
52578         * lisp/net/webjump.el (webjump): Add custom group.
52579         (webjump-sample-sites): Make it a constant.
52580         Remove explicit, old list of GNU ftp mirrors.
52581         (webjump-state-to-postal-alist): Make it a constant.
52582         (webjump-sites): Make it a defcustom.
52583         (webjump-to-iwin): Update for changed remote service.
52585 2016-06-07  Glenn Morris  <rgm@gnu.org>
52587         Do not hard-code port for package test server.  (Bug#23708)
52589         * test/lisp/emacs-lisp/package-resources/package-test-server.py:
52590         Do not hard-code port.
52591         * test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
52592         Update for the above change.
52594 2016-06-07  Tino Calancha  <f92capac@gmail.com>
52596         * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (Bug#23617)
52598 2016-06-07  Glenn Morris  <rgm@gnu.org>
52600         * src/fileio.c (auto_save_error): Use display-warning.  (Bug#23703)
52602 2016-06-07  Tino Calancha  <f92capac@gmail.com>
52604         * lisp/ibuf-ext.el (ibuffer-do-shell-command-file):
52605         Fix non-file-visiting-buffer case.  (Bug#22678)
52607 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
52609         Port --enable-gcc-warnings to clang 3.7.0
52611         * configure.ac: Add -Wno-tautological-compare to avoid bogus
52612         warnings about 0 <= rlim.rlim_max.  Remove flags that no longer
52613         seem to be needed, at least in Fedora 23 x86-64.
52615 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
52617         Use __builtin_assume_aligned on untagged Lisp vals
52619         * src/conf_post.h (__has_builtin, __builtin_assume_aligned):
52620         New macros, for compilers not already defining them.
52621         (__has_builtin___builtin_assume_aligned): New macro.
52622         * src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned.
52623         This shrinks text space by 0.2% on x86-64 with GCC 6.1.
52625 2016-06-07  Glenn Morris  <rgm@gnu.org>
52627         * lisp/help-fns.el (describe-function-1): Avoid reporting advised
52628         aliases as the type of their targets.
52630 2016-06-07  Tino Calancha  <f92capac@gmail.com>
52632         * lisp/simple.el (process-menu-mode, list-processes--refresh):
52633         Include PID.  (Bug#21725)
52635 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
52637         Merge from origin/emacs-25
52639         6e3adf8 Fix crash in syntax.c after GC
52640         973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
52641         9d5cceb Fix doc string quoting
52642         0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
52643         a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.
52645 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
52647         Merge from origin/emacs-25
52649         604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del...
52650         20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo.
52651         a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo.
52652         07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...
52654 2016-06-06  Paul Eggert  <eggert@cs.ucla.edu>
52656         Use standard Unicode names for Thai, Lao
52658         * lisp/language/lao-util.el, lisp/language/thai-util.el:
52659         Don’t override standard Unicode character name (Bug#23698).
52661 2016-06-06  Glenn Morris  <rgm@gnu.org>
52663         * lisp/man.el (Man-reference-regexp, Man-default-man-entry):
52664         Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8.
52666 2016-06-06  Michael Albinus  <michael.albinus@gmx.de>
52668         Some fixes in filenotify-tests.el for cygwin
52670         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
52671         Reintroduce value for cygwin, it's needed on slow systems.
52672         (file-notify--wait-for-events): Move up definition.
52673         (file-notify--test-no-descriptors): Use `file-notify--wait-for-events'.
52674         (file-notify--test-with-events-check, file-notify--test-with-events)
52675         (file-notify-test08-watched-file-in-watched-dir):
52676         Use :random rather than `random.
52677         (file-notify-test06-many-events): Do not skip for cygwin.
52679 2016-06-05  Juri Linkov  <juri@linkov.net>
52681         * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’.
52683         If non-nil, operate on multiple chunks.  (Bug#23655)
52685         * src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region.
52687 2016-06-05  Juri Linkov  <juri@linkov.net>
52689         * lisp/wdired.el (wdired-next-line, wdired-previous-line): Add "^"
52691         to interactive spec to handle shift-selection.  (Bug#23642)
52693 2016-06-05  Michael Albinus  <michael.albinus@gmx.de>
52695         Improve robustness of filenotify-tests.el (Bug#23618)
52697         * test/lisp/filenotify-tests.el (file-notify--test-no-descriptors)
52698         (file-notify--test-no-descriptors-explainer)
52699         (file-notify--test-cleanup-p): New defuns.
52700         (file-notify--test-cleanup): Don't check for
52701         `file-notify--test-event' anymore, that's done in
52702         `file-notify--test-no-descriptors'.
52703         (file-notify--test-with-events-check)
52704         (file-notify--test-with-events): Handle the `random' marker.
52705         (file-notify--test-with-events-explainer): Improve readability.
52706         (file-notify-test00-availability)
52707         (file-notify-test01-add-watch, file-notify-test02-events)
52708         (file-notify-test03-autorevert)
52709         (file-notify-test04-file-validity)
52710         (file-notify-test05-dir-validity)
52711         (file-notify-test06-many-events, file-notify-test07-backup)
52712         (file-notify-test08-watched-file-in-watched-dir)
52713         (file-notify-test09-sufficient-resources): Check also
52714         `file-notify--test-cleanup-p'.
52715         (file-notify-test04-file-validity)
52716         (file-notify-test05-dir-validity): Use `ignore' as handler.
52717         (file-notify-test05-dir-validity)
52718         (file-notify-test06-many-events): Delete directory finally.
52719         (file-notify-test08-watched-file-in-watched-dir): Add `random' marker.
52721 2016-06-05  Stephen Berman  <stephen.berman@gmx.net>
52723         man.el: Fix links on hyphenated words (bug#23647)
52725         * lisp/man.el (Man-bgproc-sentinel): Make links work on
52726         hyphenated words.
52728 2016-06-05  K. Handa  <handa@gnu.org>
52730         Add category 'j' to more characters.
52732         * lisp/international/characters.el: Add category 'j' (Japanese)
52733         to characters in japanese-jisx0213.2004-1.
52735 2016-06-04  Tino Calancha  <f92capac@gmail.com>
52737         isearch-edit-string resumes multi isearches
52739         * lisp/isearch.el (with-isearch-suspended): Remember and restore
52740         multi-isearch variables.  (Bug#21663)
52742 2016-06-04  Eli Zaretskii  <eliz@gnu.org>
52744         Fix Eshell display when RTL characters are involved
52746         * lisp/eshell/esh-mode.el (eshell-mode): Set
52747         'bidi-paragraph-direction' to 'left-to-right'.  (Bug#23652)
52749 2016-06-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
52751         Make ses-jump with completing input.
52753         * lisp/ses.el (ses-jump): Make symbol input completing against list of
52754           named cells.
52756 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
52758         Port angle-bracket TZ settings to MS-Windows
52760         * doc/lispref/os.texi (Time Zone Rules): Document MS-Windows
52761         lack of support for numeric time zone abbreviations.
52762         * src/w32.c (sys_putenv): Convert angle-bracket TZ syntax
52763         to MS-compatible syntax if possible, and to "ZZZ" otherwise.
52764         Problem reported by Kazuhiro Ito (Bug#23600).
52766 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
52768         Avoid delving into Git internals for version
52770         * lisp/loadup.el (exec-path): Set it to nil later, so that
52771         emacs-repository-get-version can invoke git commands in the PATH.
52772         * lisp/version.el (emacs-repository--version-git-1): Remove.
52773         (emacs-repository-get-version): Let Git do it rather than
52774         delving into Git internals.
52776 2016-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
52778         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less
52780 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
52782         Fix emacs-repository-get-version with packed .git
52784         * lisp/version.el (emacs-repository-get-version):
52785         Parse .git/packed-refs if it exists.
52786         Problem reported by Martin Rudalics in:
52787         https://lists.gnu.org/r/emacs-devel/2016-05/msg00554.html
52789 2016-06-01  Michael Albinus  <michael.albinus@gmx.de>
52791         Minor change in tramp.texi
52793         * doc/misc/tramp.texi (Password handling): Do not discuss
52794         anymore how to get password-cache.el.  It is bundled with
52795         Emacs.
52797 2016-06-01  Alan Mackenzie  <acm@muc.de>
52799         Correct fontification and indentation of C++'s "constexpr" expressions
52801         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "constexpr".
52802         (c-modifier-kwds): Add "constexpr".
52804 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
52806         Cosmetic change to kinsoku-eol.  (tiny change)
52808         * lisp/international/kinsoku.el (kinsoku-eol): Make the
52809         order of characters match with the comments.
52811 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
52813         Add HIRAGANA ITERATION MARK to japanese-kana-table.  (tiny change)
52815         * lisp/language/japan-util.el (japanese-kana-table): Add an
52816         entry for HIRAGANA ITERATION MARK (U+309D).
52817         (japanese-alpha-numeric-table): Fix docstring.
52819 2016-05-31  K. Handa  <handa@gnu.org>
52821         Fix incomplete handling of translation table in a coding system.
52823         * src/coding.c (get_translation): New arg NCHARS.  Even if TRANS
52824         is an alist, return a character or a vector of character.
52825         (produce_chars): Adjust for the above change.
52826         (consume_chars): Likewise.
52828 2016-05-31  Michael Albinus  <michael.albinus@gmx.de>
52830         Improve robustness for out-of-band copy in Tramp
52832         * lisp/net/tramp-adb.el (tramp-adb-execute-adb-command)
52833         * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers)
52834         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
52835         Cosmetic changes.
52837         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
52838         Use local `default-directory'.  Simplify command to send.
52839         Don't check return code, this was already done in
52840         `tramp-process-actions'.
52841         (tramp-get-inline-coding): Don't set `default-directory'.
52843         * lisp/net/tramp.el (tramp-action-out-of-band):
52844         Throw `out-of-band-failed'.
52845         (tramp-process-actions): Handle `out-of-band-failed'.
52846         (tramp-call-process, tramp-call-process-region):
52847         Use local `default-directory'.
52849 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
52851         Merge from origin/emacs-25
52853         788c9b6 ; Spelling fix
52854         25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
52855         0992ec3 Correct cl-flet usage (Bug#22317)
52856         50caae3 Release MH-E manual version 8.6
52857         602bb40 Update MH-E's documentation about HTML renderers
52858         89018f0 Fx the we->the typo
52859         845ee57 Restore frames into the current display by default
52860         ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
52861         01c3cd1 etc/TODO: Remove out-of-place issue
52862         5e18486 Clarify doc string of 'file-name-sans-extension'
52863         bffda22 Fix the MSDOS build
52864         f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
52865         1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix.  (Bug#23...
52866         f7ffc4b Fix infloop in 'number-sequence'
52867         4ab2673 ; Spelling and punctuation fixes in comments
52868         71c152e * lisp/emacs-lisp/find-func.el (find-function-library):
52870 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
52872         * lisp/emacs-lisp/autoload.el: Use radix-tree.
52874          (autoload--make-defs-autoload): Rewrite.
52875         (autoload--split-prefixes-1): Remove.
52876         (autoload-def-prefixes-max-entries): Rename from
52877         autoload-defs-autoload-max-size.
52878         (autoload-popular-prefixes): Remove.
52879         (autoload-def-prefixes-max-length): New const.
52881         * lisp/emacs-lisp/radix-tree.el: New file.
52883 2016-05-30  Ken Brown  <kbrown@cornell.edu>
52885         * src/conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Increase.
52887 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
52889         Omit IF_LINT code that no longer seems needed
52891         Nowadays GCC is smarter, or the Emacs code has mutated, or both,
52892         and now is as good a time as any to remove uses of IF_LINT that
52893         now seem to be unnecessary.
52894         * lib-src/emacsclient.c (set_local_socket):
52895         * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
52896         * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
52897         * src/casefiddle.c (casify_region):
52898         * src/charset.c (load_charset_map):
52899         * src/coding.c (decode_coding_object, encode_coding_object):
52900         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
52901         (cons_to_unsigned, cons_to_signed):
52902         * src/frame.c (make_frame, x_set_frame_parameters):
52903         * src/keyboard.c (read_event_from_main_queue):
52904         * src/regex.c (regex_compile):
52905         * src/syntax.c (back_comment):
52906         * src/window.c (Frecenter):
52907         * src/xfaces.c (Fx_list_fonts):
52908         Remove IF_LINT that no longer seems necessary.
52909         * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
52910         * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
52911         a pragma dance to pacify GCC -Wclobbered.
52912         * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.
52914         * src/xterm.c (x_connection_closed): Now _Noreturn, which should
52915         mean we do not need IF_LINT any more.
52916         (x_io_error_quitter): Now _Noreturn.  Put an 'assume (false)’
52917         at the end, to forestall warnings from older compilers.
52919 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
52921         Port --enable-gcc-warnings to Cygwin, FreeBSD
52923         These platforms have a bug where _Noreturn is empty when 'lint' is
52924         defined.  Problem reported by Ken Brown (Bug#23640).
52925         * configure.ac (GCC_LINT): Rename from 'lint'.
52926         * src/conf_post.h (IF_LINT): Use GCC_LINT, not just 'lint’.
52928 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
52930         Update from gnulib
52932         This incorporates:
52933         2016-05-30 Use GCC_LINT, not lint
52934         2016-05-29 secure_getenv: Port to many more platforms.
52935         * doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h:
52936         * m4/secure_getenv.m4: Copy from gnulib.
52938 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
52940         * lisp/emacs-lisp/pcase.el: Undo last change's spurious changes
52942         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'.
52944 2016-05-30  Ken Brown  <kbrown@cornell.edu>
52946         * src/regex.c (IF_LINT): Remove; it’s in conf_post.h
52948 2016-05-30  Michael Albinus  <michael.albinus@gmx.de>
52950         Fix Bug#23631 for Tramp
52952         * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions)
52953         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions)
52954         * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
52955         Fix caching problems.
52957         * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify.
52959         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
52960         Move duplicate deletion ...
52961         (tramp-smb-handle-file-name-all-completions): ... here.
52963         * lisp/net/tramp.el (tramp-handle-file-name-completion):
52964         Handle `completion-ignored-extensions'.  (Bug#23631)
52966         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
52967         Test also `completion-regexp-list' and `completion-ignored-extensions'.
52969 2016-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
52971         * lisp/wid-edit.el (link): Remove :follow-link property (bug#22434)
52973         * lisp/recentf.el (recentf-dialog-mode-map): Remove unecessary mapping.
52975 2016-05-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
52977         Fix up remainder of the mml property change
52979         * lisp/gnus/message.el (message-send-mail): Use the renamed
52980         mml-buffer-substring-no-properties-except-some function.
52981         (message-send-news): Ditto.
52983 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
52985         Allow preserving EXIF rotations when sending HTML messages
52987         * lisp/gnus/mml.el (mml--possibly-alter-image): Allow image
52988         rotation if you have exiftool installed and the image format
52989         supports it.
52990         (mml-expand-html-into-multipart-related): Use it.
52991         (mml-buffer-substring-no-properties-except-some): Renamed and
52992         copy display properties, too.
52994 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
52996         Make message-toggle-image-thumbnails work better
52998         * lisp/gnus/message.el (message-toggle-image-thumbnails): Use
52999         `insert-image' instead of `put-image' to make it possible to
53000         edit the resulting text in a sensible manner.
53002 2016-05-29  Alan Mackenzie  <acm@muc.de>
53004         Rationalize the use of c-new-BEG and c-new-END in CC Mode.
53006         Remove the now redundant c-old-BOM and c-old-EOM.
53008         * lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
53009         meaning.
53010         (c-macro-cache-no-comment): New variable.
53011         (c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
53012         the new c-macro-cache-no-comment.
53013         (c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
53014         (c-no-comment-end-of-macro): New function.
53016         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
53017         c-extend-font-lock-region-for-macros to C/C++/ObjC value.
53019         * lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
53020         (c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
53021         c-old-BOM/EOM.
53022         (c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
53023         a cons for the new region, since the function is now called as an after-change
53024         function.  No longer adjust c-new-END for the length of inserted/deleted
53025         text.  Move the size restrictions on macros to here from
53026         c-neutralize-syntax-in-and-mark-CPP.
53027         (c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
53028         Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
53029         upper boundary to "neutralize" syntactically obtrusive characters.
53030         (c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
53031         one.
53033 2016-05-28  Ken Brown  <kbrown@cornell.edu>
53035         Avoid compiler warnings
53037         * src/cygw32.c (chdir_to_default_directory): Use "void" as
53038         argument list.  Use SSDATA instead of SDATA.
53040         * src/unexcw.c (fixup_executable): Use %td as format specifier for
53041         argument of type ptrdiff_t.  Use %zu for argument of type size_t.
53043 2016-05-28  Eli Zaretskii  <eliz@gnu.org>
53045         Fix 'next-line' and 'previous-line' during keyboard macro
53047         * lisp/simple.el (line-move-visual): Handle the case when point
53048         moves outside of the visible portion of the buffer while executing
53049         a keyboard macro.  (Bug#13452)  (Bug#23551)  (Bug#23555)
53051 2016-05-28  Alan Mackenzie  <acm@muc.de>
53053         C++ Mode: attribute in class declaration fouls up indentation.  Fix!
53055         * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip
53056         back over noise clauses and attribute clauses.
53058         * lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable.
53060 2016-05-28  Ken Olum  <kdo@cosmos.phy.tufts.edu>
53062         Prevent locked-file errors in Rmail
53064         * lisp/mail/rmail.el (rmail-get-new-mail-1): Lock file before
53065         calling 'rmail-insert-inbox-text'.  Unlock if
53066         'rmail-insert-inbox-text' doesn't modify buffer.
53067         (rmail-insert-inbox-text): Remove lock-checking code.  (Bug#17706)
53069 2016-05-28  Michael Albinus  <michael.albinus@gmx.de>
53071         Sync with Tramp repository.
53073         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
53074         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
53075         * lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
53076         Create BUFFER if it doesn't exist.  Reported by Nikolay
53077         Kudryavtsev <nikolay.kudryavtsev@gmail.com>.
53079         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
53080         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
53081         (tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
53082         (tramp-gvfs-get-directory-attributes)
53083         (tramp-gvfs-get-root-attributes)
53084         (tramp-gvfs-get-file-attributes): New defun.
53085         (tramp-gvfs-handle-file-attributes)
53086         (tramp-gvfs-handle-file-name-all-completions): Use them.
53087         (tramp-gvfs-handle-file-directory-p): Use `file-truename'.
53088         (tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
53089         (tramp-gvfs-send-command): Add locale settings to `process-environment'.
53090         (top): Suppress D-Bus error messages during zeroconf initialization.
53092         * lisp/net/tramp.el (tramp-unknown-id-string)
53093         (tramp-unknown-id-integer): New defconst.
53094         (tramp-check-cached-permissions)
53095         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
53096         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
53097         (tramp-convert-file-attributes, tramp-get-remote-uid)
53098         (tramp-get-remote-gid): Use them.
53100         * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
53101         Rename from `tramp-color-escape-sequence-regexp'.
53102         (tramp-sh-handle-insert-directory)
53103         (tramp-convert-file-attributes): Adapt callees.
53104         (tramp-device-escape-sequence-regexp): New defconst.
53105         (tramp-wait-for-output): Use it.  Reported by Matthías Páll
53106         Gissurarson <icetritlo@gmail.com>.
53108         * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
53109         Simplify.
53111         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
53112         (tramp-test28-shell-command):
53113         Use `tramp-display-escape-sequence-regexp'.
53115 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53117         Don’t document declare-function internals
53119         Suggested by Stefan Monnier in:
53120         https://lists.gnu.org/r/emacs-devel/2016-05/msg00618.html
53121         * doc/lispref/functions.texi (Declaring Functions):
53122         * lisp/subr.el (declare-function):
53123         * lisp/emacs-lisp/bytecomp.el:
53124         (byte-compile-macroexpand-declare-function):
53125         Document as (fn file &optional arglist fileonly)
53126         even though it is really (fn file &rest args).
53128 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53130         * src/puresize.h (BASE_PURESIZE): Increase it some more.
53132 2016-05-27  Glenn Morris  <rgm@gnu.org>
53134         * src/puresize.h (BASE_PURESIZE): Increase it by a little bit.
53136         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to
53137         avoid build failure.
53139 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53141         Port to platforms where rlim_max < 0
53143         * src/emacs.c (main): Do not treat a negative rlim_max as a limit;
53144         this can happen if a special value like RLIM_INFINITY is negative.
53146 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53148         Robustify stack-size calculation
53150         * src/emacs.c: Include getpagesize.h.
53151         (main): Check for integer overflow when computing stack size.
53152         Round new rlim_cur to pagesize boundary on all platforms, as this
53153         is easy and would have prevented Bug#23622.  If setrlimit
53154         fails, use current limit to determine re_max_failures.
53156 2016-05-27  Ken Brown  <kbrown@cornell.edu>
53158         Adjust filenotify-tests on Cygwin
53160         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
53161         Remove special case for Cygwin.
53162         (file-notify-test07-backup): Update expected results on Cygwin.
53164 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
53166         Improve define-function omitted-arg documentation
53168         * doc/lispref/functions.texi (Declaring Functions):
53169         * lisp/subr.el (declare-function):
53170         Be clearer when documenting omitted args for define-function.
53172 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
53174         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add docstring to accessors.
53176 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
53178         * lisp/subr.el (definition-prefixes): Expand docstring
53180         * lisp/emacs-lisp/autoload.el (autoload--split-prefixes):
53181         Remove unused function.
53183 2016-05-27  Phillip Lord  <phillip.lord@russet.org.uk>
53185         Fix broken viper deactivation
53187         * lisp/emulation/viper.el (viper--deactivate-advice-list): Destructure
53188           args to advice-remove.
53189           (viper--advice-add): Use cons not list.
53191         Addresses bug#23625
53193 2016-05-27  Mark Oteiza  <mvoteiza@udel.edu>
53195         Preserve buffer point in windows by default (Bug#4041).
53197         * doc/lispref/windows.texi: Mention new default.
53198         * etc/NEWS: Mention new default.
53199         * lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.
53201 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
53203         Fix byte-compiler pacification for declare-function
53205         Problem reported by Michael Heerdegen in:
53206         https://lists.gnu.org/r/emacs-devel/2016-05/msg00590.html
53207         * lisp/emacs-lisp/bytecomp.el:
53208         (byte-compile-macroexpand-declare-function):
53209         Revert signature to previous value.
53210         * lisp/subr.el (declare-function): Change signature to
53211         match the reverted signature used in the byte compiler.
53213 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
53215         Update texinfo.tex
53217         This fixes Bug#23611 in a different (and presumably better) way.
53218         * doc/misc/texinfo.tex: Update from gnulib.
53220 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
53222         Pacify 'make check-declare'
53224 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
53226         Repair damage from emacs-25 merge
53228         * test/lisp/character-fold-tests.el:
53229         Remove, as it was renamed to test/lisp/char-fold-tests.el.
53230         * test/lisp/emulation/viper-tests.el:
53231         Rename from test/automated/viper-tests.el.
53233 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
53235         Merge from origin/emacs-25
53237         c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3...
53238         a4d882c Correct old cell name unbinding when renaming cell.
53239         6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
53240         0be6725 Document problem: slow screen refresh on missing font.
53241         853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ...
53242         5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change...
53243         3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne...
53244         42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611).
53245         3f4a9d9 * admin/authors.el (authors): First update the ChangeLog.
53246         897fb6f ; 'Changes from the pre-25.1 API' copyedits
53247         825ca25 Rename vc-stay-local back to vc-cvs-stay-local
53248         4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble...
53249         b995d1e * doc/misc/eww.texi (Advanced): Fix xref.
53250         2e589c0 Fix cross-references between manuals
53251         f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ...
53252         906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ...
53253         bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY.
53254         503e752 ; * CONTRIBUTE: Fix a typo.
53255         fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib...
53256         bdfbe6d ; * admin/release-process: Copyedits.
53257         44a6aed ; * test/automated/data-tests.el: Standardize license notice.
53258         c33ed39 ; * test/automated/viper-tests.el: Standardize license notice.
53259         df4a14b Add automated test for viper-tests.el
53260         c0139e3 Fix viper undo breakage from undo-boundary changes
53261         920d76c Fix reference to obsolete fn ps-eval-switch
53262         18a9bc1 Do not trash symlinks to init file
53263         2671179 Don't print the "decomposition" line for control chars in wha...
53264         869092c Bring back xterm pasting with middle mouse
53265         5ab0830 Provide workaround for xftfont rendering problem
53266         c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic...
53267         30989a0 Mention GTK+ problems in etc/PROBLEMS
53268         421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents):
53269         dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests"
53270         e41a5cb Avoid errors with Czech and Slovak input methods
53271         d4ae6d7 epg: Add a way to detect gpg1 executable for tests
53272         ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings.
53273         6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer):
53274         c45d9f6 Improve documentation of 'server-name'
53275         3b5e38c Modernize ASLR advice in etc/PROBLEMS
53276         1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.
53278 2016-05-26  Eli Zaretskii  <eliz@gnu.org>
53280         Avoid byte-compiler warnings due to 'declare-function'
53282         * lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
53283         (w32-get-valid-locale-ids):
53284         * lisp/progmodes/js.el (ido-mode): Specify arglist in
53285         'declare-function' forms, to avoid byte-compiler warnings.
53287 2016-05-26  Glenn Morris  <rgm@gnu.org>
53289         * lisp/info.el (Info-default-directory-list): Don't check /share,info.
53291         No-one puts info pages there.  If /share does exist, it's likely to
53292         contain remote file systems where access could be slow.
53294 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
53296         Merge from origin/emacs-25
53298         2d76405 etc/AUTHORS: Update the AUTHORS file
53300 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
53302         Merge from origin/emacs-25
53304         06cb28f Fix bug#23462: Crash when iconifying frame on OS X.
53306 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
53308         Merge from origin/emacs-25
53310         939eb75 Fix bug in default setting of 'ps-paper-type'
53312 2016-05-26  Glenn Morris  <rgm@gnu.org>
53314         * lisp/info.el (Info-default-directory-list): Remove obsolete suffixes.
53316 2016-05-26  Michael Albinus  <michael.albinus@gmx.de>
53318         Fix Bug#23614.
53320         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
53321         Let-bind `process-coding-system-alist' in order to suppress
53322         the value for "cmdproxy".
53324         * lisp/net/tramp.el (tramp-encoding-shell):
53325         `w32-shell-name' is a function.
53326         (tramp-encoding-command-switch)
53327         (tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.
53329         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
53330         Suppress some tests on MS Windows.  (Bug#23614)
53332 2016-05-26  Stephen Berman  <stephen.berman@gmx.net>
53334         hl-line.el: Fix flickering of highlighted line (bug#23510)
53336         * lisp/hl-line.el (hl-line-maybe-unhighlight)
53337         (global-hl-line-highlight-all)
53338         (global-hl-line-maybe-unhighlight): New functions.
53339         (hl-line-overlay-buffer): New variable.
53340         (hl-line-mode): Use it.  Replace hl-line-unhighlight on
53341         pre-command-hook by hl-line-maybe-unhighlight on
53342         post-command-hook, to prevent hl-line from flickering.
53343         Adjust document string.
53344         (global-hl-line-mode): Use global-hl-line-highlight-all to
53345         simultaneously highlight the current line in all live windows.
53346         Replace global-hl-line-unhighlight on pre-command-hook by
53347         global-hl-line-maybe-unhighlight on post-command-hook, to
53348         prevent global-hl-line from flickering.  Remove
53349         global-hl-line-unhighlight from change-major-mode-hook on
53350         disabling the mode.  Adjust document string.
53352 2016-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
53354         Make autoloads populate a new definition-prefixes table
53356         * lisp/subr.el (definition-prefixes): New hash table.
53357         (register-definition-prefixes): New function.
53359         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
53360         (autoload--split-prefixes-1, autoload--split-prefixes)
53361         (autoload--make-defs-autoload): New functions.
53362         (autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
53363         (autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
53364         (update-directory-autoloads): Don't touch loaddefs.el if the set of
53365         autoloads hasn't changed (i.e. if only the timestamp would change).
53367         * lisp/loadup.el: Purify definition-prefixes.
53369         * lisp/w32-fns.el: Keep name space clean.
53370         (w32-set-default-process-coding-system): Rename from
53371         set-default-process-coding-system.
53372         (w32-set-system-coding-system): Rename from set-w32-system-coding-system.
53374 2016-05-24  Ken Brown  <kbrown@cornell.edu>
53376         Allow network-stream-tests to work for out-of-tree builds
53378         * test/lisp/net/network-stream-tests.el
53379         (network-stream-tests--datadir): New defconst.
53380         (make-tls-server): Use it.
53382 2016-05-24  Ken Brown  <kbrown@cornell.edu>
53384         Fix failing echo-server-nowait test
53386         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
53387         Specify IPv4 for the client, to match the family of the server.
53388         (Bug#23606)
53390 2016-05-24  Ken Brown  <kbrown@cornell.edu>
53392         Allow shr-tests to work for out-of-tree builds
53394         * test/lisp/net/shr-tests.el (shr-tests--datadir): New defconst.
53395         (shr-test, rendering): Use it.
53397 2016-05-24  Ken Brown  <kbrown@cornell.edu>
53399         Update allowable arguments for open-network-stream
53401         * src/coding.c (Ffind_operation_coding_system): Allow t as a
53402         target for open-network-stream.  (Bug #23540)
53404 2016-05-24  Dmitry Gutov  <dgutov@yandex.ru>
53406         Make js-mode's syntax highlighting work again
53408         * lisp/progmodes/js.el (js-mode): Fix the assigned
53409         font-lock-defaults value (bug#23603).
53411 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
53413         * lisp/progmodes/cc-mode.el: Add minor comments
53415         (c-change-expand-fl-region): Mark args as unused.
53417 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
53419         * lisp/url/url-http.el: Use lexical-binding
53421         (url-http-simple-after-change-function): Use buffer-size rather than `nd'.
53422         (url-http-wait-for-headers-change-function): Remove unused var
53423         `content-length'.
53424         (url-http): Remove unused vars `host' and `port'.
53426 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
53428         * lisp/widget.el (define-widget): Use `declare' (which does work now).
53430         (widget-plist-member): Mark as obsolete.
53432 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
53434         * lisp/image.el: Use lexical-binding
53436         (image-scaling-factor, imagemagick-types-inhibit)
53437         (imagemagick-enabled-types): Remove redundant :group.
53438         (image--get-image): Apply de-Morgan and use car-safe.
53439         (image-compute-scaling-factor): Use the argument.
53441 2016-05-23  Glenn Morris  <rgm@gnu.org>
53443         * lisp/image.el (image--get-image): Remove nonsensical code.
53445         * lisp/image.el (image--get-image): Avoid requiring a library for
53446         one trivial operation.
53448 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
53450         Don’t use only last protocol from getaddrinfo
53452         Problem reported by Ken Brown in:
53453         https://lists.gnu.org/r/emacs-devel/2016-05/msg00483.html
53454         * src/process.c (conv_addrinfo_to_lisp): New function.
53455         (connect_network_socket): Arg is now a list of addrinfos, not
53456         merely IP addresses.  All uses changed.  Use protocol from
53457         each addrinfo.
53458         (Fmake_network_process): Accumulate protocols into addrinfos
53459         rather than just using the last one found.
53460         (check_for_dns): Accumulate protocols here, too.
53461         * src/process.h (struct Lisp_Process): Remove ai_protocol;
53462         no longer needed.
53464 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
53466         Fix seq requirement that broke bootstrap
53468         * lisp/image.el (image--get-image): Require seq here, not at the
53469         top level, to avoid ‘(require seq) while preparing to dump’ while
53470         bootstrapping.  Suggested by Tino Calancha in:
53471         https://lists.gnu.org/r/emacs-devel/2016-05/msg00477.html
53473 2016-05-22  Nicolas Petton  <nicolas@petton.fr>
53475         Add missing dependencies to seq.el
53477         * lisp/emacs-lisp/find-func.el:
53478         * lisp/ibuffer.el:
53479         * lisp/image.el: Require seq.
53481 2016-05-22  Alp Aker  <alp@food52.com>
53483         * src/process.c (SOCK_NONBLOCK): Fix typo.
53485 2016-05-22  Etienne Prud’homme  <e.e.f.prudhomme@gmail.com>
53487         Add completion of colors in CSS mode
53489         * lisp/textmodes/css-mode.el (css-value-class-alist): Add CSS colors
53490         from "CSS Color Module Level 3".
53492         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
53493         Update test.
53495 2016-05-21  Paul Eggert  <eggert@cs.ucla.edu>
53497         Prefer SOCK_NONBLOCK to O_NONBLOCK
53499         * src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined.
53500         (connect_network_socket): Create the socket with SOCK_NONBLOCK, to
53501         avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works.  Put the
53502         SOCK_DGRAM check a bit later, to keep the logic cleaner, as
53503         the order does not matter here.
53505 2016-05-21  Alan Third  <alan@idiocy.org>
53507         Fix bug#16856, cursor leaves garbage in fringe on OS X.
53509         * src/nsterm.m (ns_draw_window_cursor): Prevent the cursor from
53510         being drawn outside the text area.
53512 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
53514         Fix compiler warnings in the MinGW build
53516         * configure.ac [mingw32]: Don't add -Wpointer-sign, and add
53517         -Wno-pointer-sign, to keep the noise level down.
53519         * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
53520         -Wredundant-decls, as that produces a lot of noise due to
53521         redeclaration of time-related functions by gnulib.
53522         * nt/runemacs.c (set_user_model_id): Fix argument type of
53523         'SetCurrentProcessExplicitAppUserModelID'.
53525         * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
53526         declare 'dpyinfo', as it is unused.
53527         (xpm_load): Fix warnings about pointer signedness.
53528         * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
53529         prototypes.
53530         (sys_spawnve): Avoid warnings about discarding 'const' qualifier.
53531         (sys_select): Provide prototype.
53532         (g_b_init_compare_string_w): Move declaration to file scope.
53533         * src/w32heap.c (dumped_data_commit): Now static.
53534         (FREEABLE_P): Avoid warnings about pointer comparison with integer.
53535         (mmap_realloc): Cast to 'char *' for arithmetics on void pointers.
53536         * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
53537         (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
53538         Provide prototypes.
53539         * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
53540         redundant prototypes.
53541         (w32_get_internal_run_time, map_w32_filename): Provide prototype.
53542         (init_environment, sys_ctime): Avoid warnings about discarding
53543         'const' qualifier.
53544         Include utimens.h.
53545         (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
53546         (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
53547         (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
53548         prototypes.
53549         (sys_rename_replace): Use %d to avoid compiler warnings.
53550         (_wsa_errlist): Make the message text 'const char *', to avoid
53551         compilation warnings.
53552         (dynlib_reset_last_error): Move prototype to file scope.
53553         (w32_get_resource): First argument is now 'const char *'.
53554         * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
53555         (otf_features): Second argument is no 'const char *'.
53556         * src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
53557         (x_set_window_size): Remove redundant prototypes.
53558         (XChangeGC, XGetGCValues, w32_draw_underwave)
53559         (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
53560         (x_calc_absolute_position, x_destroy_window): Now static.
53561         (menubar_selection_callback): Move prototype to file scope.
53562         * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
53563         declaration.
53564         (w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
53565         (w32font_full_name): Fix warnings about implicit conversion of
53566         'float' to 'double'.
53567         * src/w32reg.c (w32_get_rdb_resource): Fix warnings about
53568         discarding 'const' qualifier.
53569         * src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
53570         (set_frame_menubar): Remove redundant prototypes.
53571         (menubar_selection_callback, w32_menu_display_help): Provide
53572         prototypes.
53573         (simple_dialog_show): Avoid warnings about discarding 'const'
53574         qualifier.
53575         * src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
53576         (free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
53577         (x_set_tool_bar_lines, x_set_internal_border_width): Remove
53578         redundant prototypes.
53579         (current_popup_menu): Remove redundant declaration.
53580         (colormap_t): Member 'name' is now 'const char *'.
53581         (add_system_logical_colors_to_map): Fix signed/unsigned warnings.
53582         (x_decode_color, x_set_border_pixel)
53583         (x_clear_under_internal_border, x_set_name, hook_w32_key)
53584         (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
53585         static.
53586         (w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
53587         (w32_msg_worker, w32_last_error): Provide prototypes.
53588         (funhook, lookup_vk_code): Avoid warnings about missing
53589         parentheses.
53590         (x_default_font_parameter, Fw32_notification_notify): Avoid
53591         warnings about discarding 'const' qualifier.
53592         (Fx_create_frame): Avoid warnings about empty body of 'else'.
53593         (x_screen_planes): Ifdef away unused function.
53594         (Fx_show_tip): Remove unused variables.
53595         (Fw32_battery_status): Avoid warnings about implicit promotion
53596         from float to double.
53597         (Fw32_notification_notify): Initialize 'timeout'.
53598         * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
53599         define the TIMER_SETTIME_RUNNING value if it will be used.
53600         * src/w32notify.c (send_notifications): Ifdef away an empty if
53601         clause.  Remove unused variable.
53602         (watch_end, watch_completion): Provide prototypes.
53603         * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
53604         * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
53605         warning with pointer signedness.
53606         * src/gnutls.c (gnutls_x509_crt_get_signature)
53607         (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
53608         don't load them from the GnuTLS library, as they are no longer
53609         used.
53610         * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
53611         define, as it's unused.
53612         * src/unexw32.c (open_input_file, open_output_file)
53613         (close_file_data): Remove redundant prototypes.
53614         (_start): provide prototype.
53615         (mainCRTStartup): Move prototype to file level.
53616         (find_section): Use type-cast to shut up compiler warnings.
53617         (offset_to_section, relocate_offset): Now static.
53618         (find_section): First argument is now a 'const char *'.
53619         (offset_to_section): Ifdef away, as it's unused.
53620         * src/w32heap.h (find_section): Adjust prototype.
53621         * src/dynlib.c (dynlib_reset_last_error): Provide prototype.
53622         * src/dired.c (directory_files_internal_w32_unwind): Avoid
53623         warnings about missing prototypes.
53624         (is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
53625         (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
53626         signedness.
53627         * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
53628         Fix warnings about pointer signedness.
53629         * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
53630         unused.
53631         * src/sysdep.c (_getpid): Remove redundant prototype.
53632         (sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
53633         [!MSDOS]: Don't define 'st', it's unused.
53634         (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
53635         (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
53636         * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
53637         n_to_read, as it is not used.
53638         (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
53639         * src/w32font.h (syms_of_w32font): Remove redundant prototype.
53640         * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
53641         * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
53642         not used by DOS_NT builds, to avoid compiler warnings.
53643         * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
53644         declaration.
53645         * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
53646         up compiler warnings.
53647         * src/w32term.h (x_set_window_size, x_get_focus_frame)
53648         (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
53649         (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
53650         (x_free_frame_resources, x_real_positions)
53651         (display_x_get_resource): Remove redundant prototypes.
53653         * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
53654         (sys_rename, gettimeofday): Provide prototypes.
53655         * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
53656         declarations.
53657         * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
53658         (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
53659         (close_winsock, initialize_sockets, w32_set_user_model_id)
53660         (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
53661         prototypes.
53662         (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
53663         difference.
53664         (w32_set_user_model_id): Update prototype of
53665         SetCurrentProcessExplicitAppUserModelID to avoid compiler
53666         warnings.
53667         (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
53668         shut up compiler warnings.
53669         * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
53671 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
53673         Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode'
53675         * src/xdisp.c (move_it_in_display_line_to): Don't assume we can
53676         wrap on a whitespace character if it's followed by another
53677         whitespace character.  When returning under WORD_WRAP for a screen
53678         line that is continued, restore to wrap point when atpos/atx
53679         position would be displayed on the next screen line due to
53680         line-wrap.  (Bug#23570)
53682 2016-05-21  Puneeth Chaganti  <punchagan@muse-amuse.in>
53684         * lisp/svg.el (svg-create): Fix a typo: xmlsn -> xmlns.  (Bug#23589)
53686 2016-05-20  Andrew Hyatt  <ahyatt@gmail.com>
53688         Added tests for dos unibyte decoding.
53690         The underlying bug was previously fixed by Eli Zaretskii in commit
53691         c8109d9c4057d8cac79e2c139758cadd410e7446.
53693 2016-05-20  Philipp Stephani  <phst@google.com>
53695         Fix handling of ‘mouse-on-link-p’.
53697         If ‘mouse-on-link-p’ returns a string or vector, the first element
53698         is to be used as new event.  Translation to ‘mouse-2’ should only
53699         happen if the return value is not a string or vector.  See
53700         docstring of ‘mouse-on-link-p’ and Bug#23288.
53702         * lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
53703         value of ‘mouse-on-link-p’ according to documentation.
53705         * test/lisp/mouse-tests.el (bug23288-use-return-value)
53706         (bug23288-translate-to-mouse-2): Tests for Bug#23288.
53708 2016-05-20  Daiki Ueno  <ueno@gnu.org>
53710         epg: Add a way to detect gpg1 executable for tests
53712         Fixes bug#23561.
53714         * test/automated/epg-tests.el
53715         (epg-tests-program-alist-for-passphrase-callback): New
53716         constant.
53717         (epg-tests-find-usable-gpg-configuration): New function,
53718         renamed from `epg-tests-gpg-usable'.  All callers changed.
53719         (epg-tests-gpg-usable): Remove.
53721         * lisp/epg-config.el (epg-config--program-alist): Factor out
53722         constructor element to...
53723         (epg-config--configuration-constructor-alist): ...here.
53724         (epg-find-configuration): Rename FORCE argument to NO-CACHE,
53725         and add PROGRAM-ALIST argument.
53727 2016-05-19  Mark Oteiza  <mvoteiza@udel.edu>
53729         Put point at beginning of display-time-world buffer.
53731         If display-time-world decides to popup vertically from the bottom of the
53732         frame and scroll-margin is nonzero, the top of the buffer contents are
53733         hidden due to scroll.
53734         * lisp/time.el (display-time-world-display): Move point to point-min
53735         after inserting contents.
53737 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
53739         Allow null entries in face and image cache
53741         Problem reported by Tino Calancha (Bug#23580).
53742         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID):
53743         Don’t assume that the result is non-null.
53744         * src/xdisp.c (fill_image_glyph_string):
53745         Restore check that image pointer is non-null.
53747 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
53749         Fix flyspell highlighting
53751         Problem reported by Jim Meyering (Bug#23575).
53752         * src/xdisp.c (extend_face_to_end_of_line):
53753         Fix typo in previous change.
53755 2016-05-18  Eli Zaretskii  <eliz@gnu.org>
53757         * lisp/server.el (server-name): Add autoload cookie.  (Bug#23576)
53759 2016-05-18  Sam Steingold  <sds@gnu.org>
53761         python-describe-at-point: add and bind
53763 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
53765         ‘make check-declare’ now chatters less
53767         * etc/NEWS: Document this.
53768         * lisp/emacs-lisp/check-declare.el (check-declare-locate):
53769         Return relative names, not absolute.
53770         (check-declare-scan, check-declare-verify, check-declare-warn)
53771         (check-declare-file, check-declare-directory):
53772         Generate less chatter.  Use relative file names rather than
53773         absolute.  Don’t give up on computing a good file name for a
53774         diagnostic merely because the function name was bad.  Make
53775         malformed declarations more noticeable.  Don’t warn about
53776         "ext:..." declarations if check-declare-ext-errors is nil.
53777         (check-declare-errmsg): Remove.
53778         (check-declare-warn): New optional arg LINE.
53779         (check-declare-files): Put status into mode line rather than
53780         chattering.
53782 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
53784         Pacify byte-compiler for byte-compile-macroexpand-declare-function
53786         * lisp/emacs-lisp/bytecomp.el: Change signature of
53787         byte-compile-macroexpand-declare-function to match that of
53788         declare-function.
53790 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
53792         Pacify byte-compiler for with-wrapper-hook
53794         * lisp/subr.el (subr--with-wrapper-hook-no-warnings):
53795         New macro, split out from with-wrapper-hook.
53796         * lisp/abbrev.el (abbrev--default-expand):
53797         * lisp/minibuffer.el (completion--in-region):
53798         * lisp/simple.el (buffer-substring--filter):
53799         * lisp/subr.el (with-wrapper-hook):
53800         Use it.
53802 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
53804         Pacify byte-compiler in lisp/url
53806         * lisp/url/url-misc.el, lisp/url/url-file.el (mm-disable-multibyte):
53807         Add decl.
53809 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
53811         Port --enable-gcc-warnings to GCC 6.1
53813         * configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
53814         * lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
53815         Omit test whether pointer plus a constant equals a null pointer.
53816         * src/alloc.c (compact_small_strings):
53817         Avoid pointer arithmetic on null pointers.
53818         * src/alloc.c (mark_face_cache):
53819         * src/fontset.c (free_realized_fontsets, Fset_fontset_font):
53820         * src/fringe.c (draw_fringe_bitmap_1)
53821         (Fset_fringe_bitmap_face):
53822         * src/macfont.m (macfont_draw):
53823         * src/msdos.c (IT_set_face, IT_clear_screen):
53824         * src/nsfont.m (nsfont_draw):
53825         * src/nsterm.h (FRAME_DEFAULT_FACE):
53826         * src/nsterm.m (ns_draw_window_cursor)
53827         (ns_draw_vertical_window_border, ns_draw_window_divider)
53828         (ns_dumpglyphs_box_or_relief)
53829         (ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
53830         (ns_dumpglyphs_stretch):
53831         * src/w32term.c (w32_draw_vertical_window_border)
53832         (w32_draw_window_divider, x_set_mouse_face_gc):
53833         * src/xdisp.c (estimate_mode_line_height, init_iterator)
53834         (handle_face_prop, handle_single_display_spec, pop_it)
53835         (CHAR_COMPOSED_P, get_next_display_element)
53836         (next_element_from_display_vector, extend_face_to_end_of_line)
53837         (fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
53838         * src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
53839         (lookup_named_face):
53840         * src/xterm.c (x_draw_vertical_window_border)
53841         (x_draw_window_divider, x_set_mouse_face_gc):
53842         Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
53843         * src/xterm.c (try_window_id):
53844         Redo loop to convince GCC 6.1 that it is null pointer safe.
53845         (x_color_cells):
53846         Use eassume as necessary to pacify GCC 6.1.
53847         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
53848         (FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
53849         behavior of the non-_OPT macro, to be used when the result
53850         might be a null pointer.
53851         * src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
53852         [HAVE_WINDOW_SYSTEM]:
53853         * src/intervals.h (INTERVAL_WRITABLE_P):
53854         * src/term.c (turn_off_face):
53855         * src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
53856         (produce_image_glyph, produce_xwidget_glyph):
53857         * src/xfaces.c (lookup_named_face):
53858         Remove unnecessary test for null pointer.
53859         * src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
53860         * src/process.c (would_block): New function.
53861         (server_accept_connection, wait_reading_process_output, send_process):
53862         Use it.
53863         * src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
53864         Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
53865         might be null.
53867 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
53869         Sync from gnulib
53871         This incorporates:
53872         2016-05-17 manywarnings: update for GCC 6.1
53873         2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit
53874         * m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib.
53876 2016-05-16  Glenn Morris  <rgm@gnu.org>
53878         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
53879         Include more details on hydra.
53881 2016-05-16  Alan Mackenzie  <acm@muc.de>
53883         Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master
53885 2016-05-16  Alan Mackenzie  <acm@muc.de>
53887         Fix spurious fontification of "for (; a * b;)" in CC Mode.
53889         This fixes bug #7918 (again).
53891         * lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
53892         (c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
53893         cons cell - additionally, return a flag indicating whether the declaration
53894         parsed might have been an expression, and the position of the type identifier
53895         in the said declaration.
53897         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
53898         c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
53899         check for it being a spurious declaration in a "for" statement.
53901 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53903         Pacify ‘make check-declare’
53905         * lisp/cedet/srecode/insert.el (data-debug-new-buffer)
53906         (data-debug-insert-stuff-list, data-debug-insert-thing):
53907         * lisp/emulation/viper-ex.el (viper-change-state-to-vi)
53908         (viper-change-state-to-emacs):
53909         * lisp/emulation/viper-macs.el (viper-change-state-to-vi):
53910         * lisp/org/ob-asymptote.el (orgtbl-to-generic):
53911         * lisp/org/ob-awk.el (orgtbl-to-generic):
53912         * lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
53913         * lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
53914         * lisp/org/ob-exp.el (org-element-context):
53915         * lisp/org/ob-gnuplot.el (org-time-string-to-time)
53916         (orgtbl-to-generic):
53917         * lisp/org/ob-haskell.el (org-export-to-file):
53918         * lisp/org/ob-latex.el (org-create-formula-image)
53919         (org-latex-compile):
53920         * lisp/org/ob-python.el (run-python):
53921         * lisp/org/ob-sh.el (orgtbl-to-generic):
53922         * lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
53923         * lisp/org/org-colview.el (org-agenda-redo):
53924         * lisp/org/org-feed.el (url-retrieve-synchronously):
53925         * lisp/org/org-info.el (Info-find-node):
53926         * lisp/org/org-list.el (org-previous-line-empty-p):
53927         * lisp/org/org-macs.el (org-string-match-p):
53928         * lisp/org/org.el (org-beamer-mode):
53929         Fix prototype to match current definition.
53930         * lisp/emacs-lisp/advice.el (function-called-at-point):
53931         * lisp/progmodes/prolog.el (compilation-shell-minor-mode):
53932         Fix typo: extra '.
53933         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
53934         Insert ,' to pacify check-declare.
53935         * lisp/org/ob-comint.el (tramp-flush-directory-property):
53936         * lisp/org/ob-tangle.el (org-babel-update-block-body):
53937         * lisp/org/org-bibtex.el (org-babel-trim):
53938         * lisp/org/org-pcomplete.el (org-export-backend-options):
53939         * lisp/org/org-protocol.el (org-publish-get-project-from-filename):
53940         Fix file name in declare-function.
53941         * lisp/org/ob-comint.el (with-parsed-tramp-file-name)
53942         * lisp/org/ob-core.el (with-parsed-tramp-file-name):
53943         * lisp/org/org.el (org-beamer-mode):
53944         * lisp/url/url-http.el (gnutls-negotiate):
53945         Append ‘t’ to declare-function, since the declaration isn’t a defun.
53946         * lisp/org/ob-core.el (show-all):
53947         Declare outline-show-all instead, since it is the
53948         non-obsolete version of this function.
53949         (org-save-outline-visibility): Remove; not needed.
53950         * lisp/org/ob-scheme.el (run-geiser, geiser-mode)
53951         (geiser-eval-region, geiser-repl-exit):
53952         * lisp/org/ox-org.el (htmlize-buffer):
53953         Prepend "ext:" to file name, since it is not part of Emacs.
53954         * lisp/org/ob-sh.el (org-babel-comint-in-buffer)
53955         * lisp/org/org-gnus.el (nnimap-group-overview-filename):
53956         Remove decl, since function was removed.
53957         * lisp/org/ob-sh.el (org-babel-comint-with-output):
53958         * lisp/org/org-macro.el (org-with-wide-buffer):
53959         Omit unnecessary (and mismatching) decl.
53960         * lisp/org/org-agenda.el (calendar-absolute-from-iso):
53961         * lisp/org/org-clock.el (calendar-iso-to-absolute):
53962         Declare calendar-iso-to-absolute instead, since it is the
53963         non-obsolete version of this function.
53964         * lisp/org/org-compat.el (w32-focus-frame):
53965         Remove decl, since function is now obsolete.
53967 2016-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
53969         :max-width/height fixes for shr after the scaling changes
53971         * lisp/net/shr.el (shr-rescale-image): Ensure that we respect
53972         max-width and max-height even after the scaling changes done
53973         earlier this year.
53975 2016-05-14  Eli Zaretskii  <eliz@gnu.org>
53977         Fix reading minibuffer input in viper-mode
53979         * lisp/emulation/viper-cmd.el (viper-read-string-with-history):
53980         Restore an assignment to viper-initial that got lost when
53981         viper-cmd.el was switched to lexical-binding.  (Bug#23536)
53983 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
53985         Port autogen.sh to Git 2.4
53987         Problem reported by Michael Brand in:
53988         https://lists.gnu.org/r/emacs-devel/2016-05/msg00367.html
53989         * autogen.sh (git_config): Don't assume that git rev-parse
53990         groks --git-common-dir.
53992 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
53994         Merge from origin/emacs-25
53996         6de0715 Properly reject malformed or empty package sigs
53997         edae7d9 Remove buggy non-native image scrolling
53999 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
54001         Improve display of tex-verbatim and Info quoted
54003         Problem reported by Glenn Morris (Bug#19889).
54004         * doc/emacs/display.texi (Standard Faces):
54005         * doc/lispref/display.texi (Basic Faces):
54006         * etc/NEWS: Mention fixed-pitch-serif.
54007         * lisp/faces.el (face-font-family-alternatives):
54008         New family alias Monospace Serif.
54009         (fixed-pitch-serif): New face, which uses the new family.
54010         * lisp/info.el (Info-quoted):
54011         * lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face.
54012         * test/lisp/legacy/font-parse-tests.el (font-parse-tests--data):
54013         Add test case for Monospace Serif.
54015 2016-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
54017         * lisp/net/sieve-mode.el: Handle the text:... notation
54019         Get rid of redundant :group keywords.
54020         (sieve-mode-syntax-table): Move initialization into declaration.
54021         (sieve-syntax-propertize, sieve-syntax-propertize-text): New functions.
54022         (sieve-mode): Use them.
54024 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
54026         Tweak check-declare-directory performance
54028         * lisp/emacs-lisp/check-declare.el (check-declare-directory):
54029         Use ‘find ... -exec ... +’ for speed.
54031 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
54033         Sync from gnulib
54035         This incorporates a spelling fix, plus:
54036         2016-05-09 Fix undefined behavior in gettext.h
54037         * lib/gettext.h, lib/mktime.c:
54038         Copy from gnulib.
54040 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
54042         Merge from origin/emacs-25
54044         9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib.
54045         66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
54046         1a5a05c Do not mistake colon at the end of regexp for slash symbol
54047         4c5a00b Make package-install-from-buffer not move point
54048         9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
54049         f79c352 Redo the fix for bug#21839
54050         8d2f78c Don't treat JS spread as contination method call
54052 2016-05-12  Chris Feng  <chris.w.feng@gmail.com>
54054         Correct server/client address
54056         * src/process.c (Fmake_network_process): :local is for servers and :remote
54057         is for clients.
54059 2016-05-12  Ken Brown  <kbrown@cornell.edu>
54061         Autosave buffers on logout if HAVE_NTGUI
54063         * src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to
54064         w32_read_socket.
54066         * src/w32term.c (w32_read_socket): Create an event of type
54067         END_SESSION_EVENT if a WM_ENDSESSION message is received.
54069         * src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT.
54071         * src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol
54072         `end-session'.
54073         (kbd_buffer_get_event): Return an end-session event if an event of
54074         type END_SESSION_EVENT is read.
54075         (keys_of_keyboard): Bind the end-session event to kill-emacs in
54076         special-event-map.  (Bug#23483)
54078 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
54080         * lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars
54082         * lisp/cedet/semantic/db-el.el: Use _ to mark unused vars.
54083         (object-print): Use cl-call-next-method instead of call-next-method.
54084         * lisp/cedet/semantic/symref.el: Use _ to mark unused vars.
54086 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
54088         * lisp/cedet/semantic: Silence some warnings
54090         * lisp/cedet/semantic/db-el.el (emacs-lisp-mode)
54091         (semanticdb-get-database-tables): Use make-instance to silence warnings.
54093         * lisp/cedet/semantic/symref.el: Require semantic/find since we use
54094         some macros from there.  Silence compilation warnings:
54095         Replace initargs with slot names in oref/oset.
54096         Move `SYMREF TOOLS' section earlier so definitions precede their use.
54098 2016-05-12  Lars Ingebrigtsen  <larsi@gnus.org>
54100         Support srcset in <img>
54102         * lisp/net/shr.el (shr--preferred-image): Allow <img> tags
54103         with srcset specifiers (bug#23459).
54105 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
54107         Do not autoload some functions of tramp.el
54109         * lisp/net/tramp.el (tramp-completion-file-name-handler):
54110         Autoload a shortened version of this function, avoid recursive load.
54111         (tramp-completion-file-name-handler-alist)
54112         (tramp-completion-mode-p)
54113         (tramp-completion-handle-expand-file-name)
54114         (tramp-completion-handle-file-name-all-completions)
54115         (tramp-completion-handle-file-name-completion): Do not autoload.
54117 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
54119         Avoid recursive load of tramp.el
54121         * lisp/net/tramp.el (tramp-completion-file-name-handler):
54122         Autoload a shortened version of this function, avoid recursive load.
54124 2016-05-11  Michael Albinus  <michael.albinus@gmx.de>
54126         Fix a problem of tramp-tests on hydra.
54128         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
54129         Nullify `tramp-default-method' due to hydra.
54131 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
54133         Pacify byte-compiler in lisp/vc
54135         * lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el:
54136         * lisp/vc/vc-rcs.el, lisp/vc/vc-src.el:
54137         Declare functions defined elsewhere, to forestall “might not
54138         be defined at runtime” warnings.
54140 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
54142         Merge from origin/emacs-25
54144         d0d9f55 Allow newlines inside cl function arglists
54145         963541a Publicize cl--generic-all-functions
54146         3c581d5 ; Fix typo
54147         e58f900 Add some "safe-local-variable" declarations for compatibility...
54149 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
54151         'text-quoting-style' now affects only ` and '
54153         Change 'text-quoting-style' so that it no longer affects
54154         formatting of curved quotes in format arguments to functions like
54155         'message'.  In particular, when this variable's value is 'grave',
54156         all quotes in formats are output as-is.
54157         * doc/lispref/help.texi (Keys in Documentation):
54158         * doc/lispref/strings.texi (Formatting Strings):
54159         * doc/lispref/tips.texi (Documentation Tips):
54160         * etc/NEWS:
54161         * src/doc.c (syms_of_doc): Document this.
54162         * lisp/help-fns.el (describe-function-1):
54163         * src/doc.c (text_quoting_style, Fsubstitute_command_keys)
54164         (syms_of_doc):
54165         * src/editfns.c (styled_format): Omit now-unnecessary code.
54166         * src/lisp.h (LEAVE_QUOTING_STYLE): Remove.
54168 2016-05-10  Alan Mackenzie  <acm@muc.de>
54170         Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."
54172         This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556.  It is
54173         being reverted because it slowed down CC Mode's fontification too much
54174         (factor ~3).  It was the fix to bug #7918.
54176 2016-05-09  Lars Ingebrigtsen  <larsi@gnus.org>
54178         Move "Recent messages" earlier in report-emacs-bug
54180         * lisp/mail/emacsbug.el (report-emacs-bug): Move the "Recent
54181         messages" part earlier so that users can see it and remove it
54182         if they want.
54184 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
54186         Pacify byte compiler in tramp.el
54188         * lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'.
54190 2016-05-09  Paul Eggert  <eggert@cs.ucla.edu>
54192         Merge from origin/emacs-25
54194         3b47898 Fix doc string in `insert'
54195         b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins...
54196         cd27f73 Say 'All results processed' at the end
54197         4ffec91 Document automatic adjustment of process' logical window dime...
54198         dc66271 ; Fix typos and stylistic glitches in NEWS
54200 2016-05-09  Alan Mackenzie  <acm@muc.de>
54202         CC Mode now uses the new :after-hook feature of define-derived-mode
54204         It now runs internal variable setting functions after the mode hooks, no
54205         longer runs the mode hooks twice, and declares the configuration variables for
54206         noise macros and macros with semicolons as safe variables (when given suitable
54207         arguments).
54209         Fixes bug #16759 and bug #23476.
54211         * .dir-locals.el: Put the c-noise-macros-with-paren-names setting
54212         back into the C Mode value.
54214         * lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
54215         c-make-macro-with-semi-re.
54216         (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
54217         c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
54218         and c-update-modeline into the :after-hook form.  Remove the explicit settings
54219         of the syntax table, the abbreviation table and the local key map, since they
54220         duplicate forms generated by define-derived-mode.  Remove the explicit
54221         invocation of each mode's mode hook, since they duplicate ones generated by
54222         define-derived-mode.
54224         * lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
54225         functions.
54226         (c-noise-macro-names, c-noise-macro-with-parens-names): give the
54227         save-local-variable property c-string-list-p.
54228         (c-macro-names-with-semicolon): give the save-local-variable property
54229         c-string-or-string-list-p.
54231         * doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
54232         necessary to call the regexp generating functions after setting the pertinent
54233         configuration values in a mode hook.
54235 2016-05-09  Dmitry Gutov  <dgutov@yandex.ru>
54237         Fix the jit-lock-fontify-now test names
54239         * test/lisp/jit-lock-tests.el
54240         (jit-lock-fontify-now-mends-the-gaps)
54241         (jit-lock-fontify-now-does-not-refontify-unnecessarily):
54242         Fix the test names.
54244 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
54246         Extend completion candidates in tramp.el
54248         * lisp/net/tramp.el (tramp-parse-default-user-host): New defun.
54249         (tramp-get-completion-function): Use it.
54251 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
54253         Revert e2f785991d0c696fbb2bc2f331f888d979b8da82 for tramp.el
54255         * lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards
54256         compatibility.
54258 2016-05-08  Dmitry Gutov  <dgutov@yandex.ru>
54260         Emulate interactive mode
54262         * test/lisp/jit-lock-tests.el (jit-lock-tests--setup-buffer)
54263         (jit-lock-does-not-refontify-unnecessarily):
54264         Bind noninteractive to nil (bug#23278).
54266 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
54268         Simplify now that float-time etc. are built-in
54270         This was prompted by warnings about calls to now-obsolete functions.
54271         * lisp/calendar/time-date.el (encode-time-value):
54272         Use setq rather than a recursive call, to avoid a warning
54273         about calling this obsolete function.
54274         * lisp/calendar/time-date.el (encode-time-value)
54275         (with-decoded-time-value, time-to-seconds, time-to-number-of-days):
54276         * lisp/erc/erc.el (erc-emacs-time-to-erc-time):
54277         * lisp/net/rcirc.el (rcirc-float-time):
54278         * lisp/org/org-compat.el (org-float-time):
54279         Simplify now that time-add and float-time are now built-in.
54280         * lisp/calendar/time-date.el (time-add, time-subtract, time-less-p):
54281         * lisp/net/newst-backend.el (time-add):
54282         * lisp/org/org.el (time-subtract):
54283         Remove backward-compatibility definitions; they are now built-in.
54284         * lisp/calendar/timeclock.el (timeclock-time-to-seconds)
54285         (timeclock-seconds-to-time):
54286         * lisp/net/rcirc.el (rcirc-float-time):
54287         * lisp/org/org-compat.el (org-float-time):
54288         Now obsolete, since callers can just use float-time and
54289         seconds-to-time.  All uses changed.
54290         * lisp/emacs-lisp/ert.el (ert-results-pop-to-timings):
54291         * lisp/gnus/gnus-art.el (article-lapsed-string):
54292         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
54293         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
54294         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
54295         * lisp/net/tramp.el (tramp-time-diff):
54296         * lisp/org/org-clock.el (org-clock-timestamps-change):
54297         Prefer the time-subtract builtin to the subtract-time alias.
54298         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
54299         * test/lisp/character-fold-tests.el (character-fold--speed-test):
54300         Prefer the float-time builtin to the time-to-seconds alias.
54301         * lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el:
54302         * lisp/org/org-timer.el, lisp/org/org.el:
54303         Adjust to org-float-time deprecation.
54305 2016-05-08  Alan Mackenzie  <acm@muc.de>
54307         Add :after-hook facility to define-derived-mode.
54309         This allow a form to be evaluated _after_ a major mode's hooks have been run.
54310         It is needed to solve some problems in CC Mode, including bug #16759 and
54311         bug #23476.
54313         * lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument
54314         `:after-hook', and generate the requisite code for it.
54315         (derived-mode-make-docstring): Take account of the possibility of :after-hook.
54317         * lisp/subr.el (delayed-after-hook-forms): New variable.
54318         (run-mode-hooks): As the last thing evaluate the forms in
54319         delayed-after-hook-forms.
54321         * doc/lispref/modes.texi (Derived Modes): Document :after-hook.
54322         (Mode Hooks): Document the new feature in run-mode-hooks.
54324         * etc/NEWS: Note the new feature.
54326 2016-05-08  Michael Albinus  <michael.albinus@gmx.de>
54328         Fix recursive load of tramp.elc
54330         * lisp/net/tramp.el (tramp-completion-file-name-handler):
54331         Check also for `tramp-completion-mode-p'.
54332         (tramp-completion-mode, tramp-completion-mode-p): Autoload them.
54334 2016-05-07  Paul Eggert  <eggert@cs.ucla.edu>
54336         Prefer grep -E/-F to egrep/fgrep
54338         POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
54339         withdrew them in SUSv3 (2001), and these days grep -E and grep -F
54340         are probably more portable.
54341         * lib-src/etags.c (main):
54342         * lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
54343         (eshell/fgrep):
54344         * lisp/cedet/semantic/symref.el (semantic-symref-find-text):
54345         * lisp/eshell/esh-var.el (eshell-apply-indices):
54346         * lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
54347         (ada-find-in-src-path):
54348         * lisp/textmodes/ispell.el (ispell-grep-command):
54349         (ispell-lookup-words):
54350         Use or document grep -E and grep -F instead of egrep and fgrep.
54351         * lisp/textmodes/ispell.el (ispell-grep-options):
54352         Use -Ei on all platforms, not just MS-Windows.
54354 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
54356         Avoid unnecessary work if a chunk is empty
54358         * lisp/jit-lock.el (jit-lock-fontify-now): Avoid unnecessary work
54359         if a chunk is empty (bug#23278).
54361 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
54363         * test/lisp/jit-lock-tests.el: New file.
54365 2016-05-07  Michael Albinus  <michael.albinus@gmx.de>
54367         Continue to fix Bug#10085
54369         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist)
54370         <expand-file-name>: Add handler.
54371         (tramp-completion-handle-expand-file-name): New defun.
54372         (tramp-handle-file-name-as-directory): Handle completion mode case.
54374         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
54375         Fix test.
54376         (tramp-test24-file-name-completion): Extend test.
54378 2016-05-07  Alan Mackenzie  <acm@muc.de>
54380         Revert change 8e4595a... due to annoyance it causes the development team.
54382         Change 8e4595a438fe85dd109756886cdeaeea2e665afb from 2016-04-30 17:28:24
54383         +0000 was an enhancement to .dir-locals to allow correct fontification
54384         of certain macro constructs.
54386         * .dir-locals.el: Remove the two forms for C Mode dealing with noise macros.
54388 2016-05-07  Alan Mackenzie  <acm@muc.de>
54390         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): Give it a version number.
54392 2016-05-07  Simen Heggestøyl  <simenheg@gmail.com>
54394         Add tests for CSS mode completion
54396         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values)
54397         (css-test-property-values-no-duplicates)
54398         (css-test-value-class-lookup): Use `seq-sort'.
54399         (css-mode-tests--completions): New helper function for retrieving CSS
54400         completions.
54401         (css-test-complete-bang-rule, scss-test-complete-bang-rule)
54402         (css-test-complete-property-value, css-test-complete-pseudo-class)
54403         (css-test-complete-pseudo-element, css-test-complete-at-rule)
54404         (scss-test-complete-at-rule, css-test-complete-property)
54405         (css-test-complete-selector, css-test-complete-nested-selector)
54406         (scss-test-complete-nested-selector): New tests.
54408 2016-05-06  Alan Mackenzie  <acm@muc.de>
54410         Add an option in Edebug to prevent pauses after `h', 'f', and `o'.
54412         Requested by Paul Pogonyshev.  Also add in documentation for Edebug config
54413         variables which was missing.
54415         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): New customizable option.
54416         (edebug--display-1): Test edebug-sit-on-break before pausing 1 second.
54418         * doc/lispref/edebug.texi (Jumping): Document the effect of the new option.
54419         (Edebug Options): Document the new option.  Also add documentation for
54420         edebug-eval-macro-args, edebug-print-length, edebug-print-level,
54421         edebug-print-circle, edebug-sit-for-seconds.
54423         * etc/NEWS: Note the new feature.
54425 2016-05-07  Jorgen Schaefer  <contact@jorgenschaefer.de>
54427         scheme.el: Turn literal tabs into \t
54429         * lisp/progmodes/scheme.el: The last change to turn tabs into spaces
54430         also caught some literal tabs in character classes. Fix this by
54431         adding \t to those classes.
54433 2016-05-07  Tino Calancha  <f92capac@gmail.com>
54435         Make 'backtab' work in table-mode on text terminals
54437         * lisp/textmodes/table.el (table-cell-bindings): Bind 'backtab'
54438         explicitly.  (Bug#23456)
54440 2016-05-07  Eli Zaretskii  <eliz@gnu.org>
54442         Try to speed-up display of many all-blank lines
54444         * src/bidi.c (bidi_initialize): Use anchored regexps for
54445         paragraph start and paragraph separator sequences.  (Bug#23457)
54447 2016-05-06  Alan Mackenzie  <acm@muc.de>
54449         Correct hack-local-variables change from Thu May 5 11:05:49 2016 +0000
54451         Prevent hack-local-variables being called from the fundamental-mode mode call
54452         early in normal-mode.  This fixes bug #23460 and bug #23463.
54454         * lisp/files.el (normal-mode) Replace call to fundamental-mode with calls to
54455         the things it calls, with the exception of hack-local-variables.
54457         * etc/NEWS: Add an entry to note the calling of hack-local-variables at each
54458         major mode initialization.
54460 2016-05-06  Paul Eggert  <eggert@cs.ucla.edu>
54462         Port xref-tests to master branch
54464         Also, add a test to make this problem less likely in the future.
54465         * test/Makefile.in (check-no-automated-subdir): New rule.
54466         (check, check-expensive, check-maybe): Depend on it.
54467         * test/automated/data/xref/file1.txt: Rename to ...
54468         * test/data/xref/file1.txt: ... here.
54469         * test/automated/data/xref/file2.txt: Rename to ...
54470         * test/data/xref/file2.txt: ... here.
54471         * test/automated/xref-tests.el: Rename to ...
54472         * test/lisp/progmodes/xref-tests.el: ... here.
54473         (xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.
54475 2016-05-05  Paul Eggert  <eggert@cs.ucla.edu>
54477         Merge from origin/emacs-25
54479         50650cb Doc fixes for fclist and grep
54480         5e814e0 Minor doc fixes for quoting
54481         3347a73 `nreverse' the marker pairs list
54482         1a4127d Use save-excursion in xref-location-marker more
54483         ab3ba91 shell-quote-argument DIR when appropriate
54484         922c7a3 Rework xref-query-replace-in-results
54485         3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
54486         0932b94 Fix todo-mode bug involving archived items (bug#23447)
54487         e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
54488         adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
54489         4d8fd9c Handle "empty line" regexp in xref searches
54490         f559b37 Add tests for xref-collect-matches
54491         6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
54492         6f82d8e Clear buffer-undo-list when showing xrefs
54493         c68a091 Note the quote translation in `message' in section "incompati...
54494         52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
54495         93703c5 (Common Keywords): Correct what missing :group means
54496         79e5800 Improve documentation of Dired's 'A' and 'Q' commands
54497         2ea2a2f Doc fixes for quoting
54498         8544b98 posnp doc clarification
54499         805204f Mention what a missing :group does
54500         ec554d7 Fix documentation of dired-aux search/replace commands
54502 2016-05-05  Simen Heggestøyl  <simenheg@gmail.com>
54504         Support completion of HTML tags in CSS selectors
54506         * lisp/textmodes/css-mode.el (css--html-tags): New variable holding a
54507         list of HTML tags for completion.
54508         (css--nested-selectors-allowed): New variable for determining whether
54509         nested selectors are allowed in the current mode.
54510         (css--complete-selector): New function for completing part of a CSS
54511         selector.
54512         (css-completion-at-point): Support completion of selectors.
54513         (scss-mode): Allow nested selectors.
54515 2016-05-05  Lars Ingebrigtsen  <larsi@gnus.org>
54517         Make `R' in eww work more reliably
54519         * lisp/net/eww.el (eww-score-readability): Protect against
54520         null children.
54522 2016-05-05  Alan Mackenzie  <acm@muc.de>
54524         Call hack-local-variables from major modes rather than from file visiting
54526         This prevents file/directory local variables from being lost when the major
54527         mode is set or changed.
54529         This fixes bug #15577 and bug #23407.
54531         * lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode
54532         function hasn't already done so.
54533         (hack-local-variables): Rename parameter `mode-only' to `handle-mode', make
54534         its previous non-nil setting be t, and introduce the following action for a
54535         non-nil non-t value: apply all settings apart from `mode'.
54537         * lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers
54538         which are visiting files.
54540         * doc/emacs/custom.texi (File Variables): Note that setting a major mode also
54541         sets file variables.
54542         (Directory Variables): Note that `mode', `eval', and `unibyte' can be set as
54543         dir local variables, but `coding' can't.
54545         * doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks'
54546         also calls `hack-local-variables'.
54547         (Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables',
54548         as from 25.2.  Remove vagueness from `normal-mode' and `set-auto-mode' by
54549         saying that the mode IS SET, not merely "selected" or "chosen".
54550         (Mode Hooks): Document change to `run-mode-hooks'.
54552         * doc/lispref/variables.texi (File Local Variables): Document change to
54553         `hack-local-variables'.
54555 2016-05-05  Michael Albinus  <michael.albinus@gmx.de>
54557         tramp-sh.el: Work around a stat bug
54559         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use
54560         stat versions which produce shell quoted output.  See also
54561         coreutils Bug#23422.
54563 2016-05-04  Noam Postavsky  <npostavs@gmail.com>
54565         Fix autogen.sh for separate worktrees
54567         * autogen.sh: Use the $hooks variable in the $sample_hooks loop, instead
54568         of assuming .git/hooks is a directory.
54570 2016-05-04  Alan Mackenzie  <acm@muc.de>
54572         Allow `text-quoting-style' to be `leave', i.e. no translation of quotes.
54574         * lisp/help-fns.el (describe-function-1): Don't set coding system to UTF-8
54575         when text-quoting-style is `leave'.
54577         * src/lisp.h (enum text_quoting_style): Add identifier LEAVE_QUOTING_STYLE.
54579         * src/doc.c (syms_of_doc): New symbol "leave".  Amend doc string of
54580         `text_quoting_style'.
54581         (text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE.
54582         (Fsubstitute_command_keys): Don't translate quotes when quoting_style is
54583         LEAVE_QUOTING_STYLE.
54585         * src/editfns.c (styled_format): Set quoting_style to -1 when
54586         text-quoting-style is `leave'.
54588 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
54590         * lisp/emulation/viper.el:
54591         * lisp/emulation/viper-cmd.el: Use lexical-binding.
54592         (viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy
54593         args, for use in advice-add.
54594         (viper--init-message): Rename from init-message.
54595         (viper-minibuffer-standard-hook): Adjust accordingly.
54596         (viper-undo): Remove unused var `modified'.
54597         (viper-read-string-with-history, viper-set-searchstyle-toggling-macros):
54598         Don't use dynamic vars as args.
54599         (viper-submit-report): Clarify use of dynamic vars.
54601         * lisp/emulation/viper.el: Use lexical-binding and nadvice.
54602         Remove redundant :group keywords.  Group the (if viper-mode) at top-level.
54603         Use add-function rather than a `(lambda ...).
54604         (viper--advice-list): New var.
54605         (viper--advice-add, viper--deactivate-advice-list): New funs.
54606         (viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them.
54607         (viper-non-hook-settings): Don't hook into find-file any more.
54609 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
54611         * lisp/vc/ediff-util.el: Use lexical-binding.
54613         * lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line.
54615 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
54617         Add an animation sanity check
54619         * lisp/image.el (image-multi-frame-p): Give up on animations
54620         if it seems like they are too slow (bug#23431).
54622 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
54624         abbrev-tests.el fix
54626         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Don't check
54627         internal implementation detail.
54629 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
54631         (shr-rescale-image): Clarify logic slightly
54633         * lisp/net/shr.el (shr-rescale-image): Clarify logic slightly.
54635 2016-05-02  Martin Rudalics  <rudalics@gmx.at>
54637         Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2
54639         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
54640         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
54641         Monnier.  (Bug#19185, Bug#20398)
54643 2016-05-02  Lee Bochicchio  <lboc.home@gmail.com>
54645         Add more abbrev tests
54647         * test/lisp/abbrev-tests.el
54648         (clear-abbrev-table-test): Use `abbrev-expansion'
54649         (abbrev-table-empty-p-test, list-abbrevs-test)
54650         (prepare-abbrev-list-buffer-test, insert-abbrevs-test)
54651         (edit-abbrevs-test, define-abbrevs-test)
54652         (read-write-abbrev-file-test)
54653         (abbrev-edit-save-to-file-test): New tests (bug#23139).
54655 2016-05-02  Philipp Stephani  <p.stephani2@gmail.com>  (tiny change)
54657         Allow eval-ing named character literals
54659         * lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
54660         named character literals.
54661         * test/lisp/progmodes/elisp-mode-tests.el
54662         (elisp--preceding-sexp--char-name): Add test for skipping over
54663         named character literals (bug#23354).
54665 2016-05-02  Aaron Conole  <aconole@redhat.com>
54667         Call va_end in boot_error
54669         * src/gnutls.c (boot_error): A recent change added a function
54670         to signal an error or return an error code. That function uses
54671         a variadic argument list to populate an error message
54672         string. However, it missed calling va_end after using the
54673         variadic argument list.
54675           Copyright-paperwork-exempt: yes
54677 2016-05-02  Aaron Conole  <aconole@bytheb.org>
54679         Fix the call to set_network_coding_system
54681         * src/process.c (Fmake_network_process): A recent commit
54682         modified the set_network_socket_coding_system function to take
54683         arguments host, service, and name. However, those arguments
54684         appear to be swapped.
54686           Copyright-paperwork-exempt: yes
54688 2016-05-02  Lars Ingebrigtsen  <larsi@gnus.org>
54690         Revert "alas, a map can have only one parent"
54692         This reverts commit d05806fda1cbba2db112bc783597fbe9d27175b2.
54694         This had already been fixed by using `make-composed-map'.  And
54695         we don't want image-map to inherit from special-mode-map, anyway.
54697 2016-05-02  Paul Eggert  <eggert@cs.ucla.edu>
54699         Merge from origin/emacs-25
54701         bf21c84 Fix quoting problem in cc-engine debug message
54702         8f36614 Add electric-quote-string unit test
54703         6280531 Don’t electrically quote ‘'’ in Python
54704         fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
54706 2016-05-02  Sam Steingold  <sds@gnu.org>
54708         alas, a map can have only one parent
54710         * lisp/image-mode.el (image-model-map): Cannot have two parents.
54711         * lisp/image.el (image-map): Inherit from `special-mode-map'.
54713 2016-05-02  Michael Albinus  <michael.albinus@gmx.de>
54715         Fix Bug#10085
54717         * lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
54718         Add optional arguments OPERATION and COMPETION.  Handle
54719         `file-name-as-directory', `file-name-directory' and
54720         `file-name-nondirectory' also in completion mode.
54721         (tramp-file-name-handler): Use it.  (Bug#10085)
54723         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
54724         Extend test.
54726 2016-05-01  Martin Rudalics  <rudalics@gmx.at>
54728         * src/minibuf.c (read_minibuf): Use CONSP instead of Fconsp.
54730 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
54732         Tweak .gitignore
54734         * .gitignore: Remove leim/changed.misc, leim/changed.tit,
54735         as these files are no longer created.  Add gmon.out, for
54736         -pg profiling.  Sort.
54738 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
54740         Sync from gnulib
54742         This incorporates:
54743         2016-05-01 mktime: port to stricter signed overflow checking
54744         2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks
54745         2016-05-01 mktime: resurrect DEBUG_MKTIME testing
54746         2016-05-01 mktime: simplify DEBUG_MKTIME
54747         2016-05-01 Port mktime_internal offset to unsigned time_t
54748         2016-04-27 xstrtol: prohibit monstrosities like "1bB"
54749         2016-04-13 mktime: improve integer overflow checking
54750         2016-04-13 intprops: check two's complement assumption
54751         2016-04-13 intprops, mktime, strtol: assume two's complement
54752         * lib/intprops.h, lib/mktime-internal.h, lib/mktime.c:
54753         * lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4:
54754         Copy from gnulib.
54756 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
54758         Merge from origin/emacs-25
54760         c695fb3 ; Spelling fixes
54761         03750c0 * doc/misc/texinfo.tex: Sync from gnulib.
54762         42fed3b * lisp/isearch.el (isearch-forward-symbol-at-point): Add isea...
54764 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
54766         Merge from origin/emacs-25
54768         d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’
54769         d38d2a8 Fix documentation of 'url-retrieve-synchronously'
54770         586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix.  (Bu...
54772         # Conflicts:
54773         #       doc/misc/url.texi
54774         #       lisp/url/url.el
54776 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
54778         Merge from origin/emacs-25
54780         16e5e8e Fix last change to isearch-update (bug#23406)
54781         b755d98 Autoload cursor-sensor-inhibit (bug#23406)
54782         b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
54783         86aa409 Followup for last commit in the user manual
54784         7004459 Improve doc string of 'set-goal-column'
54785         ccdaf04 Fix the MSDOS build
54786         ffe701c Remove \= from format string (bug#18190)
54787         1c58fa1 Fix variable-pitch font on MS-Windows
54788         c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
54789         b671e21 Revert unneeded change which harms syntactic parsing.  This f...
54790         48b24c9 Correct indentation of ids in a C++ enum after a protection k...
54791         5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
54792         734fb3a Port dumping to NetBSD with PaX
54793         0255a70 Don't mistake `for' inside a function for a part of array com...
54795         # Conflicts:
54796         #       src/Makefile.in
54798 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
54800         Merge from origin/emacs-25
54802         71fb0e0 Improve last change to vc-git-mode-line-string
54803         6858e77 Todo mode doc bug fix
54804         e55d0db Fix revision calculation in vc-git-mode-line-string
54805         ca87b34 ; Fix errant revert ccb75d7
54806         40bfebe Add Python 3.5 keyword "await"
54807         fa7886a Add new keywords of Python 3.5
54808         ccb75d7 Partially revert previous change.
54809         8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w...
54810         b09ca27 Say why text-quoting-style is not a user option
54812 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
54814         Merge from origin/emacs-25
54816         5a952eb Don't mention ~/.emacs.bmk literally in doc strings
54817         c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o...
54818         c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings
54820 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
54822         Mention the `find-library-name' changes
54824 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
54826         Fix text in menu in minor-mode-menu-from-indicator
54828         * lisp/mouse.el (minor-mode-menu-from-indicator): Don't
54829         capitalize "Off" in "Turn Off" (bug#11028).
54831 2016-05-01  David Engster  <deng@randomsample.de>
54833         gitmerge: Add cherry pick to gitmerge-skip-regexp
54835         * admin/gitmerge.el (gitmerge-skip-regexp): Add "cherry picked
54836         from commit", which is the string appended by 'git cherry-pick
54837         -x'.
54839 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
54841         Allow `global-set-key' to bind keys under the `M-o' map
54843         * lisp/subr.el (global-set-key): Allow binding keys under the
54844         `M-o' map (bug#9730).
54846 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
54848         Add `size-indication-mode' to the menu on `mouse-1' "Top"
54850         * lisp/bindings.el (mode-line-column-line-number-mode-map):
54851         Add `size-indication-mode' to the menu (bug#5727).
54853 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
54855         Allow finding libraries loaded manually outside the load-path
54857         * lisp/emacs-lisp/find-func.el (find-library--from-load-path):
54858         New function to find a library from a load path (bug#5661).
54859         (find-library-name): Use it.
54861         There are so many combinations of inputs and possibly entries in
54862         `load-history' that the code looks like an entry in a code obfuscation
54863         contest.  If anybody has a better implementation, please substitute.
54865         But remember that the input given may be foo, foo.el, foo.elc, and the
54866         entries in load-history may be foo.el, foo.elc and foo.el.gz, and we
54867         want to return only foo.el and foo.el.gz.  *phew*
54869 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
54871         Allow minibuffer prompts to use faces
54873         * doc/lispref/minibuf.texi (Text from Minibuffer): Document
54874         `minibuffer-prompt-properties' and explain how faces work in
54875         the minibuffer prompt.
54877         * src/minibuf.c (read_minibuf): If `face' is in
54878         `minibuffer-prompt-properties', apply it to the end of the
54879         face list to allow users to have their own faces on the
54880         prompts (bug#16136).
54882 2016-05-01  Peter Feigl  <peter.feigl@nexoid.at>  (tiny change)
54884         Add R7RS syntax forms to scheme.el
54886         * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
54887         a number of special forms introduced in R7RS-small.
54888         * lisp/progmodes/scheme.el (scheme-indent-function): Same.
54890 2016-05-01  Alan Third  <alan@idiocy.org>
54892         Implement horizontal scroll bars on NS
54894         * lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS
54895         check.
54896         * lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind
54897         scroll-bar mouse clicks to standard handlers.
54898         * src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename
54899         pixel_height to pixel_length.
54900         * src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It
54901         caused scroll-bars to be over-drawn and the best working solution
54902         appears to be complete removal.
54903         (ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers
54904         correctly.
54905         (ns_set_vertical_scroll_bar): Set width to actual scroller width.
54906         (setFrame): Handle horizontal case.
54907         (dealloc): Handle horizontal case.
54908         (judge): Handle horizontal case.
54909         (setPosition): Rename pixel_height to pixel_length.
54910         (sendScrollEventAtLoc): Handle horizontal case.
54911         (mouseDown): Handle horizontal case and general tidy up of code.
54912         (mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with
54913         absolute pixel size instead of ratio.
54914         * src/window.h: Remove NS check.
54916 2016-05-01  Michael Albinus  <michael.albinus@gmx.de>
54918         tramp.texi: Revert last change due to backward compatibility
54920 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
54922         Fix the buffer-count patch (Bug#23394)
54924         * src/buffer.c (Fgenerate_new_buffer_name): Increment count just
54925         once each time through the loop.  Reported by Lars Ingebrigtsen in:
54926         https://lists.gnu.org/r/emacs-devel/2016-04/msg00918.html
54928 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54930         cua-prefix-override-inhibit-delay doc fix
54932         * lisp/emulation/cua-base.el
54933         (cua-prefix-override-inhibit-delay): Typo fix in doc string
54934         (bug#23401).
54936 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
54938         Fix generate-new-buffer-name increment typo
54940         Problem reported by Chaitanya Koparkar (Bug#23394).
54941         * src/buffer.c (Fgenerate_new_buffer_name): Increment count when
54942         generating a new buffer.  This fixes a typo I introduced in
54943         2014-04-05T00:04:58Z!eggert@cs.ucla.edu.
54945 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54947         global-eldoc-mode doc fix
54949         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Be more
54950         specific about what "applicable" means (bug#23071).
54952 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54954         Make the legend in describe-categories a link
54956         * lisp/help-fns.el (describe-categories): Make the "see
54957         bottom" text a link (bug#22227).
54959 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54961         normal-top-level-add-subdirs-to-load-path doc fix
54963         * lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
54964         Doc fix (bug#21962).
54966 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54968         isearch-search-fun-function doc tweak
54970         * lisp/isearch.el (isearch-search-fun-function): Mention what
54971         the STRING parameter is (bug#21552).
54973 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54975         Fill some imenu--index-alist doc lines
54977         * lisp/imenu.el (imenu--index-alist): Fill some doc lines (bug#21269).
54979 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54981         Make describe-variable look up the variable in the current buffer
54983         * lisp/help-fns.el (describe-variable): Get the variable
54984         definition in the buffer we were called from (in case it only
54985         exists there) (bug#21252).
54987 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54989         Fmarker_position doc string clarification
54991         * src/marker.c (Fmarker_position): Clarify the doc string
54992         (bug#21231).
54994 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
54996         Further define-obsolete-* doc fixups
54998         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
54999         Fix up last change.
55000         (define-obsolete-variable-alias): Ditto.
55002 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55004         Describe WHEN in all the define-obsolete- macros
55006         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
55007         Say more verbosely what WHEN is (bug#21225).
55008         (define-obsolete-function-alias): Describe the WHEN parameter.
55009         (define-obsolete-variable-alias): Ditto.
55011 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55013         Mention with-silent-modifications in the lispref manual
55015         * doc/lispref/text.texi (Changing Properties): Document
55016         with-silent-modifications (bug#21171).
55018 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55020         with-silent-modifications doc clarification
55022         * lisp/subr.el (with-silent-modifications): Rearrange the doc
55023         string a bit so that the most pertinent information is at the
55024         top (bug#21171).
55026 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55028         clear-visited-file-modtime doc string fix
55030         * lisp/files.el (clear-visited-file-modtime): Fix possibly
55031         confusing doc string wording (bug#21169).
55033 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55035         Document mode mode line variables
55037         * doc/lispref/modes.texi (Mode Line Variables): Document
55038         `mode-line-front-space, `mode-line-misc-info',
55039         `mode-line-end-spaces' (bug#21014).
55041 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55043         Add a cross ref to Optional Mode Line
55045         * doc/lispref/modes.texi (Mode Line Variables): Add a cross
55046         reference to the Emacs mode line node that explains things
55047         like `display-time-string' (bug#21002).
55049 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55051         Add a doc string to display-time-string
55053         * lisp/time.el: Add a doc string to `display-time-string',
55054         because it's referred to in the manual, and is too mysterious
55055         otherwise (bug#21002).
55057 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55059         custom-buffer-style doc fix
55061         * lisp/cus-edit.el (custom-buffer-style): Document the `tree'
55062         value (bug#20724).
55064 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55066         Document how to check for ImageMagick support
55068         * doc/lispref/display.texi (ImageMagick Images): Say how to
55069         check for ImageMagick support, which isn't quite obvious
55070         (bug#20702).
55072 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55074         Minor doc fix for ImageMagick/SVG builds
55076         * doc/lispref/display.texi (SVG Images): Don't imply that you
55077         have to build Emacs yourself (bug#20702).
55078         (ImageMagick Images): Ditto.
55080 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55082         Rearrange the doc of query-replace slightly
55084         * lisp/replace.el (query-replace): Move the mention of the
55085         interactive prefix arg earlier so that users can find it
55086         (bug#20654).
55088 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55090         apropos-print doc fix
55092         * lisp/apropos.el (apropos-print): Document the undocumented
55093         parameters (bug#20520).
55095 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55097         completion-table-with-predicate doc string fix
55099         * lisp/minibuffer.el (completion-table-with-predicate): t ->
55100         non-nil in the doc string (bug#20460).
55102 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55104         Fill the completion-table-with-predicate doc string
55106         * lisp/minibuffer.el (completion-table-with-predicate): Fill
55107         the doc string (bug#20460).
55109 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55111         replace-match-maybe-edit doc clarification
55113         * lisp/replace.el (replace-match-maybe-edit): Say what
55114         MATCH-DATA is (bug#20304).
55116 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55118         add-timeout doc fix
55120         * lisp/emacs-lisp/timer.el (add-timeout): Mention the return
55121         value (bug#20181).
55123 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55125         Extremely minor doc fix in Choosing Window
55127         * doc/lispref/windows.texi (Choosing Window): There's only one
55128         action alist, I think (bug#20158).
55130 2016-04-30  Alan Mackenzie  <acm@muc.de>
55132         * .dir-locals.el: Amend for correct fontification of *.[ch]
55133         containing "IF_LINT"
55135 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55137         Transform mentions of `eval-after-load' to `with-eval-after-load'
55139         * doc/lispref/loading.texi (Hooks for Loading): Update text to
55140         not mention `eval-after-load' (bug#20038).
55142 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55144         cursor-type doc fix
55146         * src/buffer.c (syms_of_buffer): Mention that cursor-type's
55147         WIDHT/HEIGHT can't exceed the frame char size (bug#19215).
55149 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55151         Add a link from Tool Bar to Images
55153         * doc/lispref/keymaps.texi (Tool Bar): Add a link to the
55154         Images node (bug#19722).
55156 2016-04-30  Alan Mackenzie  <acm@muc.de>
55158         CC Mode: Recognize a noise macro with parens after a declarator's identifier
55160         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): In the while loop
55161         following comment "Skip over type decl suffix operators." insert code also
55162         to check for noise macros with parentheses.
55164 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55166         (default-mode-line-format): More explicit obsolete info
55168         * lisp/subr.el (default-mode-line-format): Be more explicit in
55169         how default values are now handled (bug#19424).
55171 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55173         Fcompare_buffer_substrings doc string clarification
55175         * src/editfns.c (Fcompare_buffer_substrings): Extremely minor
55176         doc string clarification (bug#19255).
55178 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55180         insert-file-contents-literally doc fix
55182         * lisp/files.el (insert-file-contents-literally): Say that the
55183         parameters are explained in the other function (bug#18317).
55185 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55187         Fix custom types for cursor-in-non-selected-windows
55189         * lisp/cus-start.el (standard): Use the same custom types for
55190         cursor-in-non-selected-windows as for cursor-type (bug#19214).
55192 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55194         Doc clarification to mwheel-scroll
55196         * lisp/mwheel.el (mwheel-scroll): Mention that the restriction
55197         does not apply to Windows (bug#19209).
55199 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55201         Clarify the doc of eval-expression-print-format
55203         * lisp/simple.el (eval-expression-print-format): Doc
55204         clarification (bug#19114).
55206 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55208         (extended-command-suggest-shorter): Add a version string
55210         * lisp/simple.el (extended-command-suggest-shorter): Add a
55211         version string.
55213 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55215         Document extended-command-suggest-shorter
55217         * doc/emacs/m-x.texi (M-x): Mention
55218         extended-command-suggest-shorter (bug#19152).
55220 2016-04-30  Ivan Shmakov  <ivan@siamics.net>
55222         Add a variable to control "shorter command" suggestions
55224         * lisp/simple.el (extended-command-suggest-shorter): New variable (bug#19152).
55225         (execute-extended-command): Use it.
55227 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55229         Explictly explain that package-initialize loads the packages
55231         * lisp/emacs-lisp/package.el (package-initialize): Be explicit
55232         in saying that `package-initialize' obviates adjusting the
55233         path or requiring the packages, as this is a question that
55234         apparently comes up now and then (bug#18829).
55236 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55238         Have the doc strings of `load-path' and `require' mention each other
55240         * src/fns.c (Frequire): Mention `load-path' and fill the doc
55241         string (bug#18829).
55243         * src/lread.c (syms_of_lread): Mention that `require' uses
55244         `load-path'.
55246 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55248         Doc fix for insert-pair-alist
55250         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Say what
55251         COMMAND-CHAR is (bug#18809).
55253 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55255         Move doc of backup-directory-alist to the Backup node
55257         * doc/emacs/files.texi (Backup): Move the documentation of
55258         `backup-directory-alist' here from the "Single or Numbered
55259         Backups" node, because it doesn't seem to have much to do with
55260         numbering (bug#18692).
55262 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55264         Tiny doc clarification for create-fontset-from-fontset-spec
55266         * lisp/international/fontset.el (create-fontset-from-fontset-spec):
55267         Clarify what the optional part is (bug#18686).
55269 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55271         Fill the doc string of font-lock-keywords
55273         * lisp/font-lock.el (font-lock-keywords): Fill the lines and
55274         reorganize some explanations (bug#21427).
55276 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55278         Doc fix for font-lock-remove-keywords
55280         * lisp/font-lock.el (font-lock-remove-keywords): Add a link to
55281         `font-lock-add-keywords' to describe KEYWORDS (bug#18634).
55283 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
55285         Clarify whitespace-style doc string
55287         * lisp/whitespace.el (whitespace-style): Doc clarification
55288         (bug#18296).
55290 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55292         No need to test for jka-compr
55294         * lisp/vc/ediff-util.el (ediff-file-compressed-p): jka-compr
55295         is always available; no need to test (bug#18204).
55297 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55299         Doc fixed for next-error-buffer-p
55301         * lisp/simple.el (next-error-buffer-p): Clarify doc string
55302         (bug#18202).
55304 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55306         Tiny doc fix
55308         * src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix
55309         (and fill) (bug#18201).
55311 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55313         Doc fix
55315         * src/keymap.c (Fdefine_prefix_command): Clarify doc string
55316         slightly (bug#18092).
55318 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55320         delsel doc touch ups
55322         * lisp/delsel.el (delete-selection-helper): Use non-nil
55323         instead of t and clarify function return values (bug#18089).
55325 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55327         Doc fixes for menu-bar.el
55329         * lisp/menu-bar.el (clipboard-kill-ring-save): Describe the
55330         REGION parameter (bug#18028).
55331         (clipboard-kill-region): Ditto.
55333 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55335         Doc fix
55337         * lisp/rect.el (delete-whitespace-rectangle): Doc fix (bug#18026).
55339 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55341         Minor doc clarification
55343         * lisp/subr.el (y-or-n-p): Document the return value from "n"
55344         (bug#18024).
55346 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55348         Fill font-lock-mode doc string
55350         * lisp/font-core.el (font-lock-mode): Fill the text to make it
55351         narrower (bug#18008).
55353 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55355         Wrap the auto-generated doc string
55357         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a
55358         string to make it less likely that we get overlong lines
55359         (bug#17999).
55361 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55363         Clarify hi-lock-find-patterns
55365         * lisp/hi-lock.el (hi-lock-find-patterns): Doc clarification
55366         (bug#17989).
55368 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55370         Warning fix in jit-lock-mode
55372         * lisp/jit-lock.el (jit-lock-mode): Don't issue a warning when
55373         turning the mode on in an indirect buffer, if this somehow has
55374         happened (bug#17738).
55376 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55378         Add a doc string to `winner-mode'
55380         * lisp/winner.el (winner-mode): Add a doc string based on the
55381         comments in the file (bug#17716).
55383 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55385         Doc fix for align-newline-and-indent
55387         * lisp/align.el (align-newline-and-indent): Mention that
55388         alignment is done by `align' (bug#17707).
55390 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55392         Cancel the eldoc timer when switching off eldoc mode
55394         * lisp/emacs-lisp/eldoc.el (eldoc-mode): Cancel the eldoc
55395         timer when switching off eldoc mode.  It will be restarted
55396         again if needed (bug#17582).
55398 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55400         Doc fix for `kbd'
55402         * lisp/subr.el (kbd): Describe more fully the format of the
55403         parameter (bug#17039).
55405 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55407         Add a sanity check to apropos-documentation-internal
55409         * lisp/apropos.el (apropos-documentation-internal): Add a
55410         sanity check to be less fragile in the presence of invalid
55411         data (bug#16725).
55413 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55415         Doc tweak
55417         * lisp/simple.el (use-empty-active-region): Doc tweak.
55418         There's only one region (bug#16513).
55420 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55422         Clarify `read-face-name' doc and tweak the code
55424         * lisp/faces.el (read-face-name): Clarify the documentation
55425         and allow a mix of faces and faces names in all cases
55426         (bug#16483).
55428 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55430         Remove ": ?" from the read-face-name prompt
55432         * lisp/faces.el (read-face-name): Remove ": ?" from the prompt
55433         to be more backwards compatible (bug#15909).
55435 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55437         Link from (emacs)Exiting to (lisp)Killing Emacs
55439         * doc/emacs/entering.texi (Exiting): Link to the lispref
55440         manual for further customizations (bug#15445).
55442 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55444         find-lisp doc touchups
55446         * lisp/find-lisp.el (find-lisp-format): Copy over the doc
55447         string (bug#15047).
55448         (find-lisp-find-files): Clarify doc.
55450 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55452         Don't have the manual claim that it lists all CL incompatibilities
55454         * doc/misc/cl.texi (Common Lisp Compatibility): The list of
55455         incompatibilities isn't exhaustive, so don't say that it is
55456         (bug#15171).
55458 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55460         Fix call of `kmacro-display'
55462         * lisp/kmacro.el (kmacro-view-ring-2nd): Fix call of
55463         `kmacro-display' (bug#15020).
55465 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
55467         Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]"
55469         * doc/emacs/*.texi: Change all occurrences of "Mouse-[0-9]" to
55470         "mouse-[0-9]".  These are case sensitive, and the keys are lower case
55471         (bug#14554).
55473 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
55475         Rename "Directory Search" menu to "Servers"
55477         * lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory
55478         Search" to "Directory Servers".  Suggested by Eli
55479         Zaretskii. (bug#14919).
55481         * lisp/net/eudc.el: Rename ditto throughout.
55483 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
55485         Remove uses of the unused to-end parameter from simple.el
55487         * lisp/simple.el (line-move-partial): Remove usages of the
55488         unused to-end parameter, and make it optional (bug#14844).
55489         (line-move): Remove use of the unused to-end parameter.
55491 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
55493         Doc fix: _ chars are automatically removed.
55495         * lisp/cus-edit.el (custom-buffer-create): _ chars are
55496         automatically removed when displaying help, so fix the last
55497         doc change.
55498         (custom-buffer-create-other-window): Ditto.
55500 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
55502         Doc string change to enable-recursive-minibuffers
55504         * src/minibuf.c (syms_of_minibuf): Mention
55505         minibuffer-depth-indicator-mode in the doc string to
55506         enable-recursive-minibuffers (bug#14147).
55508 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
55510         Fix definition of nobreak-space
55512         * lisp/faces.el (nobreak-space): The definition to
55513         nobreak-space was inadvertantly changed by the previous checkin.
55515 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
55517         Clarify the `interactive' doc string slightly
55519         * src/callint.c (Finteractive): Clarify the doc string slightly
55520           (bug#14577).
55522 2016-04-28  Drew Adams  <drew.adams@oracle.com>
55524         Make icomplete respect `completion-ignored-extensions'
55526         * lisp/icomplete.el (icomplete-completions): Heed
55527         `completion-ignored-extensions' (bug#12939).
55529 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
55531         Make ibuffer not break on newline-embedded buffer names
55533         * lisp/ibuffer.el (name): When buffer names contain newlines,
55534         quote those newlines before displaying (bug#12378).
55536 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
55538         Add a new face for non-breaking hyphen characters
55540         * doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen.
55541         (Text Display): Ditto.
55543         * lisp/faces.el (nobreak-hyphen): New face (bug#12048).
55545         * src/xdisp.c (get_next_display_element): Use it instead of
55546         the escape-glyph face.
55548         * src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen.
55550 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
55552         Make a menu less ambiguous
55554         * doc/emacs/custom.texi (Key Bindings): The Modifier Keys node
55555         is about using modifier keys, not binding them (bug#10942).
55557 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
55559         Make kill-emacs-query-functions into defcustom
55561         * lisp/files.el (save-buffers-kill-terminal): Mention
55562         `save-buffers-kill-emacs' (bug#10794).
55563         (kill-emacs-query-functions): Made into a defcustom.
55565 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
55567         Have describe-variable output multi-line values better
55569         * lisp/help-fns.el (describe-variable): When printing
55570         multi-line expressions, display them prettier (bug#10723).
55572 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
55574         Clean up custom-buffer-create code slightly
55576         * lisp/cus-edit.el (custom-buffer-create-other-window): Don't
55577         pass the unused description value on (for clarity) (bug#10540).
55578         (custom-buffer-create): Ditto
55580 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
55582         Clarify some doc strings
55584         * lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
55585         Clarify doc string (bug#8693).
55586         (syntax-propertize): Clarify doc string.
55588 2016-04-28  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
55590         Fix number-at-point in lisp buffers
55592         * lisp/thingatpt.el (number-at-point): Don't say that things
55593         like ?a are numbers in lisp mode buffers (bug#8634).
55595 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
55597         Don't consider colons to be paragraphs starting chars in strings
55599         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't
55600         consider colons to start paragraphs in (doc) strings
55601         (bug#7751).
55603 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
55605         Make `undo' of `C-x r t' put point where it should be
55607         * lisp/rect.el (string-rectangle): Make `undo' of a this
55608         command put point back where it was (bug#7522).
55610 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
55612         Add some concept index entries for custom types
55614         * doc/lispref/customize.texi (Composite Types): Add concept
55615         index entries for restricted-sexp, radio and choice (bug#7385).
55617 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
55619         Mention `lisp-indent-function' in the lispref manual
55621         * doc/lispref/macros.texi (Indenting Macros): Mention
55622         `lisp-indent-function' (bug#3393).
55624 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
55626         Clarify doc string of internal compilation function
55628         * lisp/progmodes/compile.el (compilation-get-file-structure):
55629         Clarify doc string (bug#3137).
55631 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
55633         Avoid having `C-x h' mark the prompt part of the minibuffer
55635         * lisp/simple.el (mark-whole-buffer): Don't mark the prompt
55636         part of the minibuffer (bug#2589).
55638 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
55640         Allow a prefix argument to find-library to pop to a different window
55642         * lisp/emacs-lisp/find-func.el (find-library): Allow a prefix
55643         argument to pop to a different window (bug#2270).
55645 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
55647         Move the diff command to "Operate" in ibuffer
55649         * lisp/ibuffer.el (ibuffer-mode-operate-map): Move the diff
55650         command to the "Operate" menu, and remove the customization
55651         entry to make the "View" menu more logical (bug#1150).
55653 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
55655         Make the minor modes in help buffers into buttons
55657         * lisp/help.el (describe-mode): Make the minor modes into
55658         buttons to enable easier documentation traversal (bug#1149).
55660 2016-04-27  Jorgen Schaefer  <contact@jorgenschaefer.de>
55662         Add a number of Python 3 exceptions
55664         * lisp/progmodes/python.el (python-font-lock-keywords): Clean up
55665         the exception list, adding a number of new Python 3 exceptions and
55666         moving some exceptions to the Python 2 and 3 list as Python 2.7
55667         includes them.
55669 2016-04-26  Anders Lindgren  <andlind@gmail.com>
55671         Fix bug#22891: wrong terminal width when a fringe width is zero.
55673         When either fringe width is zero, Emacs reserved one column for a
55674         continuation glyph. Terminal windows does not take this into
55675         account when the frame is resized.
55677         * lisp/window.el (window-adjust-process-window-size): Use
55678         `window-max-chars-per-line' instead of `window-body-width'.
55679         * lisp/term.el (term-window-width): Remove function. (It does the
55680         same as `window-max-chars-per-line' but without recent bug fixes.)
55681         (term-mode): Use `window-max-chars-per-line' instead of
55682         `term-window-width'.
55684 2016-04-26  Simen Heggestøyl  <simenheg@gmail.com>
55686         Add completion of `calc()' in CSS mode
55688         * lisp/textmodes/css-mode.el (css-value-class-alist): Add `calc()' as
55689         a completion candidate for several value classes.
55690         (css--value-class-lookup): Return only unique results.
55692         * test/lisp/textmodes/css-mode-tests.el
55693         (css-test-property-values-no-duplicates)
55694         (css-test-value-class-lookup): Update to reflect the above changes.
55696 2016-04-26  Paul Eggert  <eggert@cs.ucla.edu>
55698         Fix socketd fd startup bug that I introduced
55700         Problem reported by Matthew Leach in:
55701         https://lists.gnu.org/r/emacs-devel/2016-04/msg00778.html
55702         * src/emacs.c (main): Indicate more clearly the coupling between
55703         the --daemon option and init_process_emacs.
55704         * src/lisp.h: Adjust to API changes.
55705         * src/process.c (set_external_socket_descriptor):
55706         Remove, replacing by ...
55707         (init_process_emacs): ... passing the socket FD here instead.
55708         All uses changed.
55710 2016-04-25  Tao Fang  <fangtao0901@gmail.com>
55712         Fix: (void-variable url-http-response-status)
55714         * lisp/url/url-http.el
55715         (url-https-proxy-after-change-function): Display the error
55716         message before doing the callback to avoid a void variable
55717         situation (bug#23290).
55719 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55721         smtpmail would say it's done before it is
55723         * lisp/mail/smtpmail.el (smtpmail-via-smtp): Move the sending
55724         of the data end marker from here... (bug#23020).
55725         (smtpmail-send-data): ... to here, so that we don't get a
55726         "Sending done" before we've sent the final "." (which can make
55727         the SMPT server reject the email.
55729 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55731         `url-retrieve-synchronously' now takes an optional timeout parameter
55733         * doc/misc/url.texi (Retrieving URLs): Document optional parameters.
55735         * lisp/url/url.el (url-retrieve-synchronously): Allow passing
55736         in a timeout parameter (bug#22940).
55738 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55740         Include "Retype" as a comint password prompt
55742         * lisp/comint.el (comint-password-prompt-regexp): Include
55743         "Retype" to catch "Retype password for [account]:" from the
55744         "pass" utility (bug#22942).
55746 2016-04-25  Alan Mackenzie  <acm@muc.de>
55748         Fix spurious fontification of "for (; a * b;)" in CC Mode.
55750         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being
55751         inside the parens of a for statement and after a semicolon near the beginning
55752         of the lambda form.
55754 2016-04-25  Paul Eggert  <eggert@cs.ucla.edu>
55756         New function ‘char-from-name’
55758         This also fixes the mishandling of "\N{CJK COMPATIBILITY
55759         IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc.
55760         Problem reported by Eli Zaretskii in:
55761         https://lists.gnu.org/r/emacs-devel/2016-04/msg00614.html
55762         * doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this.
55763         * lisp/international/mule-cmds.el (char-from-name): New function.
55764         (read-char-by-name): Use it.  Document that "BED" is treated as
55765         a name, not as a hexadecimal number.  Reject out-of-range integers,
55766         floating-point numbers, and strings with trailing junk.
55767         * src/lread.c (character_name_to_code): Call char-from-name
55768         instead of inspecting ucs-names directly, so that we handle
55769         computed names like "VARIATION SELECTOR-1".  Do not use an auto
55770         string, since char-from-name might GC.
55771         * test/src/lread-tests.el: Add tests for new behavior, and
55772         fix some old tests that were wrong.
55774 2016-04-25  Alan Mackenzie  <acm@muc.de>
55776         c-forward-<>-arglist no longer directly applies face properties in Java Mode.
55778         This allows the calling of c-restore-<>-properties from c-common-init without
55779         the test suite giving spurious errors.
55781         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that
55782         sets face properties.
55783         (c-forward-<>-arglist-recur): Reformulate the bit that handles types inside
55784         template brackets using c-inside-<>-type-key.  Don't bind
55785         c-record-type-identifiers or c-record-found-types around the recursive call,
55786         allowing positions of found types to flow back to the caller.
55788         * lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key):
55789         new lang consts/var.
55791         * lisp/progmodes/cc-mode.el (c-common-init): Don't remove
55792         c-restore-<>-properties from the list of functions called at mode
55793         initialization.
55795 2016-04-25  Jun Hao  <jun_hao@aol.com>
55797         Pass in port only if provided by caller in the OS X keychain
55799         * lisp/auth-source.el (auth-source-macos-keychain-search): Pass in
55800         port only if provided (bug#23374).
55802 2016-04-25  Alan Mackenzie  <acm@muc.de>
55804         Add fontification for a C declaration which looks like a function call.
55806         For example, "t1 *fn (t2 *b);".
55808         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable
55809         at-decl-start, setting it to whether the putative decl starts immediately
55810         after ; or { or }.  Accept such a construct as a decl when at-decl-start is
55811         non-nil.
55813         * lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable.
55815 2016-04-25  Eli Zaretskii  <eliz@gnu.org>
55817         Don't mirror slashes in convert-standard-filename on MS-Windows
55819         * lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror
55820         slashes into backslashes.  This avoids producing ugly file names,
55821         and is deemed no longer necessary, and should certainly be
55822         unrelated to which shell is in use.
55824 2016-04-24  Dmitry Gutov  <dgutov@yandex.ru>
55826         Revert the disputed VC change and update the tests
55828         * lisp/vc/vc-hooks.el (vc-working-revision):
55829         Remove the previous change.
55830         (vc-state): Same.  And update the old, incorrect comment about
55831         unregistered files
55832         (https://lists.gnu.org/r/emacs-devel/2016-04/msg00526.html).
55834         * test/lisp/vc/vc-tests.el (vc-test--state): Remove the check
55835         calling `vc-state' on default-directory (VC state is undefined
55836         for directories).  Check that `vc-state' returns nil where it
55837         returned `unregistered' before.  Remove all checks comparing
55838         invocations with the backend passed in explictly and without.
55839         (vc-test--working-revision): Remove all checks comparing
55840         invocations with the backend passed in explictly and without.
55841         Update comments, and add a new one.
55843 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
55845         * etc/NEWS: Grammar and punctuation improvements.
55847 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
55849         Merge from origin/emacs-25
55851         9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste...
55852         0cd2e92 Don't kill ~/ if it's the top level directory
55853         4f40f5f describe-char: fix insert char documentation
55854         87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string'
55856 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
55858         Merge from origin/emacs-25
55860         960f90d * etc/AUTHORS: Update the AUTHORS file
55861         b21e9d4 * admin/update_autogen: Use #!/usr/bin/env bash
55863 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
55865         Merge from origin/emacs-25
55867         78f9af7 ; ChangeLog fixes
55868         162e549 * admin/authors.el (authors-ignored-files): Additions.
55869         2b31a0c In x_set_window_size restore do_pending_window_change calls
55870         401857e Fix Alt-modified keys on some European MS-Windows keyboards
55871         a77cf24 Document 'help-go-forward'
55872         1ba947f Revert "Allow to customize names of executables used by grep.el"
55873         570e0fa Revert "Don't use 'find-program'"
55874         645f4ef Revert "Use 'grep-find-program' in check-declare.el"
55875         aa03257 Clarify documentation of 'dired-mark-files-containing-regexp'
55876         ce0d8c7 Make tmm-menubar work in correct order again
55877         b8d5a8f Remove the Meta-CVS VC backend
55879 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
55881         Don't let `css--property-values' return duplicates
55883         * lisp/textmodes/css-mode.el (css--property-values): Don't return
55884         duplicate values.
55886         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
55887         Take the above into account.
55888         (css-test-property-values-no-duplicates): Test that duplicates aren't
55889         returned by `css--property-values'.
55891 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55893         Call `make-composed-keymap' correctly
55895         * lisp/image-mode.el (image-mode-map): Call
55896         `make-composed-keymap' correctly.
55898 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55900         Use `make-composed-keymap' instead of copying the keymap
55902         * lisp/image-mode.el (image-mode-map): Use
55903         `make-composed-keymap' instead of copying the keymap.
55905 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55907         Make `q' etc work in image mode again
55909         * lisp/image-mode.el (image-mode-map): Restore
55910         special-mode-map as the parent keymap of image-mode-map (bug#23167).
55912 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55914         Fix typo in last url.texi checkin
55916 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55918         Make STARTTLS error messages better
55920         * lisp/net/network-stream.el (network-stream-open-starttls):
55921         Output a better error message when TLS negotiation fails while
55922         doing STARTTLS (bug#23027).
55924 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55926         Encode the shr tests files with trailing white space
55928 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
55930         Cache results of `css--property-values'
55932         * lisp/textmodes/css-mode.el (css--property-values): Cache computed
55933         values.
55935         * test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache):
55936         New regression test for the above.
55938 2016-04-24  Michael Albinus  <michael.albinus@gmx.de>
55940         Some improvements in vc
55942         * lisp/vc/vc-hooks.el (vc-state, vc-working-revision):
55943         Check, whether FILE is registered.
55945         * lisp/vc/vc-rcs.el (vc-rcs-checkout-model): Return `locking'
55946         for nonexistent files.
55948         * test/lisp/vc/vc-tests.el (w32-application-type): Declare.
55949         (vc-test--revision-granularity-function)
55950         (vc-test--unregister-function): Use `vc-call-backend'.
55951         (vc-test--run-maybe-unsupported-function): New defmacro.
55952         (vc-test--register, vc-test--state, vc-test--working-revision)
55953         (vc-test--checkout-model): Use it.  Fix also expected results.
55954         (vc-test-src02-state, vc-test-rcs04-checkout-model): They pass now.
55956 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55958         Document the nil/default values of url-user-agent
55960         * doc/misc/url.texi (Customization): Document the nil/default
55961         values of url-user-agent.
55963 2016-04-24  Clément Pit--Claudel  <clement.pit@gmail.com>
55965         Compute User-Agent dynamically in url-http
55967         * lisp/url/url-http.el (url-http-user-agent-string): Compute
55968         User-Agent string dynamically.
55969         (url-http--user-agent-default-string): New function.
55971         * lisp/url/url-vars.el (url-privacy-level): Allow `emacs' in list
55972         of information not to send.
55973         (url-user-agent): Add nil and `default' options; do not
55974         pre-compute value.
55976 2016-04-24  Jun Hao  <jun_hao@aol.com>
55978         Handle auth-source items with special characters on OS X
55980         * lisp/auth-source.el
55981         (auth-source-macos-keychain-search-items): Handle keychain
55982         output correctly when has special chararcters (bug#22824).
55984 2016-04-24  Magnus Henoch  <magnus.henoch@gmail.com>
55986         Implement process-attributes for Darwin
55988         * src/sysdep.c (timeval_to_timespec, make_lisp_timeval)
55989         (system_process_attributes): Implement process-attributes
55990         for Darwin (bug#16579).
55992 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
55994         Use Unicode literals instead of hex values
55996         * lisp/net/shr.el (shr-tag-bdo): Use Unicode literals instead
55997         of hex values for greater readability.
55998         (shr-tag-bdi): Ditto.
56000 2016-04-24  Steve Purcell  <steve@sanityinc.com>
56002         Allow _ characters in SQL prompts
56004         * lisp/progmodes/sql.el (sql-product-alist): Allow _
56005         characters in SQL prompts (bug#22596).
56007         Fixes issue 22596, whereby "_" is now not considered a word constituent
56008         character in sql-interactive-mode, so prompts like "foo_dev# " are not
56009         correctly detected. Rather than piggy-back on the symbol table, we
56010         explicitly match against alphanumeric chars or "_".
56012 2016-04-23  Glenn Morris  <rgm@gnu.org>
56014         When autoload-timestamps is nil, use a dummy timestamp rather than "t".
56016         * lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant.
56017         (autoload-generate-file-autoloads, autoload-find-destination)
56018         (update-directory-autoloads): Use autoload--non-timestamp.
56020 2016-04-23  Glenn Morris  <rgm@gnu.org>
56022         * test/lisp/xt-mouse-tests.el: Move from test/automated/.
56024 2016-04-22  Jö Fahlke  <jorrit@jorrit.de>  (tiny change)
56026         Regexps for matching CMake output
56028         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
56029         regexps for matching CMake output.
56030         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add
56031         CMake test cases.
56032         * etc/compilation.txt (CMake): Add CMake examples.
56034 2016-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
56036         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
56038         Fix docstring quotes.
56040 2016-04-21  Paul Eggert  <eggert@cs.ucla.edu>
56042         Improve character name escapes
56044         * doc/lispref/nonascii.texi (Character Properties):
56045         Avoid duplication of Unicode names.  Reformat examples to fit in
56046         narrow pages.
56047         * doc/lispref/objects.texi (General Escape Syntax):
56048         Simplify and better-organize explanation of \N{...} escapes.
56049         * src/character.h (CHAR_SURROGATE_PAIR_P): Remove; unused.
56050         (char_surrogate_p): New inline function.
56051         * src/lread.c: Do not include string.h; no longer needed.
56052         (invalid_character_name, check_scalar_value): Remove; the ideas
56053         behind these functions are now bundled into character_name_to_code.
56054         (character_name_to_code): Remove undocumented support for "CJK
56055         IDEOGRAPH-XXXX" names, as "U+XXXX" suffices.  Reject monstrosities
56056         like "\N{U+-0}" and null bytes in \N escapes.  Reject floating
56057         point in \N escapes instead of returning garbage.  Use
56058         AUTO_STRING_WITH_LEN to lessen pressure on the garbage collector.
56059         * test/src/lread-tests.el (lread-char-number, lread-char-name)
56060         (lread-string-char-number, lread-string-char-name):
56061         Test runtime behavior, not compile-time, as the test framework
56062         is not set up to test compile-time.
56063         (lread-char-surrogate-1, lread-char-surrogate-2)
56064         (lread-char-surrogate-3, lread-char-surrogate-4)
56065         (lread-string-char-number-2, lread-string-char-number-3):
56066         New tests.
56067         (lread-string-char-number-1): Rename from lread-string-char-number.
56069 2016-04-21  Philipp Stephani  <phst@google.com>
56071         Use 'ucs-names' for character name escapes
56073         * src/lread.c (invalid_character_name, check_scalar_value)
56074         (parse_code_after_prefix, character_name_to_code): New helper
56075         functions that use 'ucs-names' and parsing for CJK ideographs.
56076         (read_escape): Use helper functions.
56077         (syms_of_lread): New symbol 'ucs-names'.
56078         * test/src/lread-tests.el: New tests; fix a couple of bugs in
56079         existing tests.
56081 2016-04-21  Philipp Stephani  <phst@google.com>
56083         Minor cleanups for character name escapes
56085         * src/lread.c (init_character_names): Add missing 'void'.
56086         Remove top-level 'const'.
56087         (read_escape): Simplify loop a bit.  Remove top-level 'const'.
56089 2016-04-21  Philipp Stephani  <phst@google.com>
56091         Add documentation for character name escapes
56093 2016-04-21  Philipp Stephani  <phst@google.com>
56095         Implement named character escapes, similar to Perl
56097         * src/lread.c (init_character_names): New function.
56098         (read_escape): Read Perl-style named character escape sequences.
56099         (syms_of_lread): Initialize new variable 'character_names'.
56100         * test/src/lread-tests.el (lread-char-empty-name): Add test file
56101         for src/lread.c.
56103 2016-04-21  Fabrice Popineau  <fabrice.popineau@gmail.com>
56105         Avoid run-time dependency on libwinpthread DLL on MS-Windows
56107         * nt/mingw-cfg.site (ac_cv_search_clock_gettime)
56108         (ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to not
56109         present, so that MinGW64 builds don't depend on libwinpthread.
56110         (Bug#22959)
56112 2016-04-21  Matthew Leach  <matthew@mattleach.net>
56114         Add LIBSYSTEMD to the list of supported features
56116         * configure.ac: Add LIBSYSTEMD to EMACS_CONFIG_FEATURES and print a
56117         message at the end of configure stating whether Emacs will be build
56118         with libsystemd support.
56120 2016-04-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
56122         Support absolute column movement in 'ansi-term'
56124         * lisp/term.el (term-handle-ansi-escape): Handle the "\E[G" sequence
56125         for absolute column movement.  (Bug#23303)
56127 2016-04-21  Jorgen Schaefer  <contact@jorgenschaefer.de>
56129         Add Python 3.5 keyword "await"
56131         * lisp/progmodes/python.el (python-font-lock-keywords): Add await as
56132         keyword.
56134 2016-04-20  Simen Heggestøyl  <simenheg@gmail.com>
56136         Add "keyframes" to list of CSS at-rules
56138         * lisp/textmodes/css-mode.el (css-at-ids): Add "keyframes" at-rule.
56140 2016-04-20  Phillip Lord  <phillip.lord@russet.org.uk>
56142         Prevent bootstrap autoload backup files
56144         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Suppress
56145         backups in newly created file.
56147         (autoload-ensure-default-file): Function split into two.
56148         (autoload-ensure-file-writeable): New function from split.
56150         (Bug#23203)
56152 2016-04-20  Paul Eggert  <eggert@penguin.cs.ucla.edu>
56154         Fix org-timestamp-change typo
56156         Problem reported by Peter Münster (Bug#23299).
56157         * lisp/org/org.el (org-timestamp-change): Fix typo that relied
56158         on undocumented behavior in ‘encode-time’.  In practice the
56159         old code used local time, so use that.
56161 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
56163         Avoid AC_PREPROC_IFELSE glitch in configure.ac
56165         Problem reported by Angelo Graziosi in:
56166         https://lists.gnu.org/r/emacs-devel/2016-04/msg00545.html
56167         * configure.ac (gl_gcc_warnings): Work around an Autoconf glitch:
56168         AC_PREPROC_IFELSE doesn’t generate a simple shell command.
56170 2016-04-19  Michael Albinus  <michael.albinus@gmx.de>
56172         autorevert: Resume with polling if file is deleted
56174         * lisp/autorevert.el: Use consistent wording in comments and
56175         docstrings.
56176         (auto-revert-mode): Add local function to `kill-buffer-hook'.
56177         (auto-revert-notify-handler): Improve handling of `stopped' event.
56179         * test/lisp/autorevert-tests.el
56180         (auto-revert-test02-auto-revert-deleted-file): New test.
56181         (auto-revert-test03-auto-revert-tail-mode)
56182         (auto-revert-test04-auto-revert-mode-dired): Rename them.
56184 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
56186         Merge from origin/emacs-25
56188         5a0cbe5 Fix Bug#23276
56189         2007e32 Sync with upstream vhdl mode v3.38.1.
56190         b6d2552 Tweak configure.ac syntax in recent module patch
56192 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
56194         Merge from origin/emacs-25
56196         ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo...
56197         3287f48 ; Add entry to MAINTAINERS
56198         b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev...
56199         0f33284 Make use of rectangle-preview custom variable.
56200         aa0d83a Make use of rectangle-preview face.
56201         33bef6e Use 'grep-find-program' in check-declare.el
56202         a8560e5 Improve "C-h S" for cl-lib symbols
56203         52e798b Fix minor issues with removing left or right fringes
56204         d6ffd64 Speed up redisplay in ansi-term mode
56205         4ab671c Simplify 8-bit character handling by terminal for 'raw-text'
56206         f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux.  (Bu...
56207         ab849b7 Fix w32 memory-management problem when extending buffer text
56209 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
56211         Merge from origin/emacs-25
56213         32364bb substitute-command-keys keeps quotes’ text props
56214         567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ...
56215         24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact...
56216         cc0b713 Perform xref searches without visiting unopened files
56217         5045575 Revert "Prevent bootstrap autoload backup files"
56219 2016-04-18  Philipp Stephani  <p.stephani2@gmail.com>
56221         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
56223         so that it matches the actual implementation.
56224         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
56226 2016-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
56228         * lisp/textmodes/ispell.el: Compile with lexical-binding
56230         (declare-function): Don't define any more.
56231         (ispell-check-minver, ispell-looking-back): Tweak definition so that
56232         the compiler can obviously know that it's always defined.
56233         (ispell-debug-buffer): Declare var.
56234         (ispell-hunspell-fill-dictionary-entry)
56235         (ispell-parse-hunspell-affix-file, ispell-hunspell-add-multi-dic)
56236         (ispell-find-hunspell-dictionaries, ispell-set-spellchecker-params)
56237         (ispell-command-loop): Avoid add-to-list on local variables.
56239 2016-04-17  Paul Eggert  <eggert@cs.ucla.edu>
56241         Minor fixups for external socket launching
56243         * configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222.
56244         * doc/emacs/misc.texi (Emacs Server):
56245         * etc/NEWS: Spelling and doc fixes.
56246         * src/emacs.c (main) [HAVE_LIBSYSTEMD]:
56247         Check for sd_is_socket returning positive, not zero.
56248         * src/process.c (external_sock_fd): Instead of initializing here ...
56249         (init_process_emacs): ... initialize it here, so that it does the
56250         right thing after dump/restore.
56251         (connect_network_socket): Simplify socket_to_use test.
56253 2016-04-17  Simen Heggestøyl  <simenheg@gmail.com>
56255         Add HTML5 tags to HTML mode
56257         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 tags.
56258         (html-tag-help): Add short descriptions of those tags.
56260 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56262         Finish idna->puny changes in last Message patch
56264         * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Use puny
56265         instead of idna functions.
56267 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56269         Use puny.el instead of idna.el functions in Gnus
56271         * lisp/gnus/gnus-art.el (gnus-use-idna): Default to t (since
56272         Emacs comes with IDNA support built in).
56273         (article-decode-idna-rhs): Use `puny-decode-domain' instead of
56274         `idna-to-unicode'.
56276         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): Ditto.
56278 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56280         Mention `message-use-idna' in NEWS
56282 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56284         Default `message-use-idna' to t
56286         * lisp/gnus/message.el (message-use-idna): Default to t (since
56287         Emacs comes with puny.el now).
56289 2016-04-16  Matthew Leach  <matthew@mattleach.net>
56291         Extend battery.el to exotic power supply types
56293         * lisp/battery.el (battery-linux-sysfs-regexp): Rename from
56294         'battery--linux-sysfs-regexp' and make a defcustom. All users
56295         changed.  (Bug#23216)
56297 2016-04-16  Matthew Leach  <matthew@mattleach.net>
56299         Add external socket launching support
56301         * src/process.c (connect_network_socket): Allow a pre-allocated socket
56302         descriptor to be used if passed to Emacs, avoiding the call to
56303         'socket' and 'bind'.
56304         (Fmake_network_process): Allow users to pass ':use-external-socket' in
56305         the parameter plist to use any sockets that have been passed to Emacs.
56306         (wait_reading_process_output): Call 'socket' and 'bind' every time.
56307         (syms_of_process): New symbol ':use-external-socket'.
56308         (set_external_socket_descriptor): New function.
56309         (external_sock_fd): New variable.
56310         * src/lisp.h: (set_external_socket_descriptor): New declaration.
56311         * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets
56312         passed and call 'set_external_socket_descriptor' to set the external
56313         socket.
56314         * src/Makefile.in: Add libsystemd library and C flags to the Emacs
56315         compilation options.
56317         * configure.ac: Add new default-on option "systemd" and check for
56318         libsystemd at configure time.
56320         * lisp/server.el (server-start): Set ':use-external-socket' to 't' when
56321         calling 'make-network-process'.
56323         * etc/NEWS: Document new socket-passing functionality and the configure
56324         option to disable systemd interaction.
56326         * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing
56327         functionality and provide systemd unit examples.
56328         * doc/lispref/processes.texi (Network Processes): Document new
56329         'make-network-process' option ':use-external-socket'.
56331 2016-04-16  Matthew Leach  <matthew@mattleach.net>
56333         Don't spell-check argument of 'cref' TeX macro
56335         * lisp/textmodes/ispell.el (ispell-tex-skip-alists): Add the cref
56336         macro to skip spell-checking the cref macro argument.
56338 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
56340         Simplify use of O_BINARY
56342         * src/callproc.c (call_process):
56343         * src/fileio.c (write_region):
56344         * src/filelock.c (read_lock_data):
56345         * src/image.c (x_find_image_fd):
56346         * src/lread.c (openp):
56347         * src/sysdep.c (init_random, emacs_fopen):
56348         * src/unexcw.c (unexec):
56349         Omit unnecessary use of O_BINARY, since emacs_open now arranges
56350         that for us.
56352 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
56354         * src/indent.c (Fvertical_motion): Pacify GCC
56356         5.3.1 20160406 (Red Hat 5.3.1-6) on x86-64.
56358 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
56360         Port ‘./autogen.sh git’ to non-clones
56362         Problem reported by Angelo Graziosi in:
56363         https://lists.gnu.org/r/emacs-devel/2016-04/msg00341.html
56364         * autogen.sh (do_git): Default to false when the arg is ‘all’ but
56365         there is no ‘.git’.
56366         (git_common_dir, hooks): New vars.
56367         (git_config, tailored_hooks, sample_hooks): Use them.
56369 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
56371         Do not require that .git be a directory
56373         Problem reportyed by Phillip Lord.
56374         * admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog:
56375         * configure.ac, make-dist:
56376         Do not require that .git be a directory, as 'git worktree' makes
56377         it a file and not a directory.
56379 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
56381         Avoid now-obsolete function gmm-format-time-string
56383         * lisp/gnus/message.el (message-insert-formatted-citation-line):
56384         Use format-time-string instead of obsolete function
56385         gmm-format-time-string.
56387 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
56389         Support OFFSET and (OFFSET ABBR) time zone rules
56391         This simplifies Gnus and VC time zone support, by letting them
56392         feed the output of ‘current-time-zone’ and ‘decode time’ to
56393         primitives that accept time zone arguments.
56394         * doc/lispref/os.texi (Time Zone Rules, Time Conversion):
56395         * etc/NEWS:
56396         * lisp/gnus/message.el (message-insert-formatted-citation-line):
56397         * lisp/org/org.el (org-timestamp-format):
56398         * src/editfns.c (Fformat_time_string, Fdecode_time):
56399         (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
56400         Document new behavior.
56401         * lisp/gnus/gmm-utils.el (gmm-format-time-string):
56402         * lisp/vc/add-log.el (add-log-iso8601-time-zone):
56403         Mark as obsolete, as it is now just an alias or narrow wrapper
56404         around format-time-string.
56405         * src/editfns.c (tzlookup): Also support integer OFFSET and
56406         list (OFFSET ABBR) as time zone rules.
56407         (Fencode_time): No longer need a special case for a cons ZONE.
56408         (Fcurrent_time_zone): If the time zone string is missing, compute
56409         it the same way the other new code does.
56411 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
56413         Merge from origin/emacs-25
56415         ca50981 Improve time zone documentation
56416         c23c965 Prevent bootstrap autoload backup files
56417         9344612 Disable multicolor fonts on OS X since they are not supported...
56418         c41ce1c Capitalize “Universal Time” in documentation
56419         10597c9 Don't use 'find-program'
56421 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
56423         Merge from origin/emacs-25
56425         b134c20 Sync with gnulib
56426         bb30fa9 Fix last change on 2016-01-02
56427         488a72f ; Spelling fixes
56428         9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3
56429         0e7bcec Avoid crashes due to unreasonably large or small text scaling
56430         85f257c Improve documentation of 'with-eval-after-load'
56431         668c7bc Improve handling of non-ASCII characters in Git log messages
56432         b570769 Remove undefined behavior in OS X dumper.
56433         97211f3 Fix clipping of xwidgets
56434         e87fbc0 Improve Lisp-level documentation of tooltips
56435         9f1786e Faces names should not end in "-face".
56436         3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings.
56437         a1f221b Comint and compile no longer set EMACS
56438         5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2...
56439         a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
56440         c93ae7a Allow to customize names of executables used by grep.el
56441         f6497c6 Set locale encoding to UTF-8 when run from OS X GUI.
56442         7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt
56443         a3f1ac2 Avoid infinite loop in 'studlify-word'
56444         f36df4b Don’t recommend obsolete EMACS env var
56445         fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
56447 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
56449         Merge from origin/emacs-25
56451         96d9e78 Fix "Beginning of buffer" error in forward-page
56452         20686f7 Add a `transient' project type
56454 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
56456         Merge from origin/emacs-25
56458         80128a7 Fix stability confusion in sort-tests
56459         1e4aa42 Avoid describe-key error with lambdas
56460         a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag...
56461         f501116 Sync with gnulib
56462         c4963f9 Fix doc for Universal Time
56464 2016-04-10  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
56466         Fix alignement rule for CSS
56468         * lisp/align.el (align-rules-list): Support CSS properties that have
56469         multiple words.
56471 2016-04-10  Tassilo Horn  <tsdh@gnu.org>
56473         New custom option for overriding mailcap choices
56475         * lisp/net/mailcap.el (mailcap--get-user-mime-data): New function.
56476         (mailcap--set-user-mime-data): New function.
56477         (mailcap-user-mime-data): New customization option.
56478         (mailcap-select-preferred-viewer): New function.
56479         (mailcap-mime-info): Use it.
56481         * doc/misc/emacs-mime.texi (mailcap): Document `mailcap-user-mime-data'.
56483 2016-04-10  Michael Albinus  <michael.albinus@gmx.de>
56485         Fix Bug#23207
56487         * src/keyboard.c (read_char): Resume idle timers in case of
56488         dbus-event, file-notify-event and config-changed-event.
56489         Reported by Johan Claesson <johanclaesson@bredband.net>.  (Bug#23207)
56491 2016-04-09  Michael Albinus  <michael.albinus@gmx.de>
56493         Add vc-backend and vc-responsible-backend tests
56495         * lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop)
56496         (vc-file-clearprops): Use properties on absolute files.
56498         * test/lisp/vc/vc-tests.el (vc-test--unregister-function):
56499         Clear file properties.
56500         (vc-test--register): Add tests for `vc-backend' and
56501         `vc-responsible-backend'.  Catch other errors but `vc-not-supported'.
56502         (vc-test--state, vc-test--checkout-model): Catch other errors
56503         but `vc-not-supported'.
56504         (vc-test--working-revision): Fix test for RCS and SCCS.  Catch
56505         other errors but `vc-not-supported'.
56506         (vc-test-src02-state): Mark as an expected failure.
56508 2016-04-08  Paul Eggert  <eggert@cs.ucla.edu>
56510         Minor improvements for hash function primitives
56512         * src/fns.c (hashfn_eql): Define in terms of hashfn_equal and
56513         hashfn_eq rather than reaching inside them.
56514         (hashtest_eq, hashtest_eql, hashtest_equal):
56515         Now constants with initializers.
56516         (syms_of_fns): Omit no-longer-needed initialization.
56517         * src/lisp.h (LISPSYM_INITIALLY): New macro.
56518         (DEFINE_LISP_SYMBOL): Use it.
56520 2016-04-08  Paul Pogonyshev  <pogonyshev@gmail.com>
56522         New primitives sxhash-eq, sxhash-eql
56524         * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
56525         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
56526         Add sxhash-equal, sxhash-eq, sxhash-eql.
56527         * lisp/subr.el (sxhash): Now an alias for sxhash-equal.
56528         * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n
56530 2016-04-08  Eli Zaretskii  <eliz@gnu.org>
56532         Teach Dired support parallel execution of commands on MS-Windows
56534         * lisp/dired-aux.el (dired-shell-stuff-it): Support
56535         parallel-in-background execution of commands on MS-Windows.
56536         Test 'w32-shell-dos-semantics' instead of the underlying OS
56537         when determining whether addition of 'wait' is needed.
56539 2016-04-08  Tino Calancha  <f92capac@gmail.com>
56541         Make 'dired-do-shell-command' wait for all background jobs
56543         * lisp/dired-aux.el (dired-shell-stuff-it): Force POSIX shells to
56544         wait until all background jobs exit.  (Bug#23206).
56546 2016-04-07  Vivek Dasmohapatra  <vivek@etla.org>
56548         Prefer 'font-lock-face to 'face in erc where appropriate
56550         * lisp/erc/erc-button.el (erc-button-add-face): Prefer
56551         'font-lock-face to 'face where appropriate.
56552         * lisp/erc/erc-capab.el (erc-capab-identify-add-prefix)
56553         * lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output)
56554         * lisp/erc/erc-goodies.el (erc-controls-propertize)
56555         * lisp/erc/erc-stamp.el (erc-format-timestamp)
56556         * lisp/erc/erc-track.el (erc-faces-in)
56557         * lisp/erc/erc.el (erc-load-irc-script-lines, erc-display-msg)
56558         (erc-display-command, erc-make-notice, erc-highlight-notice)
56559         (erc-format-my-nick, erc-format-@nick, erc-format-privmessage)
56560         (erc-display-prompt, erc-display-message-highlight)
56561         (erc-log-irc-protocol): Ditto.
56563         * test/lisp/erc/erc-track-tests.el: Converted asserts into ert
56564         tests.
56566 2016-04-06  Lele Gaifax  <lele@metapensiero.it>
56568         Add new keywords of Python 3.5
56570         Python 3.5, released in mid September 2015, introduced a few new
56571         keywords to better support asynchronous code, "async" and "await"
56572         in particular. See https://www.python.org/dev/peps/pep-0492/ for
56573         details. (Bug#21783)
56574         * lisp/progmodes/python.el (python-rx-constituents): Add async
56575         def/for/with as block-start and async def as defun.
56576         * lisp/progmodes/python.el (python-font-lock-keywords): Add async
56577         def/for/with as keyword.
56578         * test/automated/python-tests.el (python-indent-after-async-block-1,
56579         python-indent-after-async-block-2, python-indent-after-async-block-3,
56580         python-nav-beginning-of-defun-3): New tests to test indentation and
56581         navigation for the async keyword.
56583 2016-04-05  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
56585         Support completion of at-rules in SCSS mode
56587         lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding
56588         SCSS-specific at-rules.
56589         (css--at-ids): New buffer-local variable holding the list of at-rules
56590         for the current mode.
56591         (css--complete-at-rule): Retrieve at-rules from `css--at-ids`.
56592         (scss-mode): Set `css--at-ids'.
56594 2016-04-05  Paul Eggert  <eggert@cs.ucla.edu>
56596         Enable GCC warnings in developer builds
56598         However, do not fail; just issue the warnings.  Add an option
56599         --enable-gcc-warnings=warn-only to configure, to implement this.
56600         * INSTALL, etc/NEWS: Document this.
56601         * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
56602         (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
56603         Don’t treat --with-x-toolkit=no as a special case when configuring
56604         warnings.
56606 2016-04-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56608         Inhibit querying for the encoding of the headers when resending
56610         * lisp/gnus/message.el (message-resend): Inhibit querying for
56611         the encoding of the headers when resending.
56613 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
56615         Prefer AUTO_STRING_WITH_LEN to make_formatted_string
56617         * src/buffer.c (Fgenerate_new_buffer_name):
56618         * src/filelock.c (get_boot_time):
56619         * src/minibuf.c (get_minibuffer):
56620         * src/process.c (make_process):
56621         * src/xdisp.c (ensure_echo_area_buffers):
56622         Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string
56623         when either will do.
56625 2016-04-04  Tao Fang  <fangtao0901@gmail.com>
56627         Allow URL using HTTPS proxies using CONNECT
56629         * lisp/url/url-http.el (url-http-find-free-connection): Allow
56630         using proxies (bug#11788).
56631         (url-http-end-of-document-sentinel): Ditto.
56632         (url-http): The protocol may change from http to https and
56633         vice versa.
56634         (url-https-proxy-connect): Allow using CONNECT proxies for https.
56636 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
56638         New C macro AUTO_STRING_WITH_LEN
56640         Put a bit less pressure on the garbage collector by defining a
56641         macro that is like AUTO_STRING but also allows null bytes in strings,
56642         and by extending AUTO_STRING to work with any unibyte string.
56643         * src/alloc.c (verify_ascii): Remove; all uses removed.
56644         AUTO_STRING can now be used on non-ASCII unibyte strings.
56645         * src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
56646         (AUTO_STRING_WITH_LEN): New macro.
56647         * src/coding.c (from_unicode_buffer):
56648         * src/editfns.c (format_time_string):
56649         * src/emacs-module.c (module_make_string, module_format_fun_env):
56650         * src/fileio.c (Fexpand_file_name):
56651         * src/font.c (font_parse_family_registry):
56652         * src/ftfont.c (ftfont_get_charset):
56653         * src/keymap.c (silly_event_symbol_error):
56654         * src/menu.c (single_menu_item):
56655         * src/sysdep.c (system_process_attributes):
56656         Use AUTO_STRING_WITH_LEN if possible.
56657         * src/emacs-module.c (module_make_function):
56658         * src/fileio.c (report_file_errno, report_file_notify_error):
56659         * src/fns.c (Flocale_info):
56660         * src/sysdep.c (system_process_attributes):
56661         Use AUTO_STRING if possible.  This is doable more often now
56662         that AUTO_STRING works on any unibyte string.
56664 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
56666         Port redirect-debugging-output to MS-Windows
56668         Suggested by Eli Zaretskii in:
56669         https://lists.gnu.org/r/emacs-devel/2016-04/msg00037.html
56670         * src/print.c [WINDOWSNT]: Include sys/socket.h.
56671         * src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2.
56673 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
56675         Port redirect-debugging-output to non-GNU/Linux
56677         Problem reported by Kylie McClain for musl in:
56678         https://lists.gnu.org/r/emacs-devel/2016-03/msg01592.html
56679         * etc/DEBUG, etc/NEWS: Mention this.
56680         * src/callproc.c (child_setup) [!MSDOS]:
56681         * src/dispnew.c (init_display):
56682         * src/emacs.c (main, Fdaemon_initialized):
56683         * src/minibuf.c (read_minibuf_noninteractive):
56684         * src/regex.c (xmalloc, xrealloc):
56685         Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
56686         to make file-descriptor manipulation easier to follow.
56687         * src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
56688         now that we make sure stdin, stdout and stderr are open.  All uses
56689         removed.
56690         (main): Make sure standard FDs are OK.  Prefer symbolic names like
56691         EXIT_FAILURE to magic numbers like 1.  Use bool for boolean.
56692         * src/lisp.h (init_standard_fds): New decl.
56693         * src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
56694         Remove; no longer needed.
56695         (Fredirect_debugging_output): Define on all platforms, not just
56696         GNU/Linux.  Redirect file descriptor, not stream, so that the code
56697         works even if stderr is not an lvalue.  Report an error if the
56698         file arg is neither a string nor nil.
56699         (syms_of_print): Always define redirect-debugging-output.
56700         * src/sysdep.c (force_open, init_standard_fds): New functions.
56702 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
56704         Spelling fixes
56706 2016-04-03  John Wiegley  <johnw@newartisans.com>
56708         Revert "Add `r'/`l' grep command history commands"
56710         This reverts commit a32eea60ac90d367435860fe3a10bf843e6f497c.
56712 2016-04-03  John Wiegley  <johnw@newartisans.com>
56714         Revert "Restore the point in grep buffers when traversing the history"
56716         This reverts commit f7c5f79ca565d3ef3feeb1e0af5ca261f1bcf58a.
56718 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
56720         Merge from origin/emacs-25
56722         787df9d ; * src/keyboard.c (read_char): Fix typos in a comment.
56724 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
56726         Merge from origin/emacs-25
56728         b787d55 More format-time-string change fixups
56729         13c8f29 make-xwidget unused arg cleanup
56730         36e05f0 Remove unused arguments from make-xwidget
56731         1042217 Document incompatible changes in 'format-time-string'
56732         7228eb8 Improve documentation of byte-code objects
56733         0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
56734         17b5152 Improve vc-diff with Git backend
56735         c28f87a (js--continued-expression-p): Special-case unary plus and minus
56736         2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
56737         9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
56738         b3b523c Avoid crashes due to insanely large columns in tabulated-list...
56739         a3daa34 Teach M-x disassemble a default argument.
56740         e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
56741         df441b3 Fix OS X specific settings in tramp-tests
56742         2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09)
56744         # Conflicts:
56745         #       lisp/net/tramp-sh.el
56746         #       lisp/progmodes/cc-engine.el
56748 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56750         Restore the point in grep buffers when traversing the history
56752         * lisp/progmodes/grep.el (grep-process-setup): Allow moving
56753         point to a specific place after finishing the grep command.
56754         (grep-mode): Use it to restore point after traversing the history.
56755         (grep--history-point): New internal variable.
56756         (grep--save-history, grep-forward-history): Use it to restore
56757         the point.
56759 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
56761         Add `r'/`l' grep command history commands
56763         * doc/emacs/building.texi (Grep Searching): Mention the
56764         `r'/`l' commands.
56766         * lisp/progmodes/grep.el (grep-forward-history): New command.
56767         (grep-backward-history): Ditto.
56768         (grep--save-buffers): New function.
56769         (grep): Use it to record the history.
56770         (grep--command-history, grep--history-inhibit)
56771         (grep--history-place): New internal variables for the grep
56772         history (bug#22627).
56774 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
56776         Fix Bug#23186, again
56778         * lisp/net/tramp.el (tramp-encoding-shell)
56779         (tramp-encoding-command-switch)
56780         (tramp-encoding-command-interactive): Check for
56781         `w32-shell-name'.  (Bug#23186)
56783 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
56785         Fix Bug#23186
56787         * lisp/net/tramp.el (tramp-encoding-command-switch)
56788         (tramp-encoding-command-interactive):
56789         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
56790         `tramp-encoding-shell' could be nil.  (Bug#23186)
56792 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
56794         Fix Bug#22145
56796         * lisp/net/tramp-cache.el (tramp-get-connection-property)
56797         (tramp-set-connection-property, tramp-connection-property-p)
56798         (tramp-flush-connection-property): Improve docstring.
56800         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
56802         * lisp/net/tramp.el (tramp-get-local-locale): New defun.
56804         * test/automated/tramp-tests.el (tramp--test-utf8):
56805         Improve settings of coding systems.  (Bug#22145)
56807 2016-04-02  John Wiegley  <johnw@newartisans.com>
56809         Merge from origin/emacs-25
56811         7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer...
56812         9034c50 * doc/man/emacsclient.1: Document +line:column option.
56813         06495c9 Fix rare problems with echo-area display and multiple frames
56814         f99b512 In M-%, avoid making buffer-local binding of text-property-de...
56816 2016-04-02  John Wiegley  <johnw@newartisans.com>
56818         Merge from origin/emacs-25
56820         e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec.
56821         c8b868b Don't start the 'midnight' timer twice
56822         278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X...
56823         e5c17f4 Fix todo-mode category movement
56824         bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version.
56825         cf40f38 Ignore non-nil. non-cons values of unread-command-events
56826         8ee4c52 Improve documentatuon of 'truncate-partial-width-windows'
56827         fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU...
56828         1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired
56829         3a13472 Fix map-put and map-delete for alists (Bug#23105)
56830         422c3da Minor copyedits of documentation for temporary displays
56831         90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse
56832         f14d463 Minor doc string fixes in replace.el
56833         e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url'
56834         44782de Fix display of Indic scripts
56835         326c64f Fix splash screen display at startup
56836         7ab2a97 ; In NEWS mention new display of minibuffer completions window
56837         a1cd84c Describe temporary displays in Emacs manual
56838         5ec1056 Avoid stray As next to IDLW icons
56839         45577d5 Avoid GTK 3 crash with icons and masks
56840         e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi...
56841         077b78c Define make_save_ptr_ptr unconditionally
56842         20a1003 Preserve current buffer when popping up TTY menus
56843         7eba90c Improve font selection by family on MS-Windows
56844         73d213f Comint, term, and compile now set EMACS
56845         9524ec5 Ignore more merges when generating ChangeLog
56846         ad250f2 Sync with gnulib
56847         c0165ea Resurrect GNUS-NEWS autogeneration
56848         1e5327c ; Backport ChangeLog.2 fixes from master
56849         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
56850         38a43f1 Fix bug in displaying header line with a box face
56851         91e6676 Fix an Isearch var to be a string (Bug#23038)
56852         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
56853         8a35f83 Render empty <ul><li><ul> correctly
56854         d8b2ce5 Ignore invalid base64 encoded embedded images
56855         52ba24b Fix <p> and <div> newlines with or without <li> in shr
56856         b8ea08b Avoid errors in 'newline'
56857         fc3cd53 Fix Bug#23032
56858         dd2737b Adjudicate review comments in abbrevs.texi
56859         26f9c50 Fixup the "normal" matcher; highlight global var symbols, too
56860         413e73b ; Small theme additions
56861         cd950da Honor prefix arg in doc-view-next-line-or-next-page
56862         ed909c0 ; Spelling fixes
56863         6da3a6d Port to strict C99 offsetof
56864         de7601f Port to GTK with strict C11 compiler
56865         658aa2d Port to GTK with strict C99 compiler
56866         1df7173 Avoid screen artifacts with new OS X visible bell after scrol...
56867         7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
56868         dca240a Suppress some Tramp tests for OSX, do not merge with master
56869         9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo...
56870         cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
56871         005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare.
56872         9ab03f2 ; Auto-commit of loaddefs files.
56873         56df617 Address compilation warnings due to 2016-01-03 mml refactoring.
56874         a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i...
56875         79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes...
56876         253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined...
56877         ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
56878         d6d164f Avoid segfaults due to frame image cache being absent
56879         bc7f6f6 Improve documentation of glyphless-character display
56880         6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments.
56881         ee9a1f7 Support safe navigation operator in non-SMIE indentation code
56882         c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1
56883         2036be4 Fix Ruby's operator precedence
56884         1d686c2 (ruby-interpolation-inside-another-interpolation): New failin...
56885         7950e1d Port to clang 3.7.0 on x86-64
56886         218ae59 * test/automated/package-test.el (package-test-signed): Tweak...
56887         ba33b7c Sync with gnulib
56888         38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP
56889         dbfbedd Do not tokenize a comment before continuation as ';'
56890         0403620 Don't misindent arguments of a method call inside continuation
56891         e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec...
56892         8475f3d ASCII-only etc/NEWS etc.
56893         5cc6919 Fix a cacheing bug, which led to inordinately slow c-beginnin...
56894         0ce37ea Fix Isearch prompt when invoked with an argument
56895         f3033d4 Fix a typo in the Emacs manual
56896         4235d2d Curved quotes in etc/NEWS etc.
56897         26b56dc Fix some single quotes in documentation
56898         80ec484 Make lisp-completion-at-point's argument optional
56899         9d463ae Tweak the left precedence of '=>'
56900         5b705bc Indent '.' relative to the first sibling expression
56901         04f5525 Make '.' associative, for easier sexp navigation
56902         ba24c99 Revert "Simplify "Visit New File" to "New File""
56904 2016-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
56906         * lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler
56908         Use #' to quote functions.
56909         (erc-server-delayed-reconnect): Remove unused arg `event'.
56910         (erc-process-sentinel-2): Adjust accordingly.
56911         Don't pass `err' to condition-case if we don't use it.
56912         (define-erc-response-handler): Use add-hook rather than add-to-list.
56913         (NICK): Use cl-pushnew rather than add-to-list.
56914         (331): Remove unused var `topic'.
56915         (352): Remove unused var `hopcount'.
56917 2016-04-02  Paul Pogonyshev  <pogonyshev@gmail.com>
56919         Support macros in 'func-arity'
56921         * src/eval.c (Ffunc_arity): Support Lisp macros as well.
56923 2016-04-02  Andy Moreton  <andrewjmoreton@gmail.com>
56925         Fix compilation of Cygwin w32 port
56927         * src/w32xfns.c (init_crit, delete_crit) [HAVE_W32NOTIFY]: Only
56928         initialize and free the notification set if compiling with
56929         w32notify feature.
56931 2016-04-01  Paul Eggert  <eggert@penguin.cs.ucla.edu>
56933         Fix resize incompatibility with GTK+ master
56935         Problem reported by Matthias Clasen (Bug#23144).
56936         * src/xterm.c (handle_one_xevent) [USE_GTK]:
56937         Do not call xg_frame_resized.
56939 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
56941         Fix check for subscript errors in module calls
56943         * src/emacs-module.c (check_vec_index): New function.
56944         (module_vec_set, module_vec_get): Use it instead of a
56945         not-strict-enough check.
56947 2016-03-31  Simen Heggestøyl  <simenheg@gmail.com>
56949         Support completion of bang-rules in CSS mode
56951         lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
56952         holding the list of bang-rules for the current mode.
56953         (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
56954         instead of computing them.
56955         (css--complete-bang-rule): New function for completing a bang-rule.
56956         (css-completion-at-point): Add support for completing bang-rules.
56957         (scss-font-lock-keywords): Change from a variable to a function in
56958         order to recompute `css--font-lock-keywords' when `css--bang-ids' has
56959         changed.
56960         (scss-mode): Set `css--bang-ids' and recompute font-lock keywords.
56962 2016-03-30  Simen Heggestøyl  <simenheg@gmail.com>
56964         Add HTML4 tags to HTML mode
56966         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML4 tags.
56967         (html-tag-help): Add short descriptions of those tags.
56969 2016-03-29  Paul Eggert  <eggert@cs.ucla.edu>
56971         Pacify --enable-gcc-warnings for buffer-hash etc.
56973         * src/fns.c (make_digest_string): Now static.
56974         (secure_hash): Omit unused local.
56976 2016-03-29  Oleh Krehel  <ohwoeowho@gmail.com>
56978         Add support for 7z archives
56980         * lisp/dired-aux.el (dired-compress-file-suffixes): "Z" should now
56981           also work with 7z archives.
56983         The shell command should produce a single extracted directory named
56984         after the archive's name.
56986         In case the extracted directory exists, all files will be overwritten
56987         without a prompt. This matches the expected behavior with the "tar.gz"
56988         archives.
56990 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
56992         * lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra
56994 2016-03-29  Michael Albinus  <michael.albinus@gmx.de>
56996         Fix typo in network-stream-tests.el
56998         * test/lisp/net/network-stream-tests.el
56999         (connect-to-tls-ipv6-nowait): Fix typo.
57001 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
57003         New function seq-sort-by in seq.el
57005         * lisp/emacs-lisp/seq.el (seq-sort-by): New function.
57006         * test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
57007         * doc/lispref/sequences.texi: Add documentation for seq-sort-by.
57009 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57011         Mention the `M-q' changes
57013 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57015         Have `M-q' not mark buffers are changed when they haven't
57017         * lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash'
57018         to avoid marking buffers as changed when they haven't.
57020 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57022         Add a new function `buffer-hash'
57024         * doc/lispref/text.texi (Checksum/Hash): Document `buffer-hash'.
57026         * src/fns.c (Fbuffer_hash): New function.
57027         (make_digest_string): Refactored out into its own function.
57028         (secure_hash): Use it.
57030         * test/src/fns-tests.el (fns-tests-hash-buffer): New tests.
57032 2016-03-27  Paul Eggert  <eggert@cs.ucla.edu>
57034         Rename C names to match Lisp symbols better
57036         This was inspired by commit e65c3079c65595d95749348366af9811fafff062,
57037         which fixed a bug where the C name for a symbol disagreed with the
57038         symbol name itself.  Fix other instances of disagreements that I found.
57039         Although this doesn’t fix a bug, it should make code easier to follow.
57040         The remaining disagreements are idiosyncratic: Qminus, Qplus,
57041         Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot.
57042         All uses changed.
57043         * src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc.
57044         * src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus.
57045         (QCsession): Rename from QCdbus_session_bus.
57046         (QCtimeout): Rename from QCdbus_timeout.
57047         (QCbyte): Rename from QCdbus_type_byte.
57048         (QCboolean): Rename from QCdbus_type_boolean.
57049         (QCint16): Rename from QCdbus_type_int16.
57050         (QCuint16): Rename from QCdbus_type_uint16.
57051         (QCint32): Rename from QCdbus_type_int32.
57052         (QCuint32): Rename from QCdbus_type_uint32.
57053         (QCint64): Rename from QCdbus_type_int64.
57054         (QCuint64): Rename from QCdbus_type_uint64.
57055         (QCdouble): Rename from QCdbus_type_double.
57056         (QCstring): Rename from QCdbus_type_string.
57057         (QCobject_path): Rename from QCdbus_type_object_path.
57058         (QCsignature): Rename from QCdbus_type_signature.
57059         (QCunix_fd): Rename from QCdbus_type_unix_fd.
57060         (QCarray): Rename from QCdbus_type_array.
57061         (QCvariant): Rename from QCdbus_type_variant.
57062         (QCstruct): Rename from QCdbus_type_struct.
57063         (QCdict_entry): Rename from QCdbus_type_dict_entry.
57064         (QCserial): Rename from QCdbus_registered_serial.
57065         (QCmethod): Rename from QCdbus_registered_method.
57066         (QCsignal): Rename from QCdbus_registered_signal.
57067         * src/emacs-module.c (Qinternal__module_call):
57068         Rename from Qinternal_module_call.
57069         * src/frame.c (Qwindow__pixel_to_total):
57070         Rename from Qwindow_pixel_to_total.
57071         * src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname.
57072         (QCpriority): Rename from QCgnutls_bootprop_priority.
57073         (QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles.
57074         (QCkeylist): Rename from QCgnutls_bootprop_keylist.
57075         (QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles.
57076         (QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits.
57077         (QCloglevel): Rename from QCgnutls_bootprop_loglevel.
57078         (QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation.
57079         (QCverify_flags): Rename from QCgnutls_bootprop_verify_flags.
57080         (QCverify_error): Rename from QCgnutls_bootprop_verify_error.
57081         * src/w32fns.c (Qfont_parameter): Rename from Qfont_param.
57082         (Qgnutls): Rename from Qgnutls_dll.
57083         (Qlibxml2): Rename from Qlibxml2_dll.
57084         (Qzlib): Rename from Qzlib_dll.
57085         * src/w32select.c (Qutf_16le_dos): Rename from QUNICODE.
57086         * src/window.c (Qwindow__resize_root_window):
57087         Rename from Qwindow_resize_root_window.
57088         (Qwindow__resize_root_window_vertically):
57089         Rename from Qwindow_resize_root_window_vertically.
57090         (Qwindow__sanitize_window_sizes):
57091         Rename from Qwindow_sanitize_window_sizes.
57092         (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total.
57093         * src/xdisp.c (Qredisplay_internal_xC_functionx):
57094         Rename from Qredisplay_internal.
57095         * src/xfns.c (Qfont_parameter): Rename from Qfont_param.
57096         * src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP.
57098 2016-03-26  Paul Eggert  <eggert@cs.ucla.edu>
57100         func-arity minor improvements
57102         * src/bytecode.c (get_byte_code_arity): Omit unnecessary
57103         runtime test for integer argument, unless debugging.
57104         Use EMACS_INT for Emacs integers.
57105         * src/eval.c (Ffunc_arity): Omit unused locals.
57106         Avoid side effects in ‘if’ expr.
57107         (lambda_arity): Use bool for boolean, and EMACS_INT for Emacs ints.
57109 2016-03-26  John Wiegley  <johnw@newartisans.com>
57111         Restore the fix to bug#18527 from commit d6868025
57113 2016-03-26  Martin Rudalics  <rudalics@gmx.at>
57115         Safely run window size change functions
57117         * src/window.c (run_window_size_change_functions): Use
57118         safe_call1 when running a size change function.
57119         (grow_mini_window, shrink_mini_window): Report error when
57120         minibuffer window cannot be resized.
57122 2016-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
57124         Implement 'func-arity'
57126         * src/eval.c (Ffunc_arity, lambda_arity): New functions.
57127         * src/bytecode.c (get_byte_code_arity): New function.
57128         * src/lisp.h (get_byte_code_arity): Add prototype.
57130         * doc/lispref/functions.texi (What Is a Function): Document
57131         'func-arity'.
57133         * etc/NEWS: Mention 'func-arity'.
57135         * test/src/fns-tests.el (fns-tests-func-arity): New test set.
57137 2016-03-25  Alan Mackenzie  <acm@muc.de>
57139         Fix absence of c-noise-macro-name-re, etc., in languages which don't use it
57141         * lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type)
57142         (c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header)
57143         (c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at'
57144         c-noise-macro-with-parens-name-re.
57146         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for
57147         cc-engine.el.
57149         * lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to
57150         `c-make-noise-macro-regexps'.
57151         (c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'.
57153         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
57154         (c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil.
57156 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57158         (shr-insert): Respect non-breaking space in non-<pre> text
57160         * lisp/net/shr.el (shr-insert): Respect non-breaking space in
57161         non-<pre> text.
57163 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57165         parse-times-string doc string clarification
57167         * lisp/calendar/parse-time.el (parse-time-string): Note that
57168         we accept RFC2822 strings.
57170 2016-03-25  Marcin Borkowski  <mbork@mbork.pl>
57172         Doc string fix
57174         * lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
57175         doc string and clean up code.
57177 2016-03-25  Michael Albinus  <michael.albinus@gmx.de>
57179         Cleanup file notification code in Tramp
57181         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
57182         Make `events' a list of symbols for "inotifywait".
57183         (tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
57184         Call `file-notify-handle-event' for better traces.
57185         (tramp-sh-inotifywait-process-filter): Check for expected events.
57186         Call `file-notify-handle-event' for better traces.
57188 2016-03-24  Michael Albinus  <michael.albinus@gmx.de>
57190         Adapt filenotify-tests.el according latest tests
57192         * test/lisp/filenotify-tests.el (file-notify-test02-events)
57193         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
57194         Remove superfluous `read-event' calls.
57195         (file-notify-test02-events): Expect different events under MS
57196         Windows 7 and 10.
57197         (file-notify-test04-file-validity): Move `file-notify-valid-p'
57198         check up.
57200 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
57202         Merge from origin/emacs-25
57204         ad250f2 Sync with gnulib
57205         c0165ea Resurrect GNUS-NEWS autogeneration
57207         # Conflicts:
57208         #       etc/GNUS-NEWS
57209         #       lisp/Makefile.in
57211 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
57213         Merge from origin/emacs-25
57215         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
57216         38a43f1 Fix bug in displaying header line with a box face
57218 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
57220         * etc/NEWS: Use straight quotes.
57222 2016-03-23  Simen Heggestøyl  <simenheg@gmail.com>
57224         Support completion of attribute values in CSS mode
57226         * lisp/textmodes/css-mode.el (css-property-alist): New defconst
57227         holding CSS identifiers and the values they can have.
57228         (css-property-ids): Compute dynamically from `css-property-alist'.
57229         (css-value-class-alist): New defconst holding property value classes
57230         and their values.
57231         (css--property-value-cache): New variable providing a cache for
57232         `css--property-values'.
57233         (css--value-class-lookup): New function for computing a list of values
57234         in a value class.
57235         (css--property-values): New function for computing a list of possible
57236         values for a CSS property.
57237         (css--complete-property-value): New function for completing a property
57238         value.
57239         (css-completion-at-point): Add support for completing property values.
57240         * test/lisp/textmodes/css-mode-tests.el: New file.
57242 2016-03-22  Wilson Snyder  <wsnyder@wsnyder.org>
57244         Sync with verilog-mode development tree.
57246         * lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
57247         verilog-speedbar-initialize): Automatically add verilog-mode
57248         extensions when in speedbar mode, bug1045, bug1046.  Reported by
57249         David Shleifman.
57250         (verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
57251         avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
57252         (verilog-read-always-signals-recurse): Fix :: notation for
57253         auto-reset signals.  Reported by Andrew Jones.
57254         (verilog-font-lock-grouping-keywords-face): Fix highlighting of
57255         grouping keywords, bug1002. Reported by Paul Sargent.
57256         (verilog-save-font-no-change-functions): Commentary and fix
57257         pre-Emacs 21 behavior.
57259 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
57261         Compute a better commit message for merges
57263         Problem reported by David Engster in:
57264         https://lists.gnu.org/r/emacs-devel/2016-03/msg01270.html
57265         * admin/gitmerge.el (gitmerge-commit-message):
57266         Truncate the computed commit message to at most 72 characters per line.
57267         (gitmerge-maybe-resume): Don’t use "-" as the commit message for
57268         merges; use the computed commit message instead.
57270 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
57272         * admin/gitmerge.el (gitmerge-skip-regexp): Add "no need to merge".
57274 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
57276         Change do-not-merge pattern to "do not merge"
57278         This should avoid the problem we recently had with
57279         automatically-generated merge messages, while still letting people
57280         specify commits not to merge.
57281         * admin/gitmerge.el (gitmerge-skip-regexp): Add "do not merge".
57282         (gitmerge-highlight-skip-regexp): Fold case when searching
57283         for gitmerge-skip-regexp.
57285 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
57287         Merge from origin/emacs-25
57289         91e6676 Fix an Isearch var to be a string (Bug#23038)
57290         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
57292 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
57294         -
57296         -
57298 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
57300         Keep "merge" commits by default in gitmerge
57302         * admin/gitmerge.el (gitmerge-skip-regexp): Omit "merge", as it
57303         causes false positives.  See:
57304         https://lists.gnu.org/r/emacs-devel/2016-03/msg01234.html
57306 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
57308         Assume NON_BLOCKING_CONNECT (Bug#22946)
57310         * lisp/proced.el (proced-signal-list): Omit comment about
57311         obsolete systems that do not support POSIX 1003.1-2001 signals.
57312         * src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
57313         assume POSIX 1003.1-2001 or better here.  Assume it’s defined.
57314         (connect_network_socket): Assume EINPROGRESS is defined,
57315         as that’s portable too now.
57316         (Fmake_network_process): Use bool for boolean.
57318 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
57320         Fix problems caused by new implementation of sub-word mode
57322         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
57323         New functions.
57324         (word-move-empty-char-table): New variable.
57326         * etc/NEWS: Mention 'forward-word-strictly' and
57327         'backward-word-strictly'.
57329         * doc/lispref/positions.texi (Word Motion): Document
57330         'find-word-boundary-function-table', 'forward-word-strictly', and
57331         'backward-word-strictly'.  (Bug#22560)
57333         * src/syntax.c (syms_of_syntax)
57334         <find-word-boundary-function-table>: Doc fix.
57336         * lisp/wdired.el (wdired-xcase-word):
57337         * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
57338         (texinfo-copy-section-title, texinfo-start-menu-description)
57339         (texinfo-copy-menu-title, texinfo-specific-section-type)
57340         (texinfo-insert-node-lines, texinfo-copy-next-section-title):
57341         * lisp/textmodes/texinfo.el (texinfo-clone-environment)
57342         (texinfo-insert-@end):
57343         * lisp/textmodes/texinfmt.el (texinfo-format-scan)
57344         (texinfo-anchor, texinfo-multitable-widths)
57345         (texinfo-multitable-item):
57346         * lisp/textmodes/tex-mode.el (latex-env-before-change):
57347         * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
57348         * lisp/skeleton.el (skeleton-insert):
57349         * lisp/simple.el (count-words):
57350         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
57351         (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
57352         (vhdl-update-sensitivity-list, vhdl-template-block)
57353         (vhdl-template-break, vhdl-template-case, vhdl-template-default)
57354         (vhdl-template-default-indent, vhdl-template-for-loop)
57355         (vhdl-template-if-then-use, vhdl-template-bare-loop)
57356         (vhdl-template-nature, vhdl-template-procedural)
57357         (vhdl-template-process, vhdl-template-selected-signal-asst)
57358         (vhdl-template-type, vhdl-template-variable)
57359         (vhdl-template-while-loop, vhdl-beginning-of-block)
57360         (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
57361         * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
57362         (verilog-forward-sexp, verilog-beg-of-statement)
57363         (verilog-set-auto-endcomments, verilog-backward-token)
57364         (verilog-do-indent):
57365         * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
57366         (vera-indent-block-closing):
57367         * lisp/progmodes/simula.el (simula-context)
57368         (simula-backward-up-level, simula-forward-down-level)
57369         (simula-previous-statement, simula-next-statement)
57370         (simula-skip-comment-backward, simula-calculate-indent)
57371         (simula-find-if, simula-electric-keyword):
57372         * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
57373         * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
57374         (ruby-smie--forward-token, ruby-smie--backward-token)
57375         (ruby-singleton-class-p, ruby-calculate-indent)
57376         (ruby-forward-sexp, ruby-backward-sexp):
57377         * lisp/progmodes/ps-mode.el (ps-run-goto-error):
57378         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
57379         (perl-syntax-propertize-special-constructs)
57380         (perl-backward-to-start-of-continued-exp):
57381         * lisp/progmodes/pascal.el (pascal-indent-declaration):
57382         * lisp/progmodes/octave.el (octave-function-file-p):
57383         * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
57384         * lisp/progmodes/js.el (js--forward-function-decl):
57385         * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
57386         (idlwave-beginning-of-block, idlwave-end-of-block)
57387         (idlwave-block-jump-out, idlwave-determine-class):
57388         * lisp/progmodes/icon.el (icon-is-continuation-line)
57389         (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
57390         * lisp/progmodes/hideif.el (hide-ifdef-define):
57391         * lisp/progmodes/f90.el (f90-change-keywords):
57392         * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
57393         (cperl-linefeed, cperl-electric-terminator)
57394         (cperl-find-pods-heres, cperl-fix-line-spacing)
57395         (cperl-invert-if-unless):
57396         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
57397         * lisp/progmodes/cc-align.el (c-lineup-java-inher):
57398         * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
57399         (ada-adjust-case-skeleton, ada-create-case-exception)
57400         (ada-create-case-exception-substring)
57401         (ada-case-read-exceptions-from-file, ada-after-keyword-p)
57402         (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
57403         (ada-get-indent-if, ada-get-indent-block-start)
57404         (ada-get-indent-loop, ada-get-indent-type)
57405         (ada-search-prev-end-stmt, ada-check-defun-name)
57406         (ada-goto-decl-start, ada-goto-matching-start)
57407         (ada-goto-matching-end, ada-looking-at-semi-or)
57408         (ada-looking-at-semi-private, ada-in-paramlist-p)
57409         (ada-search-ignore-complex-boolean, ada-move-to-start)
57410         (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
57411         * lisp/net/quickurl.el (quickurl-grab-url):
57412         * lisp/mail/sendmail.el (mail-do-fcc):
57413         * lisp/mail/rmail.el (rmail-resend):
57414         * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
57415         * lisp/mail/mail-extr.el (mail-extract-address-components):
57416         * lisp/json.el (json-read-keyword):
57417         * lisp/files.el (insert-directory):
57418         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
57419         * lisp/completion.el (symbol-under-point, symbol-before-point)
57420         (symbol-before-point-for-complete, next-cdabbrev)
57421         (add-completions-from-c-buffer):
57422         * lisp/cedet/semantic/texi.el (semantic-up-context)
57423         (semantic-beginning-of-context):
57424         * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
57425         use 'forward-word-strictly' and 'backward-word-strictly' instead
57426         of 'forward-word' and 'backward-word'.
57428         [This reapplies commit c1d32a65372c72d7de4808d620eefd3214a8e92a,
57429         which was inadvertently lost by merge commit
57430         c71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5.]
57432 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
57434         * etc/TODO: Minor quoting and grammar fixes.
57436         [This reapplies commit 433407d8230a8a256b26c6c7615d3921b43f59ce,
57437         which was inadvertently lost by merge commit
57438         5ab243f40e4db91586ff74b01a775a5218a1d5be.]
57440 2016-03-21  Alan Mackenzie  <acm@muc.de>
57442         Don't confuse "::" with ":" when trying to parse member initializers.
57444         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
57445         more robustly for ":" token when searching backwards for it.
57447         * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New
57448         language variable.
57450         [This reapplies commit 9e5452f7166e3634f2d8e943815ed722e1672714,
57451         which was inadvertently lost by merge commit
57452         7823745acbe9b87eea2db4ef434e379fc903ec35.]
57454 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
57456         Ensure positive number of glyphs for margins of positive width
57458         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
57459         positive value when a non-zero width of the marginal area was
57460         requested.  (Bug#22356)
57462         [This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9,
57463         which was inadvertently lost by merge commit
57464         7823745acbe9b87eea2db4ef434e379fc903ec35.]
57466 2016-03-21  Alan Mackenzie  <acm@muc.de>
57468         In comment-dwim with style `extra-line', respect indent-tabs-mode.
57470         This fixes bug #22369.
57472         * lisp/newcomment.el (comment-make-bol-ws): New function.
57473         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
57475         [This reapplies commit 016b3d5894b8c424eab262aeefc646c6cd03a70a,
57476         which was inadvertently lost by merge commit
57477         7823745acbe9b87eea2db4ef434e379fc903ec35.]
57479 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
57481         Merge doc fixes for 'random' lost in previous merge
57483         [This reapplies part of commit
57484         3ffe81e245d854a694ae1734f1b6a995bdc5e724,
57485         which was inadvertently lost by merge commit
57486         7823745acbe9b87eea2db4ef434e379fc903ec35.]
57487         (Bug#22202)
57489 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
57491         Unhide the --no-line-directive option to 'etags'
57493         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
57494         option.  (Bug#22306)
57496         * doc/man/etags.1: Document the --no-line-directive option.
57498         [This reapplies commit fee0526a189f43e8470d78e8374bd425890fbe6f,
57499         which was inadvertently lost by merge commit
57500         7823745acbe9b87eea2db4ef434e379fc903ec35.]
57502 2016-03-21  Alan J Third  <alan@idiocy.org>  (tiny change)
57504         Fix picture-mode wrt double-width characters
57506         * lisp/textmodes/picture.el (picture-insert): Check the width of
57507         the character being replaced, not just that of the replacement.
57508         (Bug#1808)
57510         [This reapplies commit b70dba4e18514411ed38b5bbb846558158842ace,
57511         which was inadvertently lost by merge commit
57512         7823745acbe9b87eea2db4ef434e379fc903ec35.]
57514 2016-03-20  Martin Rudalics  <rudalics@gmx.at>
57516         Resurrect earlier fix of resize_frame_windows
57518         * src/window.c (resize_frame_windows): Resurrect earlier fix for
57519         calculating the number of columns of the minibuffer window which
57520         was lost in subsequent merges.
57522 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57524         Move the cert files to the data directory
57526 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57528         Further empty <li> tweaks
57530         * lisp/net/shr.el (shr-tag-li): When showing several empty
57531         <li> elements, ensure that they really get inserted on a new line.
57533 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57535         Don't remove too much white space at the end of documents
57537         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't
57538         remove too much white space -- leave it on the last line (in
57539         case there's a background color).
57541 2016-03-20  Alan Mackenzie  <acm@muc.de>
57543         Amend parse-partial-sexp correctly to handle two character comment delimiters
57545         Do this by adding a new field to the parser state: the syntax of the last
57546         character scanned, should that be the first char of a (potential) two char
57547         construct, nil otherwise.
57548         This should make the parser state complete.
57549         Also document element 9 of the parser state.  Also refactor the code a bit.
57551         * src/syntax.c (struct lisp_parse_state): Add a new field.
57552         (SYNTAX_FLAGS_COMSTARTEND_FIRST): New function.
57553         (internalize_parse_state): New function, extracted from scan_sexps_forward.
57554         (back_comment): Call internalize_parse_state.
57555         (forw_comment): Return the syntax of the last character scanned to the caller
57556         when that character might be the first of a two character construct.
57557         (Fforward_comment, scan_lists): New dummy variables, passed to forw_comment.
57558         (scan_sexps_forward): Remove a redundant state parameter.  Access all `state'
57559         information via the address parameter `state'.  Remove the code which converts
57560         from external to internal form of `state'.  Access buffer contents only from
57561         `from' onwards.  Reformulate code at the top of the main loop correctly to
57562         recognize comment openers when starting in the middle of one.  Call
57563         forw_comment with extra argument (for return of syntax value of possible first
57564         char of a two char construct).
57565         (Fparse_partial_sexp): Document elements 9, 10 of the parser state in the
57566         doc string.  Clarify the doc string in general.  Call
57567         internalize_parse_state.  Take account of the new elements when consing up the
57568         output parser state.
57570         * doc/lispref/syntax.texi: (Parser State): Document element 9 and the new
57571         element 10.  Minor wording corrections (remove reference to "trivial
57572         cases").
57573         (Low Level Parsing): Minor corrections.
57575         * etc/NEWS: Note new element 10, and documentation of element 9 of parser
57576         state.
57578 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57580         Allow the shr test files to have trailing blank space.
57582         * .gitattributes: Allow the shr test files to have trailing
57583         blank space.
57585 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57587         Add tests for empty <ul><li>
57589 2016-03-20  Paul Eggert  <eggert@cs.ucla.edu>
57591         * src/alloc.c (purecopy): Use AUTO_STRING.
57593 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57595         Ignore invalid base64 encoded embedded images
57597         * lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
57598         encoded embedded images (bug#22928).
57600 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57602         Render empty <ul><li><ul> correctly
57604         * lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
57605         correctly (bug#22964).
57607 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57609         Fix <p> and <div> newlines with or without <li> in shr
57611         * lisp/net/shr.el (shr-ensure-newline): Respect that we're in
57612         a <li>, if we are, and don't insert newlines there.
57613         (shr-ensure-paragraph): When mixing newlines and paragraph
57614         ensurements, don't insert too many blank lines.
57615         (shr-tag-div): A <div> shouldn't introduce a paragraph, but a
57616         new line.
57618 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57620         Add more shr HTML rendering tests
57622         Add a test harness for shr HTML rendering and one test
57624 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57626         Remove code left over from when overlays were used for padding
57628         * lisp/net/shr.el (shr-previous-newline-padding-width): Remove.
57629         (shr-remove-trailing-whitespace): Ditto.
57630         (shr-insert-document): Don't call them.
57632 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57634         Remove trailing blank lines in shr
57636         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
57637         (shr-insert-document): Use it to remove trailing blank lines
57638         at the end of documents, since these never seem to be very useful.
57640 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57642         Don't bug out on nil `patch-buf' arguments
57644         * lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil
57645         `patch-buf' arguments.
57647 2016-03-20  Ernest Adrogué  <nfdisco@gmail.com>
57649         Add a Catalan language environment
57651         * lisp/international/mule-cmds.el (locale-language-names): Map locale
57652           language name `ca' to language environment `Catalan'.
57654         * lisp/language/european.el: Add definition of language
57655         environment for the Catalan language.
57657         * lisp/leim/quail/latin-pre.el: Add quail rule to the
57658         `catalan-prefix' input method to support input of middle dot
57659         characters through composition (bug#18279).
57661 2016-03-19  Paul Eggert  <eggert@cs.ucla.edu>
57663         No need to block input when reading directories
57665         * src/dired.c: Don’t include blockinput.h.
57666         (open_directory, directory_files_internal_unwind)
57667         (directory_files_internal, file_attributes):
57668         Don’t block input here, as the reasons for blocking input should
57669         no longer apply.  See blockinput.h FIXME.  (Bug#22996).
57671 2016-03-19  Oscar Fuentes  <ofv@wanadoo.es>
57673         * lisp/vc/vc-hooks.el: Fix typo
57675 2016-03-19  Fabrice Popineau  <fabrice.popineau@gmail.com>
57677         Improve w32notify notifications
57679         * src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro.
57680         (struct notification): 'terminate' is now a HANDLE.
57681         (send_notifications): Argument is now a pointer to a
57682         notification.  Don't loop waiting for the notification to be
57683         acknowledged by the main thread; instead, just add the
57684         notification to the linked list of notifications waiting to be
57685         acknowledged.
57686         (watch_end): Don't close the directory handle.
57687         (watch_completion): Allocate a new notification structure to be
57688         added to the notifications set.  Call ReadDirectoryChangesW
57689         immediately after adding the new notification, and before sending
57690         a message to the main thread about them.
57691         (watch_worker): Don't loop calling ReadDirectoryChangesW; instead,
57692         call it just once -- it will be called again in watch_completion.
57693         Loop waiting for the main thread's indication to terminate.
57694         (start_watching): Create the event to be used to indicate to the
57695         worker thread that its should terminate.
57696         (remove_watch): Indicate to the worker thread that it should
57697         terminate.
57698         * src/w32term.c (queue_notifications): Loop over all the
57699         notifications in the linked list, processing all of them in one
57700         go.
57701         * src/w32inevt.c (handle_file_notifications): Loop over all the
57702         notifications in the linked list.
57703         * src/w32xfns.c (init_crit): Initialize the linked list of file
57704         notifications.
57705         (delete_crit): Free the linked list of file notifications,
57706         including any unprocessed notifications left in it.
57707         * src/w32term.h (struct notifications_se): New struct.
57709         * test/lisp/filenotify-tests.el (file-notify-test02-events)
57710         (file-notify-test05-dir-validity): Add read-event calls to
57711         facilitate event recognition by the main thread in batch mode.
57713 2016-03-17  Sam Steingold  <sds@gnu.org>
57715         make `vc-log-operation' buffer local to allow multiple simultaneous editing
57717 2016-03-17  Glenn Morris  <rgm@gnu.org>
57719         Simplify some rococo Gnus code that loads or tests for other libraries.
57721         * lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default.
57722         * lisp/gnus/mml-smime.el (epg): Simply require it.
57723         (mml-smime-use): Simplify the default.  Doc fix.
57724         * lisp/gnus/mml2015.el (epg-config): Require it.
57725         (mml2015-use): Simplify the default.
57726         * lisp/gnus/smime.el (password-cache): Simply require it.
57727         (password-read-and-add): Remove declaration.
57729 2016-03-16  Glenn Morris  <rgm@gnu.org>
57731         * test/lisp/dabbrev-tests.el: Merge fix: move here from test/automated.
57733 2016-03-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
57734             Alex Harsanyi  <AlexHarsanyi@gmail.com>
57736         Sync with soap-client repository, version 3.1.1
57738         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix error
57739         message.
57740         (soap-find-port): Delete trailing whitespace.
57741         (soap-find-operation): Fix documentation and rename parameter.
57742         (soap-find-port): Likewise.
57743         (soap-operation-arity): Likewise.
57745         * lisp/net/soap-client.el: Update copyright years.
57746         (soap-warning): Fix docstring quoting.
57747         (soap-decode-date-time): Likewise.
57748         (soap-validate-xs-simple-type): Remove tabs for indentation.
57749         * lisp/net/soap-inspect.el: Update copyright years.
57751         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Do not
57752         assume xsd:base64Binary values are UTF-8 strings.
57753         (soap-decode-xs-basic-type): Likewise.
57754         (soap-invoke): Document xsd:base64Binary handling.
57756         * lisp/net/soap-client.el (soap-find-port, soap-find-operation)
57757         (soap-operation-arity): new defuns
57758         (soap-invoke-internal): use soap-find-port, soap-find-operation.
57760 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
57762         Merge from gnulib
57764         This incorporates:
57765         2016-03-15 std-gnu11: improve clang support
57766         * m4/std-gnu11.m4: Copy from gnulib.
57768 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57770         Disable MOVE more for Dovecot
57772         * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also
57773         disable MOVE when expirying.
57774         (nnimap-split-incoming-mail): And when splitting mail.
57776 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
57778         Don't use MOVE on Dovecot
57780         * lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
57781         MOVE on Dovecot, since it's broken in many versions.
57782         (nnimap-quirks): Mark MOVE on Dovecot as non-working.
57784 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
57786         Improve diff hunk headers when maintaining Emacs
57788         * .gitattributes: Improve diff hunk header support for makefiles,
57789         shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java,
57790         Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs
57791         somewhere (sometimes just in test cases).
57792         * autogen.sh: Add regexes for makefiles and shell scripts.
57794 2016-03-12  Eli Zaretskii  <eliz@gnu.org>
57796         Update handling of <bdo> per Unicode 9.0
57798         * lisp/net/shr.el (shr-tag-bdo): Wrap in FSI..PDI as well, per
57799         Unicode 9.0 changes in UAX#9, paragraph 2.7.
57801 2016-03-11  John Wiegley  <johnw@newartisans.com>
57803         Merge from origin/emacs-25
57805         facb5e2 Update Emacs manual section related to character folding
57806         4efea8e ; * etc/DEBUG: Fix a typo.  (Bug#22984)
57807         f8df21b Update admin/notes/unicode
57808         950be68 Add symref-filepattern entries for c?perl-mode
57809         8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
57810         985dacf ; NEWS update for the last change in etags
57811         741a6f8 Sync with gnulib
57812         7352c6c Rework C source files to avoid ^(
57813         a589e9a By default, etags produces unqualified Perl tag names
57814         72c7438 Indent methods with keyword names correctly
57815         28532a9 Propertize character literals and special global variables
57816                 differently
57817         a7d6f39 ; Fix last change in NEWS
57818         83b2a20 Change how /etc/NEWS presents character folding
57819         b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
57820                 off by default""
57821         711ca36 Properly handle lambda as read function (bug 22961)
57822         1b9d616 Propertize operator symbol names with symbol syntax class
57823         9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
57824         366ec77 Allow using the left shift operator without spaces on both sides
57825         02bf7cc Properly handle unquoting in wdired (bug 22938)
57826         16cf469 ; Spelling fix and tighten up comment
57827         f50bc04 Allow splat operator before percent literal
57828         991c801 Don't apply the return value of goto-char as syntax class
57829         6e63b3e Guard against nested percent literals
57830         066f3bc Recognize iuwu-mod after an escaped newline
57831         6f7a57c Fix symbolic mode string conversion for s and t
57832         50b9826 Update 'ucs-names' database
57833         993b2fb Improve doc string of 'shell-command'
57834         b71c717 Make the code in movemail_strftime more general
57835         cc057e4 Speed up redisplay of binary files with long series of nulls
57836         e51b27e Remove the highlighting support for quoting 'like this' inside
57837                 Lisp docstrings
57838         b1abce1 Restore leading space in movemail pop output
57839         98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
57840         dc9d837 Don't misindent computed property generator methods
57841         7923112 Fix mbox files produced by movemail on MS-Windows
57842         c45a1ca doc string file descriptor exhaustion fix
57843         265141b Fix Bug#22814
57845 2016-03-11  John Wiegley  <johnw@newartisans.com>
57847         Merge from origin/emacs-25
57849         620951f Fix previous fix of enlarge-/shrink-window
57850         2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic
57851         66d2717 Complete temperature units in calc-convert-temperature
57852         dbb02bf Make sure to use case-sensitive search
57853         8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344)
57854         100346a Add the missing test case for the previous patch
57855         5aba61e Use the correct dabbrev expansion
57857 2016-03-11  Michael Albinus  <michael.albinus@gmx.de>
57859         Remove compat code in Tramp
57861         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
57862         Remove compat code.
57864 2016-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
57866         * lisp/textmodes/tex-mode.el: Complete local envs.  Use #'.
57868         Use #' for function names.
57869         (latex-complete-envnames): Include existing environments in
57870         current buffer.
57871         (latex-insert-block): Use latex-complete-envnames.
57872         (tildify-foreach-ignore-environments): Declare.
57874 2016-03-10  Alain Schneble  <a.s@realize.ch>
57876         Fix asynchronous TLS connections on MS-Windows
57878         * src/w32.c (sys_write): Don't switch the socket to blocking mode
57879         if the connection attempt is in progress.  Instead, return either
57880         EWOULDBLOCK immediately if the connection is in progress, or the
57881         error code produced by '_sys_wait_connect' if the connection
57882         failed.  Switching the socket to blocking mode was found to
57883         interfere with GnuTLS handshake.  (Bug#22789)
57885 2016-03-10  Alan Mackenzie  <acm@muc.de>
57887         Clarify the documentation of nested comments.
57889         * doc/lispref/syntax.texi (Syntax Flags): State that only comments of the same
57890         style are recognized inside nestable comments.
57891         (Low-Level Parsing): Clarify that parsing will stop after the start or end of
57892         UNNESTED comments.
57894 2016-03-10  Nicolas Richard  <youngfrog@members.fsf.org>
57896         Add new function display-buffer-reuse-mode-window
57898         * lisp/window.el (display-buffer-reuse-mode-window): New function.
57899         * doc/lispref/windows.texi (Display Action Functions): Document it.
57901 2016-03-09  Paul Eggert  <eggert@cs.ucla.edu>
57903         Minor fixes for getaddrinfo_a usage
57905         * src/process.c (Fdelete_process): Check gai_cancel return value.
57906         That way, there’s no need to invoke gai_error.  Check gai_suspend
57907         return value.
57908         (Fmake_network_process): Don’t assume gai_strerror returns a UTF-8
57909         string.  Simplify call to connect_network_socket.
57910         (check_for_dns): Avoid unnecessary initialization of local.
57912 2016-03-09  Sam Steingold  <sds@gnu.org>
57914         declare `rmail-mime-entity-truncated' and `rmail-mime-render-html-function'
57916         The former avoids a compiler warning, the latter fixes a bug whereas
57917         the variable is compiled as lexical instead of dynamic.
57919 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
57921         Pacify --enable-gcc-warnings
57923         * src/xfns.c (x_create_tip_frame): Omit unused local.
57924         (Fx_show_tip): Don’t jump over auto initialization.
57926 2016-03-07  Martin Rudalics  <rudalics@gmx.at>
57928         Optionally reuse tooltip frames instead of deleting/recreating them.
57930         * src/frame.c (tooltip_reuse_hidden_frame): New option.
57931         * src/w32fns.c (x_create_tip_frame): Remove argument TEXT.  Fix
57932         handling of dividers.
57933         (x_hide_tip): New function.
57934         (Fx_show_tip): Try to reuse old tooltip frame when
57935         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
57936         have not changed.  Insert STRING here instead of passing it to
57937         x_create_tip_frame.  Compute size of tooltip window with
57938         Fwindow_text_pixel_size.  Obey Vw32_tooltip_extra_pixels when
57939         padding tooltip window.
57940         (Fx_hide_tip): Call x_hide_tip.
57941         (Vw32_tooltip_extra_pixels): New variable.
57942         * src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y
57943         value.  Fix doc-string.
57944         * src/xfns.c (x_create_tip_frame): Remove argument TEXT.  Call
57945         make_frame with mini_p argument false.
57946         (x_hide_tip): New function.
57947         (Fx_show_tip): Try to reuse old tooltip frame when
57948         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
57949         have not changed.  Insert STRING here instead of passing it to
57950         x_create_tip_frame.  Compute size of tooltip window with
57951         Fwindow_text_pixel_size.
57952         (Fx_hide_tip): Call x_hide_tip.
57953         * lisp/cus-start.el (tooltip-reuse-hidden-frame): Add
57954         customization entry.
57956 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
57958         Assume getaddrinfo in C code
57960         * admin/CPP-DEFINES, configure.ac: Remove HAVE_GETADDRINFO, HAVE_H_ERRNO.
57961         All uses removed.
57962         * doc/lispref/processes.texi (Network, Network Processes), etc/NEWS:
57963         Say that port numbers can be integer strings.
57964         * lib-src/pop.c (h_errno) [!WINDOWSNT && !HAVE_H_ERRNO]: Remove decl.
57965         (socket_connection): Assume HAVE_GETADDRINFO.
57966         * lisp/mpc.el (mpc--proc-connect):
57967         * lisp/net/network-stream.el (open-network-stream):
57968         It’s now OK to use integer strings as port numbers.
57969         * src/process.c (conv_numerical_to_lisp) [!HAVE_GETADDRINFO]: Remove.
57970         (Fmake_network_process): Assume HAVE_GETADDRINFO.
57972 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
57974         Remove support for IRIX
57976         The IRIX port wasn’t really working anyway, and the code was
57977         getting in the way of other changes (e.g., getaddrinfo fixes).
57978         IRIX’s supplier dropped support for IRIX in 2013.
57979         * admin/CPP-DEFINES:
57980         * configure.ac (opsys):
57981         * doc/lispref/os.texi (System Environment):
57982         * etc/MACHINES, etc/PROBLEMS:
57983         * lisp/find-dired.el (find-grep-options):
57984         * lisp/lpr.el (lpr-lp-system):
57985         * lisp/ls-lisp.el (ls-lisp-emulation):
57986         * lisp/mail/rmail.el (rmail-spool-directory):
57987         * lisp/net/net-utils.el (ping-program-options):
57988         * lisp/progmodes/gud.el (gud-irix-p, gud-dbx-use-stopformat-p):
57989         * lisp/progmodes/ps-mode.el (ps-mode-print-function):
57990         * src/conf_post.h [IRIX6_5]:
57991         * src/emacs.c (Vsystem_type):
57992         * src/filelock.c (get_boot_time_1):
57993         * src/process.c (process_send_signal):
57994         * src/unexelf.c (unexec):
57995         Omit IRIX-specific code and/or documentation.
57996         * configure.ac (NON_GCC_TEST_OPTIONS, IRIX6_5, PREFER_VSUSP):
57997         Remove.  All uses removed.
57998         * etc/NEWS: Document the change.
58000 2016-03-06  John Wiegley  <johnw@newartisans.com>
58002         Revert "Use colors in the VC mode lines"
58004         This reverts commit 2621c293d82c15c00d9e73a8db75d70da7d0a23b.
58006 2016-03-06  Ken Brown  <kbrown@cornell.edu>
58008         Fix Cygwin-w32 build
58010         * src/w32fns.c (funhook, setup_w32_kbdhook, remove_w32_kbdhook):
58011         Define only if WINDOWSNT, and update all uses accordingly.
58012         * src/w32term.h (check_w32_winkey_state, setup_w32_kbdhook)
58013         (remove_w32_kbdhook): Declare only if WINDOWSNT.
58014         (w32_kbdhook_active): Define as 0 if not WINDOWSNT.
58016 2016-03-06  Eli Zaretskii  <eliz@gnu.org>
58018         Unbreak the MinGW64 build
58020         * nt/inc/ms-w32.h [MINGW_W64]: Undefine HAVE_GAI_STRERROR.  See
58021         https://lists.gnu.org/r/emacs-devel/2016-03/msg00130.html
58022         for the details.  Reported by Angelo Graziosi
58023         <angelo.graziosi@alice.it>.
58025 2016-03-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58027         Don't signal errors on E_AGAIN
58029         * src/gnutls.c (Fgnutls_errorp): Qgnutls_e_again is not an
58030         error now that TLS is async.
58032 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58034         Allow making TLS negotiation blocking
58036         * lisp/net/gnutls.el (gnutls-negotiate): Make negotiation blocking.
58038         * src/gnutls.c (Fgnutls_boot): Provide a new keyword,
58039         :complete-negotiation, to specify that we want complete
58040         negotiation even if the socket is non-blocking.
58041         (gnutls_try_handshake): Complete negotiation if given that keyword.
58043         * src/process.h (L): Added gnutls_complete_negotiation_p.
58045 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
58047         Don't run ipv6 test on systems without ipv6
58049         * test/lisp/net/network-stream-tests.el
58050         (connect-to-tls-ipv6-nowait): Skip on systems without ipv6.
58052 2016-03-05  Eli Zaretskii  <eliz@gnu.org>
58054         Implement getaddrinfo fallback for MS-Windows
58056         See https://lists.gnu.org/r/emacs-devel/2016-02/msg01602.html
58057         for more details.
58059         * nt/mingw-cfg.site (ac_cv_func_getaddrinfo)
58060         (ac_cv_func_gai_strerror): Set to "yes", as the configure script's
58061         test program is not smart enough to auto-detect these.
58062         * nt/inc/sys/socket.h (getaddrinfo, freeaddrinfo): Redirect to
58063         sys_getaddrinfo and sys_freeaddrinfo.  Provide prototypes for
58064         sys_getaddrinfo and sys_freeaddrinfo.
58066         * src/w32.c (init_winsock): Try loading getaddrinfo and
58067         freeaddrinfo from ws2_32.dll.
58068         (sys_getaddrinfo, sys_freeaddrinfo): New functions.
58070         * lib-src/pop.c [WINDOWSNT]: Include winsock2.h, not winsock.h,
58071         and also ws2tcpip.h.
58072         (getaddrinfo, freeaddrinfo) [WINDOWSNT]: Redirect to
58073         sys_getaddrinfo and sys_freeaddrinfo, respectively.
58074         (load_ws2, sys_getaddrinfo, sys_freeaddrinfo) [WINDOWSNT]: New
58075         functions.
58077 2016-03-04  Glenn Morris  <rgm@gnu.org>
58079         * lisp/files.el: Fix recent typo.
58081         * lisp/subr.el (read-multiple-choice): Avoid free variable.
58083         * doc/lispref/files.texi (File Attributes): Fix typo.
58085 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
58087         Make the describe-key prompts clearer
58089         * lisp/help.el (describe-key-briefly): Make the prompt clearer
58090         (bug#14854).
58091         (describe-key): Ditto.
58093 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
58095         Allow scrolling while querying multiple choice
58097         * lisp/subr.el (read-multiple-choice): Allow scrolling the
58098         buffer while querying (bug#22827).
58100 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
58102         Add accessors for `file-attributes'
58104         * doc/lispref/files.texi (File Attributes): Mention the accessors.
58106         * lisp/files.el (file-attribute-type)
58107         (file-attribute-link-number, file-attribute-user-id)
58108         (file-attribute-group-id, file-attribute-access-time)
58109         (file-attribute-modification-time)
58110         (file-attribute-change-time, file-attribute-size)
58111         (file-attribute-modes, file-attribute-inode-number)
58112         (file-attribute-device-number): New functions.
58114         * src/dired.c (Ffile_attributes): Mention the accessors (bug#22890).
58116 2016-03-04  Michael Albinus  <michael.albinus@gmx.de>
58118         Fix Bug#22814
58120         * lisp/autorevert.el (global-auto-revert-mode): Do not set
58121         `auto-revert-use-notify' to nil.
58123         * etc/NEWS: Mention this.
58125         * etc/PROBLEMS: Remove problem Bug#22814.
58127         * src/kqueue.c: Include <sys/resource.h>.
58128         (Fkqueue_add_watch): Limit the number of used file descriptors.
58129         (Bug#22814)
58131         * test/lisp/filenotify-tests.el (file-notify--test-remote-enabled)
58132         (file-notify-test00-availability, file-notify-test01-add-watch)
58133         (file-notify-test02-events, file-notify-test06-many-events):
58134         Use #' read syntax for functions.
58135         (file-notify-test05-dir-validity)
58136         (file-notify-test06-many-events): Simplify directory creation.
58137         (file-notify-test09-sufficient-ressources): New test.
58139 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
58141         Fix insertion of edited servers in the dribble file
58143         * lisp/gnus/gnus-srvr.el (gnus-server-update-server): Don't
58144         insert explicit newlines, because they're quoted (bug#22903).
58146 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
58148         Move cl-seq-tests to the right place after the merge
58150         Move cl-seq-tests to the right place after the merge
58152 2016-03-03  John Wiegley  <johnw@newartisans.com>
58154         Merge from origin/emacs-25
58156         d6f6b7d * etc/AUTHORS: Update the AUTHORS file
58157         5cf7c39 authors.el updates
58158         a26f193 ; fix changelog entries
58159         fbc85c7 ; make change-history-commit
58160         06da00c Fix Bug#22859
58161         ab30bf5 ; * src/w32proc.c: Update the commentary to sys_select.
58162         1481029 Fix reordering of bidi text in an isolate inside an override
58163         60e0596 Document c-guess-basic-syntax in the CC Mode manual.
58165 2016-03-03  John Wiegley  <johnw@newartisans.com>
58167         Merge from origin/emacs-25
58169         f5d1435 Fix targets in test/automated/Makefile.in
58171 2016-03-03  John Wiegley  <johnw@newartisans.com>
58173         Merge from origin/emacs-25
58175         b6d6304 Comment on last change to define-derived-mode
58177 2016-03-03  John Wiegley  <johnw@newartisans.com>
58179         Merge from origin/emacs-25
58181         cb1e3da Also allow setting the paragraph direction to nil
58182         bbe8a89 Made the new OS X visible bell more visible.
58184 2016-03-03  John Wiegley  <johnw@newartisans.com>
58186         Merge from origin/emacs-25
58188         aae436e Uncomment the next-error-function integration in xref
58189         5f0d096 Remove the word "valid", to avoid ambiguity
58191 2016-03-03  John Wiegley  <johnw@newartisans.com>
58193         Merge from origin/emacs-25
58195         5a44bfe Set auto-revert-use-notify to nil in global-auto-revert-mode.  (Bug#22814)
58196         0d60bfc Fix ModelSim error parsing
58198 2016-03-03  John Wiegley  <johnw@newartisans.com>
58200         Merge from origin/emacs-25
58202         b13cab6 Add a eww command to toggle paragraph direction
58203         4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove.
58204         9e078e5 Fix char signedness issue in bidi code
58205         064adf6 * lib-src/pop.c (socket_connection): Fix format string.
58206         14060a9 Avoid inflooping in thing-at-point-looking-at
58207         098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert
58208                 indent change.
58209         b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors
58210         ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix.  (Bug#22813).
58211         d2dd614 Remove unneeded workaround in xftfont.c
58212         9b7593c ; * etc/NEWS: Reflect latest changes in saveplace.
58213         fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode
58214         06a872b Fix redisplay on a TTY after 'make-frame'
58215         95f5a43 Make double-click-1 work with unbalanced parens in CC Mode.
58216                 Fixes bug#5560.
58217         7d206fc Input method polish-slash should not use keyboard translation
58218         8be32cf Fix an assertion
58219         040e0d6 Fix 'toggle-save-place'
58220         5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
58222 2016-03-03  John Wiegley  <johnw@newartisans.com>
58224         Merge from origin/emacs-25
58226         e6a3819 Update HISTORY section in readme for the NextStep interface.
58227         f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording.
58228         7c81a0b Improve documentation of 'save-place-mode'
58229         cab3f0a Allocate glyph matrices for the initial frame
58230         e01c72f Fix white space in last checkin
58231         370eb67 Make `insert-pair' always leave the cursor where documented
58232         b594393 etc/NEWS: Mention the new second parameter to `package-install'
58234 2016-03-03  John Wiegley  <johnw@newartisans.com>
58236         Merge from origin/emacs-25
58238         bd58c13 Improve documentation of focus-related hooks
58239         00a4720 Further improve doc string of 'disable-point-adjustment'
58240         c582def Further adaptions in file-notify-tests.el for w32notify
58241         a1585e1 Don't bug out on localized dates in gnus-icalendar
58243 2016-03-03  John Wiegley  <johnw@newartisans.com>
58245         Merge from origin/emacs-25
58247         7bc4820 Make setf for frame-height/width work again
58249 2016-03-03  John Wiegley  <johnw@newartisans.com>
58251         Merge from origin/emacs-25
58253         6620944 (cl-union): Do not ignore :test argument when lists are equal.
58254         17dd3fb Add `isearch' to `basic-faces'
58255         c1ec743 Make $, : and @ "prefix characters" in ruby-mode
58256         e72a26e Make find-tag-default-bounds more strict
58257         1bc0e0a Minor fixes in filenotify.el
58259 2016-03-02  Alain Schneble  <a.s@realize.ch>
58261         Fix issue of inserting images on some systems
58263         * lisp/net/shr.el (shr-tag-img): Construct a non-empty range
58264         to pass to shr-image-fetched, to indicate where to insert the
58265         image.  Fixes the issue introduced with commit
58266         80852f843e69b81618f29cfb9aa4b074946cb3c4
58267         (bug#22789).
58269 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
58271         Ensure TLS negotiation progress
58273         * src/gnutls.h (GNUTLS_EMACS_HANDSHAKES_LIMIT): Increase the
58274         number of retries so that we try for about a minute.
58276         * src/process.c (wait_reading_process_output): Ensure progress
58277         for DNS resolution and TLS negotiation.
58279 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
58281         emacs-module.h slight simplification
58283         * src/emacs-module.c (emacs_init_function, emacs_subr): Move here ...
58284         * src/emacs-module.h: ... from here, as they don’t need to be public.
58285         (enum emacs_arity): Remove useless enum tag.  The enum value is
58286         used in ptrdiff_t contexts.
58288         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
58290 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
58292         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
58294 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
58296         emacs-module.c simplification and tuneup
58298         * src/emacs-module.c (CHECK_USER_PTR): New function.
58299         (module_get_user_ptr, module_set_user_ptr)
58300         (module_get_user_finalizer, module_set_user_finalizer): Use it.
58301         (module_make_global_ref, module_copy_string_contents)
58302         (module_make_string, module_vec_set, module_vec_get): Omit
58303         unnecessary runtime tests.  For example, vector sizes are always
58304         fixnums, so we don’t need to test that they are in fixnum range.
58306 2016-03-02  Philipp Stephani  <phst@google.com>
58308         Use standard checks whenever possible.
58310         This is possible in all functions where we catch signals anyway.
58312         * src/emacs-module.c (module_make_global_ref, module_funcall)
58313         (module_copy_string_contents, module_make_string): Use xsignal0
58314         and CHECK macros for argument checks.
58316 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
58318         Deterministic build improvements
58320         * configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP,
58321         and negate its sense.  Use it via AC_SUBST, not AC_DEFINE,
58322         and have its value be either empty or --no-build-details.
58323         All uses changed.  Change option to --disable-build-details.
58324         * doc/emacs/cmdargs.texi (Initial Options):
58325         Document --no-build-details.
58326         * doc/lispref/internals.texi (Building Emacs):
58327         * etc/NEWS:
58328         Document --disable-build-details.
58329         * doc/lispref/intro.texi (Version Info): Say that
58330         emacs-build-time can be nil.
58331         * lisp/erc/erc-compat.el (erc-emacs-build-time):
58332         Now nil if details are omitted.
58333         * lisp/erc/erc.el (erc-cmd-SV):
58334         * lisp/version.el (emacs-build-time):
58335         Now nil if no build details.
58336         (emacs-version):
58337         Output build time only if build details.
58338         * src/Makefile.in (BUILD_DETAILS): New macro.
58339         (temacs, bootstrap-emacs): Use it.
58340         * src/emacs.c (build_details): New var.
58341         (standard_args, main): Support --no-build-details.
58342         (Vdeterministic_dump): Remove; all uses replaced
58343         by !build_details.
58344         (syms_of_emacs): Set Vbuild_details to a boolean, not
58345         to a Lisp_Object.
58346         * src/lisp.h (build_details): New decl.
58347         * src/sysdep.c (init_system_name): When !build_details,
58348         set system-name to nil, not to "elided".
58350 2016-03-02  Philipp Stephani  <phst@google.com>
58352         Remove build system name from deterministic dumps
58354         * configure.ac (DETERMINISTIC_DUMP): New configuration option.
58355         * lisp/version.el (emacs-build-time): Add a comment to make the
58356         build time deterministic if requested.
58357         (emacs-build-system): Make variable deterministic if requested.
58358         * src/emacs.c (main): Initialize `deterministic-dump' from the
58359         configuration option.
58360         (syms_of_emacs): New constant `deterministic-dump'.
58361         * src/sysdep.c (init_system_name): Use a constant
58362         if a deterministic dump is requested.
58364 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
58366         Remove buggy parse-time test
58368         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
58369         Remove the iso parse test, since it doesn't work.
58371 2016-03-01  Paul Eggert  <eggert@cs.ucla.edu>
58373         * src/syntax.c (syntax_multibyte): Omit unnecessary parens.
58375 2016-02-29  Glenn Morris  <rgm@gnu.org>
58377         * lisp/emacs-lisp/autoload.el (autoload-timestamps):
58378         Experiment with setting to nil.
58380 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
58382         Make the revert command in timer-list-mode work
58384         * lisp/emacs-lisp/timer-list.el (timer-list): Make the revert
58385         command work.
58387 2016-02-29  Glenn Morris  <rgm@gnu.org>
58389         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
58390         Fix 6-week old merge error.
58392         * lisp/emacs-lisp/autoload.el (update-file-autoloads):
58393         Ensure timestamps.
58395         * lisp/emacs-lisp/package.el (package-generate-autoloads):
58396         Disable timestamps.
58398 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
58400         Allow binding `url-mime-accept-string'
58402         * lisp/url/url-http.el (url-http): Allow binding
58403         `url-mime-accept-string' (bug#22855).
58405 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
58407         Add a NEWS entry for the colorful VC indicator
58409 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
58411         Use colors in the VC mode lines
58413         * lisp/vc/vc-hooks.el: Make the mode line faces default to
58414         using colors to more clearly tell the user what the status is.
58416 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
58418         Support <bdo> and <bdi>
58420         * lisp/net/shr.el (shr-tag-bdo): New function.
58421         (shr-tag-bdi): Ditto.
58423 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
58425         Respect <html dir=auto>
58427         * lisp/net/shr.el (shr-tag-html): Respect the "auto"
58428         directional HTML setting.
58430 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
58432         Default bidi paragraph direction to nil
58434         * lisp/net/eww.el (eww-display-html): Default bidi rendering
58435         to nil, so that possibly more Arabic web pages render
58436         correctly (bug#22786).
58437         (eww-setup-buffer): Ditto.
58439 2016-02-29  Mathias Dahl  <mathias.dahl@gmail.com>
58441         Preserve current column, going up/down in thumbnail view.
58443 2016-02-29  Alan Mackenzie  <acm@muc.de>
58445         Handle "noise" macros and compiler directives.
58447         * lisp/progmodes/cc-langs.el (c-symbol-char-key): New language variable.
58449         * lisp/progmodes/cc-vars.el (c-noise-macro-names)
58450         (c-noise-macro-with-parens-names): New customizable variables.
58451         (c-noise-macro-name-re, c-noise-macro-with-parens-name-re): New variables.
58452         (c-make-noise-macro-regexps): New function.
58454         * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Adapt to treat
58455         members of c-noise-macro-names as whitespace.
58456         (c-forward-noise-clause): New function.
58457         (c-forward-keyword-prefixed-id, c-forward-type, c-forward-declarator)
58458         (c-forward-decl-or-cast-1, c-backward-over-enum-header)
58459         (c-guess-basic-syntax CASE 5A.3, CASE 5A.5, CASE 9A):
58460         Handle "noise clauses" in parallel with, e.g., "hangon key clauses".
58462         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): Handle "noise clauses"
58463         in parallel with "prefix-spec keywords".
58465         * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): call
58466         c-make-noise-macro-regexps to initialize the internal variables.
58468         * doc/misc/cc-mode.texi ("Noise Macros"): New section documenting the new
58469         facilities.
58471 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
58473         Stop calling res_init
58475         Emacs shouldn’t need to call res_init any more, now that nscd or
58476         equivalent is everywhere.  On modern systems, calling res_init
58477         simply slows Emacs down.  On ancient systems lacking nscd Emacs
58478         will still work well enough with this change; it’s just that it
58479         won’t respond to changes in /etc/resolv.conf.
58480         * configure.ac (HAVE_RES_INIT): Remove.  Worry about -lresolv only
58481         when configured --with-hesiod.  Hesiod is still used; see, e.g.:
58482         https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
58483         * src/Makefile.in (LIBRESOLV): Remove.  All uses removed.
58485 2016-02-29  Glenn Morris  <rgm@gnu.org>
58487         * lisp/progmodes/grep.el (grep-save-buffers): Fix type, tweak doc.
58489         * lisp/progmodes/grep.el (grep-save-buffers): Don't autoload defcustoms.
58491 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
58493         * src/process.c (Fdelete_process): Simplify cast.
58495 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
58497         Use the correct background color when filling nested <divs>
58499         * lisp/net/shr.el (shr-face-background): Return the first
58500         background, because that's the one that's visible (bug#22680).
58502 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
58504         Make <div> in <li> not insert extra newlines
58506         * lisp/net/shr.el (shr-tag-div): Make <div> in <li> not insert
58507         extra newlines (bug#19587).
58509 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
58511         Allow reading Gnus reports from an offline cache
58513         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
58514         Allow reading bug reports from an offline cache directory.
58516 2016-02-28  Tino Calancha  <f92capac@gmail.com>
58518         Meta + shift + Fn combos are recognized by xterm>=216.
58520         * lisp/term/xterm.el (xterm-alternatives-map): Meta + shift +
58521         Fn combos are recognized by xterm>=216 (bug#22837).
58523 2016-02-28  Simen Heggestøyl  <simenheg@gmail.com>
58525         Declare $ as an expression prefix in SCSS
58527         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
58528         expression prefix (bug#22841).
58530 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
58532         Revert "Declare $ as an expression prefix in SCSS"
58534         This reverts commit ffb33264f21e8af60b8055c47baffcf0f6c300df.
58536         Revering to fix author name.
58538 2016-02-28  Simen  <simenheg@gmail.com>
58540         Declare $ as an expression prefix in SCSS
58542         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
58543         expression prefix (bug#22841).
58545 2016-02-28  Hugh Brown  <aardvark@saintaardvarkthecarpeted.com>
58547         Save buffers before running grep commands
58549         * lisp/progmodes/grep.el (grep-ask-about-save): New variable (bug#96).
58550         (grep, lgrep, rgrep): Use it (bug#96).
58552         * doc/emacs/building.texi (Grep Searching): Document
58553         `grep-save-buffers'.
58555         * lisp/progmodes/grep.el (grep-save-buffers): Rename from
58556         `grep-ask-about-save'.
58557         (grep--save-buffers): New function.
58558         (grep, lgrep, rgrep): Use it.
58560 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
58562         Allow sorting flyspell corrections
58564         * lisp/textmodes/flyspell.el (flyspell-sort): New function (bug#2405).
58565         (flyspell-sort-corrections-functionx): New variable.
58566         (flyspell-sort-corrections-alphabetically): New function.
58567         (flyspell-notify-misspell): Use them.
58568         (flyspell-auto-correct-word): Ditto.
58569         (flyspell-emacs-popup): Ditto.
58570         (flyspell-xemacs-popup): Ditto.  Suggested by Sebastien Delafond.
58572 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
58574         Wait for async DNS to complete before freeing resources
58576         * src/process.c (Fdelete_process): Wait for async DNS to
58577         complete before freeing the data structures it needs.
58579 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
58581         * lisp/faces.el: Remove duplicated functions from previous patch.
58583 2016-02-28  Eli Zaretskii  <eliz@gnu.org>
58585         Fix TLS connections on MS-Windows
58587         * src/w32.c (sys_write): If 'send' returns with WSAENOTCONN, and
58588         this is a non-blocking socket whose connection is in progress, set
58589         errno to EWOULDBLOCK, as expected by GnuTLS and other callers.
58590         Avoid overwriting the errno value from 'send' by 'ioctlsocket'.
58591         Suggested by Alain Schneble <a.s@realize.ch>.  (Bug#22789)
58593 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
58595         Add a NEWS entry for the read-color change
58597 2016-02-27  Jan Moringen  <jan.moringen@uni-bielefeld.de>
58599         Show the face colors when completing in `read-color'
58601         * lisp/faces.el (defined-colors-with-face-attributes): New function.
58602         (readable-foreground-color, defined-colors-with-face-attributes)
58603         (readable-foreground-color): Ditto.
58604         (read-color): Use them (bug#5305).
58606 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
58608         Clean up the code in parse-time-string-chars
58610         * lisp/calendar/parse-time.el (parse-time-string-chars):
58611         Clean up the code a bit.
58613 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
58615         Add some tests for parse-time.el
58617         * test/lisp/calendar/parse-time-tests.el: New file.
58619 2016-02-27  Dima Kogan  <dima@secretsauce.net>
58621         Strip out some leading whitespace when looking at logs
58623         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking
58624         at expanded git logs with `vc-print-root-log' (C-x v L, then
58625         <enter> by default), Emacs was stripping out all leading
58626         whitespace from git logs.  I now strip exactly 2 leading
58627         spaces, which retains the indentation in the logs (bug#18110).
58629 2016-02-27  Dima Kogan  <dima@secretsauce.net>
58631         Use a separate history variable for align-regexp
58633         * lisp/align.el (align-regexp-history): New variable (bug#16891).
58634         (align-regexp): Use it.
58636 2016-02-27  Phil Sung  <philbert@gmail.com>
58638         Create subdirectories automatically in wdired
58640         * lisp/wdired.el (wdired-create-parent-directories): New
58641         variable (bug#6817).
58642         (wdired-create-parentdirs): New function.
58643         (wdired-do-renames): Use it.
58644         * doc/emacs/dired.texi (Wdired): Mention
58645         `wdired-create-parent-directories'
58647 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
58649         Return the correct error values from gnutls.c
58651         * src/gnutls.c (emacs_gnutls_read): Set errno to the value
58652         expected by process.c.
58653         (gnutls_try_handshake): Set gnutls_p to true earlier to avoid
58654         possible race condition with the process.c socket polling
58655         functions.
58657 2016-02-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
58659         Don't make assumptions about mkdir.  (Bug#22822)
58661         * test/Makefile.in (MKDIR_P): New, set by configure.
58662         (%.log): Use MKDIR_P.
58664 2016-02-27  Alexander Kuleshov  <kuleshovmail@gmail.com>
58666         Support switching to hexl-mode from image-mode
58668         * lisp/image-mode.el (image-toggle-hex-display)
58669         (image-mode-to-text): New functions.
58670         (image-mode-map, image-minor-mode-map): Bind "C-c C-x" to
58671         image-toggle-hex-display.
58672         (image-mode-map): New menu item "Show as Hex".
58673         (image-mode): Update doc string and echo-area message.
58674         (image-toggle-display): Support toggle to hex.  (Bug#22453)
58676         * doc/emacs/files.texi (File Conveniences): Document
58677         'image-toggle-hex-display'.
58679 2016-02-27  Eli Zaretskii  <eliz@gnu.org>
58681         Remove unused code in coding.c
58683         * src/coding.c (decode_eol): Remove unused code that handled the
58684         case of coding->dst_object being nil.  Replace it with an
58685         assertion.
58687 2016-02-26  Aurelien Aptel  <aaptel@suse.com>
58689         * src/syntax.c: Fix result of syntax_multibyte()
58691         The ?: operator has a lower precedence than ||.
58692         Bug introduced by commit 45b683a.
58694 2016-02-26  Paul Eggert  <eggert@cs.ucla.edu>
58696         --enable-gcc-warnings now uses -Wjump-misses-init
58698         When configuring with --enable-gcc-warnings, also enable
58699         -Wjump-misses-init, as it’s confusing to use a goto to skip over
58700         an initialization.  Fix the few places in the code that run afoul
58701         of this warning.
58702         * configure.ac (WERROR_CFLAGS): Add -Wjump-misses-init.
58703         * src/doc.c (Fsubstitute_command_keys):
58704         * src/image.c (svg_load_image):
58705         * src/regex.c (re_match_2_internal):
58706         * src/xdisp.c (redisplay_internal, redisplay_window):
58707         Don’t jump over initialization.
58709 2016-02-26  Jussi Lahdenniemi  <jussi@aprikoodi.fi>
58711         Improve the register-hotkey functionality on MS-Windows
58713         * src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
58714         keyboard hook functionality.
58715         Include w32inevt.h, basetyps.h and unknwn.h.
58716         (VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
58717         (kbdhook): A new struct definition.
58718         (funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
58719         (check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
58720         (modifier_set): Call check_w32_winkey_state if a Win key was
58721         pressed and the keyboard hook is active.
58722         (w32_wnd_proc): Don't handle Win key combinations if the keyboard
58723         hook is active.  Only register/unregister the hotkeys if the
58724         keyboard hook is not active.  When WM_CREATE is received, call
58725         setup_w32_kbdhook.  When WM_DESTROY is received, call
58726         reset_w32_kbdhook_state.
58727         (lookup_vk_code): When the keyboard hook is active, map
58728         alphanumeric characters to themselves.
58729         (w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key.  Map
58730         modified keys to VK_ANY if the keyboard hook is active.  Register
58731         Alt-x and Win-x combinations.
58732         (Fw32_shell_execute): Update doc string to reflect new
58733         functionality.  Bypass the code that posts the
58734         WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
58735         (Fw32_unregister_hot_key): Bypass the code that posts the
58736         WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
58737         (syms_of_w32fns) <w32-pass-lwindow-to-system>
58738         <w32-pass-rwindow-to-system, w32-phantom-key-code>
58739         <w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
58740         to reflect the new functionality.
58741         * src/w32console.c (initialize_w32_display): Install the low-level
58742         keyboard hook.
58743         * src/w32inevt.c (key_event): Handle Win-x combinations only if
58744         the keyboard hook is not active.  If the hook is active, use
58745         check_w32_winkey_state instead.
58746         * src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
58747         (check_w32_winkey_state): Add prototypes.
58748         (w32_kbdhook_active): New macro.
58750         * doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
58751         new functionality.
58753 2016-02-25  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
58755         Add forward-sexp (and related) tests
58757         * test/lisp/emacs-lisp/lisp-tests.el: New file for testing
58758         forward-sexp and related functions (bug#22800).
58760 2016-02-25  Jan Tatarik  <jan.tatarik@gmail.com>
58762         Don't use (localized) week days in dates
58764         * lisp/gnus/gnus-icalendar.el
58765         (gnus-icalendar-event:org-timestamp): Don't use (localized)
58766         week days in the dates, because that messes up things later.
58768 2016-02-25  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
58770         Update pcomplete/find
58772         * lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version
58773         (bug#10487).
58775 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
58777         Make parse-time-string-chars more efficient
58779         * lisp/calendar/parse-time.el (parse-time-string-chars): The
58780         string has already been downcase, so don't care about case
58781         (bug#18522).
58783 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
58785         Remove killed buffers from the list of Gnus buffers
58787         * lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed
58788         buffers from the list of Gnus buffers (bug#18522).
58790 2016-02-25  Paul Eggert  <eggert@cs.ucla.edu>
58792         Integer overflow cleanups for ports and socklen
58794         * src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp)
58795         (get_lisp_to_sockaddr_size, Fset_process_datagram_address)
58796         (connect_network_socket):
58797         Use ptrdiff_t, not int, for signed object sizes.
58798         This addresses only a theoretical problem, as in practice these
58799         object sizes are less than 2**31, but we might as well use the
58800         same style here as elsewhere in Emacs.
58801         (string_integer_p): Remove; all uses removed.
58802         (Fmake_network_process): Check that port number is in range.
58803         When converting an integer-string service, rely on strtol
58804         rather than rechecking the string by hand.
58805         * src/process.h, src/w32.c (conv_sockaddr_to_lisp):
58806         Adjust prototypes to match.
58808 2016-02-24  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
58810         Add pcomplete support for find
58812         * lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support
58813         for find (bug#10487).
58815 2016-02-24  Per Starbäck  <starback@stp.lingfil.uu.se>
58817         Replace XXX acronyms with draft standard ones
58819         * lisp/international/characters.el (c1-acronyms): Replace XXX
58820         entries with the acronyms PAD, HOP, SGCI from draft DIS 10646
58821         (bug#13745).
58823 2016-02-24  Kevin Ryde  <user42@zip.com.au>
58825         Make checkdoc warn about variables described as "True"
58827         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
58828         Docstrings for variables "True...", and functions "Return
58829         true...", should usually be "non-nil" (bug#15506).
58831 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
58833         Add NEWS entry for "number string" change
58835 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
58837         Allow using "number strings" as services on non-GNU systems
58839         * src/process.c (string_integer_p): New function.
58840         (Fmake_network_process): Use it to allow connecting to
58841         services specified as "993" even when getaddrbyname isn't
58842         available.
58844 2016-02-24  Michael Albinus  <michael.albinus@gmx.de>
58846         Fix problem in tramp.texi
58848         * doc/misc/tramp.texi (File name completion): Do not use
58849         @trampfn{} for IPv6 addresses.  Somehow, it results in errors
58850         during PDF creation.
58852 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
58854         Make image commands available in image-mode
58856         * lisp/image-mode.el (image-mode-map): Inherit from
58857         `image-map' so that the usual image commands work.
58859 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
58861         Move `o' to `O' in shr-map
58863         * lisp/net/shr.el (shr-map): `shr-save-contents' has moved
58864         from `o' to `O' to avoid collisions with `image-map'.
58866 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
58868         Make setting the coding system non-blocking
58870         * src/process.c (Fset_process_filter_multibyte): Defer
58871         completing coding system setup in asynchronous processes.
58872         (Fset_process_coding_system): Ditto.
58874 2016-02-23  Gregoire Jadi  <daimrod@gmail.com>
58876         Mention `proced-toggle-auto-update' in the proced-mode doc string
58878         * lisp/proced.el (proced-mode): Mention
58879         `proced-toggle-auto-update' (bug#14341).
58881 2016-02-23  Joshua Datko  <jbdatko@gmail.com>  (tiny change)
58883         Add a fortune-message command
58885         * lisp/play/fortune.el (fortune-message): Add a command to
58886         display fortunes in the echo area (bug#14915).
58888 2016-02-23  Susanne Oberhauser  <froh@suse.com>  (tiny change)
58890         Add hideshow bindings analogous to outline mode
58892         * lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings
58893         analogous to outline mode bindings (bug#15324).
58895 2016-02-23  Bastien Guerry  <bzg@altern.org>
58897         Allow highlighting things like @math{2^{12}}
58899         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords):
58900         Allow highlighting things like @math{2^{12}} (bug#16390).
58902 2016-02-23  Per Bothner  <per@bothner.com>
58904         Make `C-{up,down,left,right}' work in term mode
58906         * lisp/term.el (term-raw-map): Define C-{up,down,left,right}
58907         to send the same escape sequence that xterm sends.  This makes
58908         backward-word and forward-word work in readline (bug#16746).
58910 2016-02-23  Dima Kogan  <dima@secretsauce.net>
58912         Allow ff-find-other-file (etc) to work with indirect clone buffers
58914         * lisp/find-file.el (ff-buffer-file-name): New function to
58915         allow the feature to work with indirect buffers, too
58916         (bug#16904).
58917         (ff-find-the-other-file): Use it.
58918         (ff-other-file-name): Ditto.
58919         (ff-get-file-name): Ditto.
58921 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
58923         Fix error in add-change-log-entry when the entry has no newline
58925         * lisp/vc/add-log.el (add-change-log-entry): The entry in the
58926         ChangeLog may end without a new line starting with blanks.
58928 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
58930         Avoid using mm-util functoins in gravatar.el
58932         * lisp/image/gravatar.el (gravatar-retrieve): Avoid using
58933         mm-util functions.
58934         (gravatar-retrieve-synchronously): Ditto.
58936 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
58938         Move low-level library files from the lisp/gnus directory
58940         The files moved from lisp/gnus are:
58942         auth-source.el -> /
58943         compface.el -> /image
58944         ecomplete.el -> /
58945         flow-fill.el -> /mail
58946         gravatar.el -> /image
58947         gssapi.el -> /net
58948         html2text.el -> /net
58949         ietf-drums.el -> /mail
58950         mail-parse.el -> /mail
58951         mail-prsvr.el -> /mail
58952         mailcap.el -> /net
58953         plstore.el -> /
58954         pop3.el -> /net
58955         qp.el -> /mail
58956         registry.el -> /
58957         rfc1843.el -> /international
58958         rfc2045.el -> /mail
58959         rfc2047.el -> /mail
58960         rfc2231.el -> /mail
58961         rtree.el -> /
58962         sieve-manage.el -> /net
58963         sieve-mode.el -> /net
58964         sieve.el -> /net
58965         starttls.el -> /net
58966         utf7.el -> /international
58967         yenc.el -> /mail
58969 2016-02-23  Tino Calancha  <f92capac@gmail.com>
58971         Allow undoing changes while doing query-replace
58973         * doc/lispref/searching.texi (Search and Replace): Mention
58974         undo (bug#21684).
58976         * lisp/replace.el (query-replace-help): Document undo.
58977         (perform-replace): Implement undo while replacing text.
58979 2016-02-23  John F. Trudeau  <JFTrudeau@aetna.com>  (tiny change)
58981         Highlight assignments in Makefiles more correctly
58983         * lisp/progmodes/make-mode.el (makefile-macroassign-regex):
58984         Highlight assignments preceded by a TAB character correctly
58985         (bug#20787).
58987 2016-02-23  Fredrik Bergroth  <fbergroth@gmail.com>  (tiny change)
58989         Use memmove instead of memcpy on overlapping regions
58991         * src/editfns.c (Ftranspose_regions): Regions may overlap, so
58992         use memmove instead of memcpy (bug#19213).
58994 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
58996         Port to --enable-gcc-warnings sans getaddrinfo_a
58998         * src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED
58999         to a local unused when getaddrinfo_a is missing.
59000         Resize portbuf to size needed.  Do cheap test first.
59001         Move local to block where it’s needed.
59003 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
59005         Minor cleanups for async DNS etc.
59007         * src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED):
59008         Omit unnecessary parens.
59009         * src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit)
59010         (gnutls_verify_boot):
59011         Use bool for boolean.
59012         (ATTRIBUTE_FORMAT_PRINTF): Add printf attribute.
59013         * src/process.c (free_dns_request, Fmake_network_process):
59014         Allocate and free async request control block all in one go.
59015         (set_network_socket_coding_system, finish_after_tls_connection)
59016         (connect_network_socket):
59017         Now static.
59018         (conv_numerical_to_lisp): 2nd arg is now int, not unsigned.
59019         (Fmake_network_process): Use list1 for brevity.
59020         (wait_for_socket_fds): 2nd arg is now const ptr.
59021         * src/process.h (struct Lisp_Process.dns_request):
59022         Now struct gaicb *, not struct gaicb **, since there was always
59023         exactly one.  All uses changed.
59024         * src/window.c, src/window.h (run_window_configuration_change_hook):
59025         Now static.
59027 2016-02-23  Carlos Pita  <carlosjosepita@gmail.com>
59029         Allow more shell script defun forms
59031         * lisp/progmodes/sh-script.el (sh-mode): Allow more shell
59032         script defun forms, like function name () {...} (bug#19754).
59034 2016-02-23  Martin Rudalics  <rudalics@gmx.at>
59036         Fix `window-configuration-change-hook' and `window-size-change-functions'
59038         (1) Run `window-configuration-change-hook' if and only if at least
59039         one window was deleted or created or shows another buffer since
59040         last redisplay.
59042         (2) Run `window-size-change-functions' if and only if at least
59043         one window changed its size since last redisplay (in a few cases
59044         `window-size-change-functions' will also run when no window
59045         changed its size).
59047         (3) Provide two functions `window-pixel-height-before-size-change'
59048         and `window-pixel-width-before-size-change' that allow to easily
59049         detect which window changed size.
59051         * src/frame.h (struct frame): New boolean member
59052         window_configuration_changed.
59053         (FRAME_WINDOW_SIZES_CHANGED): Remove macro.
59054         (FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
59055         * src/frame.c (adjust_frame_size): Don't run
59056         `window-configuration-change-hook'.
59057         * src/window.h (struct window): New fields
59058         pixel_width_before_size_change and pixel_height_before_size_change.
59059         (WINDOW_INTERNAL_P): New macro.
59060         * src/window.c (Fwindow_pixel_width_before_size_change)
59061         (Fwindow_pixel_height_before_size_change): New functions.
59062         (Fdelete_other_windows_internal, Fwindow_resize_apply)
59063         (resize_frame_windows, Fsplit_window_internal)
59064         (Fdelete_window_internal, grow_mini_window)
59065         (shrink_mini_window, Fresize_mini_window_internal): Don't call
59066         FRAME_WINDOW_SIZES_CHANGED.
59067         (window_size_changed, window_set_before_size_change_sizes)
59068         (run_window_size_change_functions): New functions.
59069         (make_window): Initialize pixel_width_before_size_change and
59070         pixel_height_before_size_change.
59071         (Fdelete_window_internal): Don't call
59072         run_window_configuration_change_hook.
59073         (struct saved_window): Add pixel_height_before_size_change and
59074         pixel_width_before_size_change.
59075         (Fset_window_configuration): Try to identify window configuration
59076         changes correctly so run_window_configuration_change_hook and
59077         run_window_size_change_functions run only if configuration and size
59078         really changed.
59079         (save_window_save): Set the pixel_height_before_size_change and
59080         pixel_width_before_size_change fields.
59081         (Vwindow_size_change_functions): Move here definition from xdisp.c.
59082         * src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
59083         run_window_size_change_functions.
59084         (Vwindow_size_change_functions): Move definition to window.c.
59085         * src/xfns.c (x_set_menu_bar_lines): Don't call
59086         run_window_configuration_change_hook.
59087         * doc/lispref/windows.texi (Window Sizes): Document new
59088         functions `window-pixel-height-before-size-change' and
59089         `window-pixel-width-before-size-change'.
59090         (Window Configurations): Mention that this may trigger
59091         execution of `window-size-change-functions' although no window
59092         changed size.
59093         (Window Hooks): Update descriptions of `window-size-change-functions'
59094         and `window-configuration-change-hook'.
59096 2016-02-23  Drew Adams  <drew.adams@oracle.com>
59098         (ls-lisp-insert-directory): Make -B work
59100         * lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
59101         (bug#20776).
59103 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
59105         Fix typo in message-setup-fill-variables
59107         * lisp/gnus/message.el (message-setup-fill-variables): Fix
59108         typo in a recent checkin that used `setq-default' instead of
59109         `setq-local' (bug#22781).
59111 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
59113         `message-dont-reply-to-names' can also be a list of regexps
59115         * lisp/gnus/message.el (message-dont-reply-to-names):
59116         `message-dont-reply-to-names' can also be a list of regexps (bug#22773).
59118 2016-02-23  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>
59120         Make buttons in header lines work
59122         * lisp/help-mode.el (help-button-action): `help-xref-button' in
59123         header line doesn't work (bug#21024).
59125 2016-02-23  Vasilij Schneidermann  <v.schneidermann@gmail.com>
59127         Place apples randomly in Snake
59129         * lisp/play/snake.el (snake-score): New variable (bug#21359).
59130         (snake-set-dot): Place the apples randomly.
59132 2016-02-23  Tino Calancha  <f92capac@gmail.com>
59134         Allow optional parameter to be nil
59136         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the
59137         optional parameter to be nil (bug#21576).
59139 2016-02-23  Tino Calancha  <f92capac@gmail.com>
59141         Completely ignore buffers with no name when copying file names
59143         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely
59144         ignore buffers with no file name. (bug#21577).
59146 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
59148         Make spelling of "Eshell" consistent
59150         * lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell".
59151         * lisp/eshell/eshell.el (eshell-command):
59152         Spell it "Eshell" (bug#21678).
59154 2016-02-23  Simen Heggestøyl  <simenheg@gmail.com>
59156         Allow pretty lambdas in Scheme mode
59158         * lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
59159         `prettify-symbols-alist' from Lisp mode (bug#21679).
59161 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
59163         Rename lisp--prettify-symbols-alist
59165         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist):
59166         Rename from `lisp--prettify-symbols-alist' since we're going
59167         to use it in Scheme mode, too.
59168         (lisp-mode-variables): Use it.
59170 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>  (tiny change)
59172         Remove spurious newline in package list
59174         * lisp/emacs-lisp/package.el (describe-package-1): Remove
59175         spurious newline (bug#21706).
59177 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
59179         Revert "Remove spurious newline in package list"
59181         This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d.
59183 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>
59185         Remove spurious newline in package list
59187         * lisp/emacs-lisp/package.el (describe-package-1): Remove
59188         spurious newline (bug#21706).
59190 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
59192         Keep the position in the process buffer when deleting processes
59194         * lisp/simple.el (process-menu-delete-process): Keep the
59195         position in the buffer after killing a process (bug#21759).
59197 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
59199         Require that the buffer that we're trying to patch exist
59201         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
59202         buffer that we're trying to patch exist (bug#21852).
59204 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
59206         Require that the buffer that we're trying to patch exist
59208         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
59209         buffer that we're trying to patch exist (bug#21852).
59211 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
59213         Be more verbose when changing frame mode in ediff
59215         * lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what
59216         mode we toggled to (bug#21853).
59218 2016-02-22  Łukasz Stelmach  <stlman@poczta.fm>
59220         Encode header strings before printing
59222         * lisp/ps-print.el (ps-generate-header-line): Encode the
59223         header strings to avoid problems with non-ASCII headers
59224         (bug#22611).
59226 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
59228         Test message-strip-subject-trailing-was
59230         * test/lisp/gnus/message-tests.el (message-strip-subject-trailing-was):
59231         New test (bug#22632).
59233 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
59235         Make use of the `ert-with-function-mocked' macro
59237         * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
59238         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use
59239         `ert-with-function-mocked' instead of implementing the fragile
59240         `unwind-protect' logic openly.
59242 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
59244         message-strip-subject-trailing-was: Refactor
59246         * lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor
59247         the function replacing sequence of `if' calls with a mixture of `or'
59248         and `and' calls instead.  This makes it shorter and containing less
59249         internal state thus easier to follow.
59251 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
59253         ert-with-function-mocked: New macro
59255         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which
59256         allows evaluating code while particular function is replaced with
59257         a mock.  The original definition of said function is restored once the
59258         macro finishes.
59260 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
59262         Move Gnus functions frm rfc1843 to new file gnus-rfc1843
59264         * lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
59265         interface functions.
59267         * lisp/gnus/gnus-rfc1843.el: Move all Gnus-specifig functions to
59268         gnus-rfc1843.
59270 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
59272         Don't use mm-util functions in qp.el
59274         * lisp/gnus/qp.el (quoted-printable-decode-region): Don't use
59275         mm-util functions.
59276         (quoted-printable-encode-string): Ditto.
59277         (quoted-printable-encode-region): Ditto.
59279 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
59281         Don't require mm-util
59283         * lisp/mail/ietf-drums.el (mm-util): Don't require.
59285 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
59287         Remove Gnus functions from auth-source.el
59289         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
59290         Remove usage of Gnus utility function.
59291         (mm-util, gnus-util): Don't require.
59293 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
59295         Allow deleting all non-matching cookies
59297         * lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
59298         keeping matching cookies (bug#22720).
59300 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
59302         Make (setf (image-property ...)) return VALUE
59304         * lisp/image.el (image--set-property): Return VALUE, not IMAGE.
59306 2016-02-22  John Wiegley  <johnw@newartisans.com>
59308         Merge from origin/emacs-25
59310         a9c48d5 Additional fixes for file notification
59311         6bd9d69 Fix documentation of 'global-disable-point-adjustment'
59312         8c22ac9 ; Spelling fix
59313         2975784 Set file modes of pinentry socket for extra safety
59314         2667b3e Clarify GnuPG version compatibility chapter
59315         5e34c36 Revert "Change the default socket location for pinentry"
59316         e19c1c3 Kill off xref--display-history
59317         5698947 Keep the xref buffer visible until the user quits it explicitly
59318         e34fbde Change the default socket location for pinentry
59319         5f89658 Mention how to enable pinentry feature
59320         db51224 Sync with gnulib
59321         aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
59322         2d8b2fd Restore point when writing semantic table to disk
59323         27d3430 Mention pinentry.el in epa manual
59324         5baa001 Fix Bug#22736
59325         7261355 Grammar fix in doc string
59326         d0f3b18 Naming fix for consistency
59327         74ec92d Prefer customized value for GnuPG executable
59328         ea0b604 Fix memory reservation on MS-Windows
59329         c5f72aa Update NextStep readme and add wish list.
59330         6de26a7 Report also result in `file-notify--test-event-handler'
59331         5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
59332         1cb1268 Fix todo-mode item date editing bugs
59333         1e996cf Fix "[:upper:]" for non-ASCII characters
59334         896f993 Allow customizing the article mode cursor behavior
59335         24c1c1d Use pop-to-buffer-same-window in woman.el
59336         2a75f64 New filenotify test for bug#22736
59337         c9bccf7 Report critical battery errors
59338         d675db9 Make eww message toggling message clearer
59339         5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
59340         fa8fd65 ; Improve character-folding entries in NEWS
59341         3722a69 Fix bugs in window resizing code
59342         289d5c6 Fix decoding DOS EOL in a unibyte buffer
59343         2abcb06 Correct c-parse-state cache manipulation error.
59344         14aec91 Take advantage of new GnuPG version check function
59345         e80c2a7 Make GnuPG version check robuster
59346         15a9464 Fix x-load-color-file pointer signedness
59347         132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
59348         78ab6f1 Follow convention for greek letter constants.
59349         106b5bb Add Stefan-Boltzmann constant to calc units table.
59350         b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
59351         5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw.  (Bug#22669)
59352         2d40f7d Fix soffice UserInstallation-URL for Windows
59353         b1a3ebe Fix display of <pre> elements
59354         57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
59355         7a0628d ; * admin/make-tarball.txt: Mention cleaning.
59357 2016-02-22  Oleh Krehel  <ohwoeowho@gmail.com>
59359         lisp/calendar/appt.el (appt-delete-window): Check if buffer is live
59361         * lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
59362           non-existing buffer.
59364 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
59366         Mention the further asynchronousity
59368 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
59370         Fix async TLS boot problem
59372         * src/process.c (wait_reading_process_output): Verify the boot
59373         of the correct process.
59375 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
59377         Clean up forgotten text in manual
59379         * doc/lispref/display.texi (Defining Images): Remove example
59380         forgotten when making previous change.
59382 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
59384         Clean up debugging code
59386         * src/process.c (Fmake_network_process): Remove debugging printf.
59387         (wait_for_socket_fds, wait_while_connecting)
59388         (wait_for_tls_negotiation): Remove newlines from messages.
59390 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
59392         Fix merge conflicts in network-stream-tests.el
59394 2016-02-21  Paul Eggert  <eggert@penguin.cs.ucla.edu>
59396         Port recent filevercmp addition to MS-Windows
59398         Reported by Andy Moreton in:
59399         https://lists.gnu.org/r/emacs-devel/2016-02/msg01302.html
59400         * nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
59401         (EXTRA_DIST): Add filevercmp.h.
59403 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
59405         add_to_log expects Lisp parameters
59407 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
59409         Mention sentinels in conjunction with :nowait t.
59411         * doc/lispref/processes.texi (Network Processes): Mention the
59412         recommended way of using sentinels with :nowait t.
59414 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
59416         Mention in the doc strings that process functions may block
59418         (Fprocess_contact, Fprocess_datagram_address)
59419         (Fset_process_datagram_address, Fset_network_process_option)
59420         (Fprocess_send_region, Fprocess_send_string): Mention that the
59421         functions may block.
59422         (Fset_process_coding_system): Ditto.
59424 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
59426         Add blocker warnings to the *Messages* buffer
59428         * src/process.c (wait_for_socket_fds): Add warning to the log.
59429         (wait_while_connecting): Ditto.
59430         (wait_for_tls_negotiation): Ditto.
59432 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
59434         Rework the image property getter/setters
59436         * doc/lispref/display.texi (Defining Images): Document the
59437         renamed `image-get/set-property' functions.
59439         * lisp/image.el (image--set-property): Rename from
59440         image-set-property.
59441         (image-property): Declare a setf form.
59442         (image-property): Rename from `image-get-property'.
59444 2016-02-21  Paul Eggert  <eggert@cs.ucla.edu>
59446         Use Gnulib filevercmp for version comparison
59448         * admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
59449         * doc/lispref/strings.texi (Text Comparison):
59450         * etc/NEWS, src/fns.c:
59451         * test/src/fns-tests.el (fns-tests-string-version-lessp):
59452         Rename newly-introduced function to string-version-lessp, by
59453         analogy with strverscmp.
59454         * lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
59455         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
59456         * src/fns.c: Include <filevercmp.h>.
59457         (gather_number_from_string): Remove.
59458         (Fstring_version_lessp): Reimplement via filevercmp.
59460 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
59462         Add a function to delete URL cookies
59464         * doc/misc/url.texi (Cookies): Document
59465         url-cookie-delete-cookies.
59467         * lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.
59469 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
59471         Avoid integer overflows in string-numeric-lessp
59473         * src/fns.c (Fstring_numeric_lessp): If we have an integer
59474         overflow, compare lexicographically.
59476 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
59478         Add the string-numeric-lessp function
59480         * doc/lispref/strings.texi (Text Comparison): Document
59481         `string-numerical-lessp'.
59483         * src/fns.c (Fstring_numeric_lessp): New function.
59484         (gather_number_from_string): Helper function for that function.
59486         * test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.
59488 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
59490         Clarify levels of :nowait t.
59492         * doc/lispref/processes.texi (Network Processes): Mention
59493         levels of asynchronicity.
59495 2016-02-20  Alain Schneble  <a.s@realize.ch>
59497         Respect DNS timeouts
59499         * src/process.c (check_for_dns): If the async DNS request
59500         failed and the associated process is still in "connect" state,
59501         deactivate the process and set status to "failed".
59503 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
59505         Add a frame around the placeholder image in shr
59507         * lisp/net/shr.el (shr-make-placeholder-image): Add a frame
59508         around the image.
59510 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
59512         Use placeholder images in shr to avoid text moving around
59514         * lisp/net/shr.el (shr-rescale-image): Pass in width/height
59515         from the HTML.
59516         (shr-tag-img): Ditto.
59517         (shr-string-number): New function.
59518         (shr-make-placeholder-image): Make placeholder images.
59519         (shr-tag-img): Insert them if we have SVG support.
59521 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
59523         Get explicit width/height + scale computations right
59525         * src/image.c (compute_image_size): :scale should also be
59526         taken into account when :width and :height are explicitly names.
59528 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
59530         New functions for getting and setting image properties
59532         * doc/lispref/display.texi (Defining Images): Document
59533         image-get/set-property.
59535         * lisp/image.el (image-set-property): New function.
59536         (image-get-property): Ditto.
59538 2016-02-19  Alan Mackenzie  <acm@muc.de>
59540         Await the final mouse event in C-h c and C-h k.
59542         * lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
59543         event, keep reading further events until a timeout occurs, to ensure we have
59544         the complete mouse event from the user.
59546 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
59548         Add a library for creating and manipulating SVG images
59550         * doc/lispref/display.texi (SVG Images): New section.
59552         * lisp/svg.el: New file.
59554 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
59556         Fix up tests for async TLS negotiation
59558 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
59560         Fix coding system setup
59562         * src/process.c (set_network_socket_coding_system): Pass in
59563         the host/service that's been computed already.
59565 2016-02-18  Michael Albinus  <michael.albinus@gmx.de>
59567         Reference `tramp-theme' in GNU ELPA.
59569         * doc/misc/tramp.texi (Frequently Asked Questions):
59570         Reference `tramp-theme' in GNU ELPA.
59572 2016-02-17  Lars Ingebrigtsen  <larsi@gnus.org>
59574         Verify the TLS connection asynchronously
59576         * src/gnutls.c (gnutls_verify_boot): Refactor out into its own
59577         function so that we can call it asynchronously.
59578         (Fgnutls_boot): Use it.
59580         * src/process.c (wait_reading_process_output): Verify the TLS
59581         negotiation.
59583 2016-02-16  Simen Heggestøyl  <simenheg@gmail.com>
59585         Add column layout module to CSS property list
59587         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
59588         CSS Multi-column Layout Module.
59590 2016-02-16  Michael Albinus  <michael.albinus@gmx.de>
59592         Minor cleanup in CONTRIBUTE and test/README
59594         * CONTRIBUTE: Remove detailed explanation about testing; this
59595         is now in test/README.
59597         * test/README: Don't mention automated/ subdirectory.
59599 2016-02-15  Glenn Morris  <rgm@gnu.org>
59601         Provide 'term/name in lisp/term files.
59603         * lisp/term/AT386.el, lisp/term/bobcat.el, lisp/term/cygwin.el:
59604         * lisp/term/internal.el, lisp/term/iris-ansi.el, lisp/term/linux.el:
59605         * lisp/term/lk201.el, lisp/term/news.el, lisp/term/ns-win.el:
59606         * lisp/term/pc-win.el, lisp/term/rxvt.el, lisp/term/screen.el:
59607         * lisp/term/sun.el, lisp/term/tty-colors.el, lisp/term/tvi970.el:
59608         * lisp/term/vt100.el, lisp/term/vt200.el, lisp/term/w32-win.el:
59609         * lisp/term/w32console.el, lisp/term/wyse50.el, lisp/term/x-win.el:
59610         For consistency, provide 'term/name in all files that don't already.
59612 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
59614         Deactivate the correct process
59616         * src/process.c (wait_reading_process_output): Deactivate the
59617         correct process on failure.
59619 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
59621         Implement asynch TLS negotiation
59623         * src/gnutls.c (gnutls_try_handshake): Factor out into its own
59624         function.
59625         (emacs_gnutls_handshake): Use it.
59626         (emacs_gnutls_read): Just return instead of retrying the handshake.
59628         * src/process.c (finish_after_tls_connection): Factor out
59629         into its own function.
59630         (connect_network_socket): Use it.
59631         (wait_reading_process_output): Retry TLS handshakes.
59632         (wait_reading_process_output): Defer sentinel until TLS completes.
59634 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
59636         Simplify the DNS resolution loop a bit
59638         * src/process.c (wait_reading_process_output): Simplify the
59639         DNS resolution loop a bit.
59641 2016-02-15  Alain Schneble  <a.s@realize.ch>
59643         Loop over the process list instead of maintaining a separate list
59645         * src/process.c: Remove declaration/definition of dns_processes list.
59646         * src/process.c (wait_reading_process_output): Loop over all processes in
59647         Vprocess_alist instead of dns_processes, to check for completed DNS
59648         requests.
59650 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
59652         Allow setting the filter masks later
59654         * src/process.c (Fset_process_filter): Don't set the socket
59655         masks here, because we may not have a socket yet.
59656         (set_process_filter_masks): New function.
59657         (connect_network_socket): Set the filter masks here.
59659 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
59661         Remove debugging
59663 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
59665         Ensure we always free DNS resources when deleting a process
59667         * src/process.c (free_dns_request): Factor out into own function.
59668         (Fdelete_process): When deleting a process, free any DNS
59669         structures associated with it.
59670         (check_for_dns): Always free all DNS resources.
59672 2016-02-15  Alain Schneble  <a.s@realize.ch>
59674         Don't block in set-process-window-size
59676         * src/process.c (set-process-window-size): Explicitly return Qnil when
59677         called with network processes as set_window_size won't work anyway on
59678         socket fds.  As a welcome side effect, this makes the blocking
59679         wait_for_socket_fds call obsolete.
59681 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
59683         Do most of the coding system setup earlier
59685         * src/process.c (Fmake_network_process): Set the read/write
59686         coding systems here, so that special bindings work.
59687         (Fmake_network_process): Complete the coding system setup here.
59689 2016-02-15  John Wiegley  <johnw@newartisans.com>
59691         Merge from origin/emacs-25
59693         d4b93e1 Minor fixes in global-auto-composition-mode
59694         02b037b Allow arithmetic operators inside C++ template constructs.
59695         44b16f6 Avoid crashes in semi-malformed 'condition-case'
59696         652e5b4 Allow arithmetic operators inside C++ template constructs.
59697         d9ea795 Fix regression with 'recent-keys' and keyboard macros
59698         903603f Fix wording in a doc-view.el comment
59699         cf79616 ; Spelling fixes
59700         f8bf1b3 CONTRIBUTE cleanups and updates
59701         f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang
59702         1834ac7 Port to x86 GCC 4.3.1 and earlier
59703         8482949 Fix point movement under 'scroll-conservatively'
59704         c1313b5 Replace colon in file name (not legal on Windows)
59705         f7af26c Fix a typo in edt.texi
59706         8badf95 Make 'mmap_realloc' on MS-Windows more reliable
59707         856cd94 Grep alias `all' shall not match parent directory
59709 2016-02-15  John Wiegley  <johnw@newartisans.com>
59711         Merge from origin/emacs-25
59713         dacde7e * etc/AUTHORS: Update the AUTHORS file
59714         478ca5d ; fix changelog entries
59715         2b7d006 ; make change-history-commit
59716         851decb * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
59717         47896c8 ; Improve commentary in insdel.c
59718         53ca1e1 Index tilde characters in names of backup files
59719         d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings
59720         b55f06d ; * etc/NEWS: Use double spaces to end a sentence.
59721         28bb214 Announce that the `C-x w' bindings are deprecated
59722         1c98f98 Suppress GNUstep hardening
59723         d82f24b Fix redisplay after a large insertion
59724         85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
59725                 closed server"
59726         e8e3db0 ; Improve merge documentation in CONTRIBUTE
59727         5be9989 * lib-src/make-docfile.c: Include stdarg.h.
59728         c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
59729                 limitations.
59731 2016-02-15  John Wiegley  <johnw@newartisans.com>
59733         Merge from origin/emacs-25
59735         f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
59736         afe7d1f Revert "Document EXIF image rotation"
59737         c6f377c Document OS X LANG default
59738         eb4a18c Set locale when run from OS X GUI
59739         456c0a3 make-docfile cleanup for I/O, etc.
59740         25ec995 Memory-management cleanup in make-docfile
59741         02d925e Kevin Gallagher has new email address
59742         4ef153b Improve doc strings of 'forward/backward-word-strictly'
59743         3ad05a0 Describe Makefile test targets in test/README
59745 2016-02-15  John Wiegley  <johnw@newartisans.com>
59747         Merge from origin/emacs-25
59749         10b8ed2 Document EXIF image rotation
59750         0f60049 Support integer image rotation and respect EXIF rotations
59751         7dd45b6 Quote table names for postgres listings (sql-mode)
59752         6bac035 * lisp/replace.el (replace-match-maybe-edit): Make arg
59753                 `backward' optional.
59754         ee909aa * lisp/simple.el (next-line-or-history-element): Reset
59755                 temporary-goal-column.
59756         0a289d3 Suppress ACL ops if configured with --disable-acl
59757         1a9dbf5 Mention web bugs
59758         fa55da2 Make mm-html-blocked-images default to "" again
59760 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
59762         Protect against initial handshake failures
59764         * src/process.c (connect_network_socket): Mark the connection
59765         as failed if the handshake didn't succeed yet.  This should be
59766         reworked later.
59768 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
59770         Call the network security manager after doing TLS negotiation
59772         * lisp/net/network-stream.el (network-stream-open-tls):
59773         Postpone NSM verification when running async.
59775         * src/process.c (Fset_process_filter): This function doesn't
59776         need to wait.
59777         (connect_network_socket): Set the process status to "run" only
59778         after TLS negotiation.
59779         (wait_for_socket_fds): Take a name parameter for more debugging.
59780         (wait_reading_process_output): Don't change status to "run"
59781         unless TLS negotiation has finished.
59782         (send_process): Wait for the process here instead of
59783         send_process_string.
59784         (connect_network_socket): Call the network security manager.
59786 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
59788         Remove some #ifdefs and update documentation
59790         * doc/lispref/processes.texi (Network Processes): Remove
59791         mention of `dns'.
59793         * lisp/net/network-stream.el (open-network-stream): Remove
59794         mention of `dns'.
59796         * src/process.c (Fset_process_filter)
59797         (Fset_process_window_size, Fprocess_contact)
59798         (Fprocess_datagram_address, Fset_process_datagram_address)
59799         (Fset_network_process_option, Fprocess_send_region)
59800         (Fprocess_send_string, Fset_process_coding_system)
59801         (Fset_process_filter_multibyte): Remove the #ifdef
59802         HAVE_GETADDRINFO_A checks.
59803         (Fprocess_send_string): Wait for TLS negotiation.
59804         (wait_for_tls_negotiation): New function.
59805         (send_process): Remove the TLS boot check.
59807         * src/process.c (Fmake_network_process): Ditto.
59809 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
59811         Use :nowait t in url-gw
59813         * lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
59814         since we're not differentiating.
59816 2016-02-14  Alain Schneble  <a.s@realize.ch>
59818         Add blockers to process functions
59820         * src/process.c (set-process-filter, set-process-window-size,
59821         process-contact, process-datagram-address, set-process-datagram-address,
59822         set-network-process-option): Make functions wait (block) on network
59823         process until pending DNS requests have been processed and associated
59824         socket initialized.
59826         * src/process.c (process-send-region, process-send-string,
59827         process-send-eof): Make functions wait (block) while network process is
59828         in connect state.
59830 2016-02-14  Simen Heggestøyl  <simenheg@gmail.com>
59832         Add fragmentation module to CSS property list
59834         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
59835         CSS Fragmentation Module Level 3.
59837 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
59839         * doc/lispref/sequences.texi: Add documentation for seq-map-indexed
59841 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
59843         New function seq-map-indexed
59845         * lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
59846         * test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.
59848 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59850         * lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias.
59852 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59854         Fix problem with wrong encoding of non-ASCII message bodies
59856         * lisp/gnus/mml.el (mml-generate-mime-1): Disable
59857         multibyteness before encoding the data.
59859 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59861         Remove codepage setup code from mm-util
59863         * lisp/gnus/mm-util.el (mm-codepage-setup): Remove.
59864         (mm-codepage-iso-8859-list): Remove.
59865         (mm-codepage-ibm-list, mm-setup-codepage-iso-8859)
59866         (mm-setup-codepage-ibm): Remove.
59867         (mm-charset-eval-alist): Remove the code pages from the
59868         default value.
59870 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59872         Remove compat code for older Emacsen
59874         * lisp/gnus/gnus-art.el (gnus-button-url-regexp): Remove
59875         XEmacs compat code.
59877         * lisp/gnus/gnus-sync.el (gnus-sync-json-alist-p): Remove
59878         unused compat function.
59879         (gnus-sync-json-plist-p): Ditto.
59881         * lisp/gnus/message.el (message-default-charset): Make obsolete.
59882         (message-info): Remove compat code.
59883         (message-setup-fill-variables): Remove kludge needed earlier
59884         to not overwrite `normal-auto-fill-function'.
59885         (message-split-line): Remove compat code.
59887         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove
59888         compat code.
59890 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59892         Remove some compat functions from gmm-utils.el
59894         * lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Remove
59895         compat code.
59896         (gmm-image-search-load-path): Remove.
59897         (gmm-image-load-path-for-library): Remove.
59899 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59901         Remove the gmm-lazy and nnmail-lazy compat widgets
59903         * lisp/gnus/gmm-utils.el (gmm-lazy): Remove.
59905         * lisp/gnus/nnmail.el (nnmail-lazy): Remove.
59907 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59909         Clean up nnimap-request-move-article slightly
59911         * lisp/gnus/nnheader.el (subr-x): Require.
59913         * lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
59914         the code slightly.
59916 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59918         Use open-network-stream instead of open-protocol-stream
59920         * lisp/gnus/nnimap.el: Use open-network-stream instead of
59921         open-protocol-stream.
59923         * lisp/gnus/nntp.el: Ditto.
59925         * lisp/gnus/pop3.el: Ditto.
59927         * lisp/net/sieve-manage.el: Ditto.
59929         * lisp/net/network-stream.el (open-protocol-stream): Make obsolete.
59931 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59933         Remove compat code that relies on (featurep 'mule)
59935         * lisp/gnus/gnus-group.el (gnus-group-name-decode): Remove
59936         compat code.
59938         * lisp/gnus/gnus-start.el (gnus-read-descriptions-file):
59939         Remove compat code.
59941         * lisp/gnus/mm-bodies.el (mm-decode-body, mm-decode-string):
59942         Remove compat code.
59944         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
59945         Remove compat code.
59946         (mm-w3m-standalone-supports-m17n-p): Ditto.
59948 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59950         Remove compat functions from starttls.el
59952         * lisp/net/starttls.el
59953         (starttls-set-process-query-on-exit-flag): Remove.
59955 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59957         Remove compat functions from smime.el
59959         * lisp/gnus/smime.el (smime-replace-in-string): Remove.
59960         (smime-make-temp-file): Remove.
59962 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59964         Remove compat code from smiley
59966         * lisp/gnus/smiley.el (smiley-style): Remove compat code.
59968 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59970         Remove compat code from rfc2047
59972         * lisp/mail/rfc2047.el (rfc2047-encode-message-header): Remove
59973         compat code.
59974         (rfc2047-decode-string): Ditto.
59976 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59978         Remove compat function from pop3
59980         * lisp/gnus/pop3.el (pop3-set-process-query-on-exit-flag): Remove.
59982 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59984         Remove compat code in Gnus backends
59986         * lisp/gnus/nndiary.el (nndiary-error): Remove.
59988         * lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.
59990         * lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.
59992         * lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.
59994         * lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.
59996 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
59998         Remove compat code from some mml files
60000         * lisp/gnus/mml-sec.el (mml-secure-passphrase-cache-expiry):
60001         Remove compat code.
60003         * lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
60004         Always use `mail-extract-address-components', since this isn't
60005         time critical.
60006         (mml-smime-get-dns-cert): Ditto.
60008         * lisp/gnus/mml.el (mml-preview): Remove compat code.
60010 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60012         Remove compat code and compat functions from mm-util.el
60014         * lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): Remove
60015         compat code.
60016         (mm-coding-system-priorities)
60017         (mm-mule-charset-to-mime-charset, mm-charset-after)
60018         (mm-mime-charset, mm-iso-8859-x-to-15-region): Remove compat code.
60019         (mm-detect-coding-region): Define unconditionally.
60020         (mm-detect-mime-charset-region): Ditto.
60021         (mm-coding-system-to-mime-charset): It's 'mime-charset now.
60022         (coding-system-name)
60023         (find-file-coding-system-for-read-from-filename)
60024         (find-operation-coding-system): Remove aliases.
60026 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60028         Remove some compat code from mm-*.el
60030         * lisp/gnus/mm-bodies.el (mm-decode-body): Ditto.
60032         * lisp/gnus/mm-decode.el (mm-tmp-directory)
60033         (mm-valid-image-format-p): Remove compat code.
60035         * lisp/gnus/mm-url.el (mm-url-insert-file-contents): Remove
60036         "Connection" "Close" workaround for older Emacsen.
60038 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60040         Remove compat code and functions from message.el
60042         * lisp/gnus/message.el (message-send-mail-function): Remove
60043         compat code.
60044         (message-dont-reply-to-names, message-mode)
60045         (message-setup-fill-variables, message-fill-paragraph)
60046         (message-remove-blank-cited-lines, message-make-from)
60047         (message-forward-rmail-make-body, message-tool-bar-gnome)
60048         (message-tab): Remove compat code.
60049         (message-completion-in-region): Remove.
60050         (message-read-from-minibuffer): Remove compat code.
60052 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60054         Declare rfc1843 instead of autoloading
60056         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Declare
60057         instead of autoload.
60059 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
60061         Avoid signaling an error in 'dired-do-find-regexp-and-replace'
60063         * lisp/dired-aux.el: Require cl-lib, so that 'cl-mapcan' is
60064         autoloaded correctly.  (Bug#22613)
60066 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
60068         Fix network-stream-tests.el for MS-Windows
60070         * test/lisp/net/network-stream-tests.el
60071         (connect-to-tls-ipv6-nowait): Skip for MS-Windows builds.
60072         (connect-to-tls-ipv4-wait): Add a 0.1 sleep-for.
60074 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
60076         Remove some Message compat functions
60078         * lisp/gnus/message.el (message-kill-all-overlays): Define
60079         unconditionally.
60080         (message-window-inside-pixel-edges): Remove.
60081         (mail-dont-reply-to): Remove.
60083 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60085         Remove some Gnus compat code
60087         * lisp/gnus/gnus-art.el (gnus-mime-inline-part): Remove compat code.
60088         (gnus-mm-display-part): Ditto.
60090         * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Remove
60091         compat code.
60093 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60095         Sort groups before inserting them into the group buffer
60097         * lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
60098         Sort groups before inserting them.
60100 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60102         Make "unseen" tracking work again in Gnus
60104         * lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen"
60105         tracking work again.
60107 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60109         Remove Gnus compat functions defined in gnus.el
60111         * lisp/gnus/gnus.el (gnus-extent-detached-p): Remove.
60112         (gnus-extent-start-open, gnus-character-to-event)
60113         (gnus-assq-delete-all, gnus-add-text-properties)
60114         (gnus-put-text-property, gnus-key-press-event-p):
60116 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60118         Remove compat code from gnus-uu and win
60120         * lisp/gnus/gnus-util.el (gnus-image-type-available-p): Remove
60121         compat code.
60123         * lisp/gnus/gnus-uu.el (gnus-uu-tmp-dir): Remove compat code.
60125         * lisp/gnus/gnus-win.el (gnus-frames-on-display-list): Remove.
60127 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60129         Remove several gnus-util compat functions
60131         * lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
60132         (gnus-read-shell-command): Remove.
60133         (gnus-match-substitute-replacement): Remove.
60134         (gnus-string-match-p): Remove.
60135         (gnus-string-prefix-p): Remove.
60137 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60139         Remove the gnus-merge alias
60141         * lisp/gnus/gnus-util.el (gnus-merge): Remove.
60143 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60145         Remove the gnus-union alias
60147         * lisp/gnus/gnus-util.el (gnus-union): Remove.
60149 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60151         Remove the gnus-delete-alist alias
60153         * lisp/gnus/gnus-util.el (gnus-run-mode-hooks): Remove compat code.
60154         (gnus-delete-alist): Remove.
60156 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60158         Remove the gnus-float-time alias
60160         * lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
60161         compat code.
60162         (gnus-float-time): Remove.
60164 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60166         Remove compat code from gnus-srvr, start and sum
60168         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Remove
60169         compat code.
60171         * lisp/gnus/gnus-start.el (gnus-check-reasonable-setup):
60172         Remove compat code.
60174         * lisp/gnus/gnus-sum.el (gnus-summary-display-arrow)
60175         (gnus-summary-make-menu-bar, gnus-summary-make-tool-bar)
60176         (gnus-recenter)
60177         (gnus-summary-limit-strange-charsets-predicate)
60178         (gnus-summary-show-thread): Remove compat code.
60180 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60182         Remove compat code from gnus-spec.el
60184         * lisp/gnus/gnus-spec.el (gnus-lrm-string-p): Remove compat code.
60185         (gnus-balloon-face-function): Remove compat code.
60187 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60189         Fix compat change in last check-in
60191         * lisp/gnus/gnus-group.el
60192         (gnus-group-name-charset-group-alist): `find-coding-system'
60193         doesn't exist in Emacs.
60195 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60197         Always use url-queue
60199         * lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching):
60200         Always use url-queue.
60202 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60204         Remove compat functions from gnus-html.el
60206         * lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove.
60208 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60210         Remove compat code from gnus-group.el
60212         * lisp/gnus/gnus-group.el (gnus-group-name-charset-group-alist)
60213         (gnus-group-make-tool-bar, gnus-group-update-tool-bar): Remove compat code.
60215 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60217         Define gnus-diary-kill-entire-line unconditionally
60219         * lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line):
60220         Define unconditionally.
60222 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60224         Remove compat code from gnus-cache and gnus-bookmark
60226         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Ditto.
60228         * lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-name):
60229         Remove compat code.
60231 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60233         Remove compat code from gnus-art.el
60235         * lisp/gnus/gnus-art.el (gnus-article-prepare)
60236         (gnus-mime-copy-part, gnus-output-to-file)
60237         (gnus-article-reply-with-original)
60238         (gnus-button-handle-apropos-variable)
60239         (gnus-button-handle-apropos-documentation):
60241 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60243         Remove compat code from gnus-agent.el
60245         * lisp/gnus/gnus-agent.el (gnus-agent-make-mode-line-string):
60246         Remove compat code.
60248 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60250         Rewrite gmm-labels usage to use cl-labels
60252         * lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Remove compat code.
60253         (gmm-labels): Remove.
60255 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60257         Remove compat code from canlock.el
60259         * lisp/gnus/canlock.el (defmacro): Remove
60261 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60263         Remove compat code from auth-source
60265         * lisp/gnus/auth-source.el (auth-source-read-char-choice):
60266         Remove compat code.
60268 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60270         Fix gnus-group.el compilation warnings about unprefixed variables
60272         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): Avoid
60273         compilation warnings by passing in the dynamic variables as
60274         explicit lexical parameters to `eval'.
60276 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60278         Fix the :tracker slot name
60280         * lisp/gnus/registry.el (registry-lookup-secondary): The
60281         `tracker' slot is called `tracker', not `:tracker'.
60283 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60285         Fix compilation warnings in gnus-art.el
60287         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Autoload.
60288         (gnus-article-hide): Avoid compilation warnings.
60290 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60292         Fix compilation warning in gnus-score.el
60294         * lisp/gnus/gnus-score.el (gnus-art): Require to silence byte
60295         compiler.
60297 2016-02-12  Andreas Schwab  <schwab@linux-m68k.org>
60299         Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
60301         This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
60303         This makes nnimap groups not be activated.
60305 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60307         Fix encoding problem introduced by previous patch series
60309         * lisp/mail/rfc2047.el: Ditto (bug#22648).
60311         * lisp/mail/rfc2231.el: Fix problem created by the
60312         mm-replace-in-string conversion.
60314 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
60316         Revert "Avoid defvarring prefix-less variables"
60318         This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.
60320         The defvars are needed if we're doing lexical-binding
60322 2016-02-12  Glenn Morris  <rgm@gnu.org>
60324         * test/lisp/url/url-auth-tests.el (url-auth-test-digest-auth):
60325         Make it pass.
60327         * test/lisp/url/url-auth-tests.el
60328         (url-auth-test-digest-auth-retrieve-cache): Fix obvious typo.
60330 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60332         Finish up cl-defmethoding registry,el
60334         * lisp/gnus/registry.el (initialize-instance): Use cl-defmethod.
60336 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60338         Revert the gnus-replace-in-string change, fix arguments, reapply
60340 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60342         Silence more message.el compilation warnings
60344         * lisp/gnus/message.el (message-generate-headers): Don't use
60345         variable values directly to get the header values, because
60346         that breaks with lexical binding (without unprefixed defvars).
60348 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60350         Fix various compilation warnings in message.el
60352         * lisp/gnus/message.el (message-fix-before-sending): Use
60353         read-multiple-choice instead of gnus-multiple-choice.
60354         (mm-util): Require.
60355         (rfc2047): Require.
60356         (message-remove-blank-cited-lines): Use message instead of
60357         gnus-message.
60358         (message-send): Use y-or-n-p instead of gnus-y-or-n-p.
60360 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60362         Silence compilation warning in mm-view
60364         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence
60365         compilation warning.
60367 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60369         Fix epg-related compilation warnings in mml-sec
60371         * lisp/gnus/mml-sec.el: Fix compilation warnings from the epg
60372         library.
60374 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60376         rmail-dont-reply-to-names is obsolete
60378         * lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Don't bind
60379         the obsolete `rmail-dont-reply-to-names' variable.
60381 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60383         Partially revert the defmethod->cl-defmethod change in registry.el
60385         * lisp/gnus/registry.el (initialize-instance): Use defmethod,
60386         since cl-defmethod doesn't work with :after.
60387         (initialize-instance): Ditto, but with :before.
60389 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60391         Avoid obsolete function in plstore
60393         * lisp/gnus/plstore.el (plstore--insert-buffer): Use setf
60394         instead of the obsolete epg-context-set-armor.
60396 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60398         Use cl-defmethod in registry.el
60400         * lisp/gnus/registry.el: Use cl-defmethod instead of the
60401         obsolete defmethod.
60403 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60405         Make sieve-manage require sasl
60407         * lisp/net/sieve-manage.el: Fix compilation warning by
60408         requiring sasl.
60410 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60412         Avoid defvarring prefix-less variable
60414         * lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'.
60416 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60418         * lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates.
60420 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60422         Don't use the obsolete char-valid-p function
60424         * lisp/gnus/mm-url.el (mm-url-decode-entities): Don't use the
60425         obsolete char-valid-p function.
60427 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60429         Fix missed translation in a previous commit
60431         * lisp/gnus/mailcap.el (mailcap-mime-types): Fix missed
60432         translation of mailcap-delete-duplicates.
60434 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60436         Avoid using mm-make-temp-file
60438         * lisp/gnus/mail-source.el (mail-source-delete-crash-box): Ditto.
60440         * lisp/gnus/mm-decode.el (mm-display-external): Ditto.
60442         * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Ditto.
60444 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60446         Fix compilation warning in gnus-start
60448         * lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid
60449         mm-make-temp-file.
60451 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60453         Avoid the obsoleted defmethod
60455         * lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of
60456         defmethod.
60458 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60460         Avoid defvarring prefix-less variables
60462         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): We
60463         don't need to `defvar' the short variables to allow `eval' to
60464         use them.
60466 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60468         nnweb doesn't need unibyte buffers
60470         * lisp/gnus/nnweb.el (nnweb-retrieve-headers)
60471         (nnweb-read-overview, nnweb-request-article)
60472         (nnweb-google-reference): Unibyte buffers are not needed here.
60474 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60476         Encode before sending from nnspool
60478         * lisp/gnus/nnspool.el (nnspool-request-post): Encode data
60479         before sending it to the news server.
60481 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60483         nnrss buffers don't have to be unibyte
60485         * lisp/gnus/nnrss.el (nnrss-insert): The buffer doesn't have
60486         to be unibyte just to receive data, I think.
60488 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60490         Don't use mm-with-unibyte-current-buffer in mml2015
60492         * lisp/gnus/mml2015.el (mml2015-mailcrypt-encrypt): Don't use
60493         mm-with-unibyte-current-buffer.
60495 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60497         Don't use mm-with-unibyte-current in mml1991
60499         * lisp/gnus/mml1991.el (mml1991-epg-sign): Don't use
60500         mm-with-unibyte-current.
60502 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60504         Don't use mm-with-unibyte-current in mml1991
60506         * lisp/gnus/mml1991.el (mml1991-pgg-sign): Don't use
60507         mm-with-unibyte-current.
60509 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60511         Don't use mm-with-unibyte-buffer in utf7
60513         * lisp/international/utf7.el (utf7-fragment-encode): Don't use
60514         mm-with-unibyte-buffer.
60516 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60518         Remove XEmacs compat code from Gnus helper libraries
60520         * lisp/gnus/plstore.el (plstore-called-interactively-p): Remove.
60522         * lisp/gnus/pop3.el (pop3-make-date): Remove XEmacs compat.
60524         * lisp/gnus/sieve-mode.el: Remove XEmacs compat.
60526         * lisp/gnus/spam-stat.el (spam-stat-called-interactively-p): Remove.
60528 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60530         Remove XEmacs compat code from Gnus backends
60532         * lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
60533         (mm-inline-image): Rename from mm-inline-image-emacs.
60535         * lisp/gnus/mml.el: Remove XEmacs compat code.
60537         * lisp/gnus/nnheader.el: Remove XEmacs compat code.
60539         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
60540         XEmacs compat code.
60542         * lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.
60544         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
60545         XEmacs compat code.
60547         * lisp/gnus/nnmairix.el: Remove XEmacs compat code.
60549         * lisp/gnus/nnrss.el: Remove XEmacs compat code.
60551         * lisp/gnus/nntp.el: Remove XEmacs compat code.
60553 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60555         Remove XEmacs compat functions from mm-util.el
60557         * lisp/gnus/mm-util.el (mm-special-display-p): Remove.
60558         (mm-decode-coding-string, mm-encode-coding-string)
60559         (mm-decode-coding-region, mm-encode-coding-region): Remove.
60560         (mm-string-to-multibyte): Remove.
60561         (mm-char-or-char-int-p): Remove.
60562         (mm-ucs-to-char): Remove compat versions of the function.
60563         (mm-read-coding-system): Remove.
60564         (mm-coding-system-p): Remove compat code.
60565         (mm-enrich-utf-8-by-mule-ucs): Remove.
60566         (mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
60567         (mm-delete-duplicates): Remove.
60568         (mm-multibyte-p): Remove compat versions.
60569         (mm-xemacs-find-mime-charset-1): Remove.
60570         (mm-xemacs-find-mime-charset): Remove.
60571         (mm-make-temp-file): Made obsolete.
60572         (mm-find-buffer-file-coding-system): Remove XEmacs compat.
60574 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
60576         Remove Message and mm-decode XEmacs compat code
60578         * lisp/gnus/message.el: Remove XEmacs compat code.
60580         * lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.
60582         * lisp/gnus/mm-util.el: Remove some XEmacs compat code.
60584 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
60586         Remove som XEmacs compat code from message.el
60588         * lisp/gnus/message.el: Remove some XEmacs compat code.
60590 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
60592         Remove XEmacs compat code from ietf-drums.el
60594         * lisp/mail/ietf-drums.el (ietf-drums-syntax-table): Drop
60595         XEmacs compat.
60597 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
60599         Remove XEmacs compat code from gravatar.el
60601         * lisp/gnus/gravatar.el: Remove XEmacs compat code from
60602         gravatar.el.
60604 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
60606         Remove more XEmacs compat code from Gnus
60608         * lisp/gnus/gnus-util.el (gnus-bound-and-true-p): Remove.
60609         (gnus-timer--function): Remove.
60611         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Remove XEmacs
60612         19.2 compat.
60614         * lisp/gnus/gnus-win.el: Remove XEmacs compat code.
60616 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
60618         Remove more XEmacs compat functions from gnus-util.el
60620         * lisp/gnus/gnus-util.el (gnus-put-display-table): Remove.
60621         (gnus-get-display-table): Remove.
60622         (gnus-format-message): Remove.
60624 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
60626         Remove more XEmacs compat functions from Gnus
60628         * lisp/gnus/gnus-util.el (gnus-next-char-property-change): Remove.
60629         (gnus-previous-char-property-change): Remove.
60630         (gnus-graphic-display-p): Remove.
60631         (gnus-select-frame-set-input-focus): Remove.
60633 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
60635         Remove more XEmacs compat code from gnus-util
60637         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
60638         all its usages).
60639         (gnus-invisible-p): Remove.
60641 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
60643         Remove gnus-make-local-hook
60645         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
60646         all its usages).
60648 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
60650         gnus-replace-in-string -> replace-regexp-in-string
60652         * lisp/gnus/gnus-util.el (gnus-replace-in-string): Declare
60653         obsolete.  Transform all usages of it into
60654         replace-regexp-in-string.
60656         * lisp/gnus/mailcap.el (mailcap-replace-in-string): Remove.
60658 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
60660         Remove Gnus XEmacs compat
60662         * lisp/gnus/gnus-start.el (gnus-dribble-enter): Remove comment
60663         about code that doesn't work in XEmacs.
60665         * lisp/gnus/gnus-sum.el: Remove XEmacs compat.
60667         * lisp/gnus/gnus-topic.el: Remove XEmacs compat.
60669 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
60671         Remove compat functions in gnus-spec.el
60673         * lisp/gnus/gnus-spec.el (gnus-string-width-function): Remove.
60674         (gnus-substring-function): Remove.
60675         (gnus-use-correct-string-widths): Remove.
60676         (gnus-make-format-preserve-properties): Remove.
60677         (gnus-xmas-format): Remove.
60679         * lisp/gnus/gnus-srvr.el (gnus-server-mode): Remove XEmacs compat.
60681 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
60683         Remove Gnus XEmacs compat functions
60685         * lisp/gnus/gnus-registry.el: Remove XEmacs compat.
60687         * lisp/gnus/gnus-salt.el: Remove XEmacs compat.
60689         * lisp/gnus/gnus-score.el (gnus-decay-score): Remove XEmacs compat.
60691 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
60693         Remove Gnus XEmacs compatibility
60695         * lisp/gnus/gnus-demon.el (gnus-demon-idle-since): Remove
60696         XEmacs compat.
60698         * lisp/gnus/gnus-dired.el: Remove XEmacs compat.
60700         * lisp/gnus/gnus-draft.el: Remove XEmacs compat.
60702         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Remove
60703         XEmacs compat.
60705         * lisp/gnus/gnus-group.el: Remove XEmacs compat.
60707         * lisp/gnus/gnus-html.el: Remove XEmacs compat.
60709         * lisp/gnus/gnus-ml.el: Remove XEmacs compat.
60711         * lisp/gnus/gnus-picon.el (gnus-picon-style): Remove XEmacs comment.
60713 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
60715         Don't use image-map if it isn't defined
60717         * lisp/net/shr.el (shr-image-map): Only use image-map as a
60718         parent if it's defined (bug#22614).
60720 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
60722         Check for MagickAutoOrientImage
60724         * configure.ac: Check for MagickAutoOrientImage.
60726         * src/image.c (imagemagick_load_image): Don't use
60727         MagickAutoOrientImage unless it's available.
60729 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
60731         Document EXIF image rotation
60733         * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
60735 2016-02-10  Dima Kogan  <dima@secretsauce.net>
60737         Support integer image rotation and respect EXIF rotations
60739         * src/image.c (imagemagick_load_image): Allow integer rotations in
60740         addition to floating point rotations (bug#22591).
60741         * src/image.c (imagemagick_load_image): Images that have an
60742         orientation given in EXIF and have no explicit :rotation tag are now
60743         pre-rotated.  All information such as width/height is reported for the
60744         rotated image.
60746 2016-02-10  Wolfgang Jenkner  <wjenkner@inode.at>
60748         * lisp/net/shr.el (image-map): Defvar it.  (Bug#22614)
60750 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60752         * lisp/gnus/gnus-cite.el: Remove XEmacs compat code.
60754 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60756         Remove compat code from gnus-bookmark.el
60758         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-mouse-available-p): Remove.
60759         (gnus-bookmark-remove-properties): Remove.
60761 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60763         Remove XEmacs compat code from gnus-a*.el
60765         * lisp/gnus/gnus-agent.el: Remove compat code.
60767         * lisp/gnus/gnus-art.el: Remove compat code.
60769         * lisp/gnus/gnus-async.el: Remove compat code.
60771 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60773         Remove gmm compat functions
60775         * lisp/gnus/gmm-utils.el (gmm-image-search-load-path): Remove.
60776         (gmm-write-region): Remove.
60777         (gmm-called-interactively-p): Remove.
60779 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60781         * lisp/gnus/ecomplete.el: Remove XEmacs compat code.
60783 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60785         Remove compat code from compface.el
60787         * lisp/image/compface.el: Remove XEmacs compat code throughout.
60789 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60791         Remove the now empty gnus-ems.el and references to it
60793 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60795         Remove Gnus compat names for mouse bindings
60797         * lisp/gnus/gnus-ems.el (gnus-widget-button-keymap): Remove.
60798         (gnus-down-mouse-2): Remove.
60799         (gnus-down-mouse-3): Remove.
60801 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60803         Drop Gnus compat functions
60805         * lisp/gnus/gnus-ems.el (gnus-mule-max-width-function): Remove.
60807         * lisp/gnus/gnus-util.el (gnus-kill-all-overlays): Move here.
60809         * lisp/gnus/gnus.el (gnus-mode-line-modified): Remove.
60811 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60813         Get rid of gnus-ems-redefine
60815         * lisp/gnus/gnus-ems.el (gnus-mouse-face-prop): Remove.
60817 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60819         * lisp/gnus/gnus-spec.el: Move definition here from gnus-ems.el.
60821 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60823         Remove Gnus compat code
60825         * lisp/gnus/gnus-ems.el (gnus-ems-redefine): Remove
60826         transitional code from ten years ago.
60828 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60830         Allow interactively scaling past :max-width etc
60832         * lisp/image.el (image--current-scaling)
60833         (image--image-without-parameters): New functions.
60834         (image--change-size): Use them to allow changing the size of a
60835         image even if it has :width/:max-width (etc.) already set.
60837 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60839         * lisp/gnus/mm-decode.el (shr-image-map): Compilation fix.
60841 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60843         Allow accessing the image commands via shr
60845         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Allow
60846         accessing the image commands.
60848         * lisp/net/shr.el (shr-image-map): New map used for images.
60849         (shr-urlify): Don't overwrite image maps when applying URL maps.
60851 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60853         Use a sparse image keymap
60855         * lisp/image.el (image-map): Use a sparse keymap.
60857 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60859         Put a keymap on images created with insert-image and friends
60861         * lisp/image.el (image-save): New command.
60862         (image-rotate): Ditto.
60863         (image-map): New keymap.
60864         (insert-image): Put the image-map on all images.
60865         (insert-sliced-image): Ditto.
60866         * doc/lispref/display.texi (Showing Images): Document the
60867         image map.
60869 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60871         Fix some folding issues in read-multiple-choice
60873         * lisp/subr.el (read-multiple-choice): Fix folding when you
60874         have many items.
60876 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60878         Fix typo in last checkin
60880 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60882         Remove Gnus compat functions
60884         * lisp/gnus/gnus-ems.el (gnus-mark-active-p)
60885         (gnus-region-active-p, gnus-select-lowest-window)
60886         (gnus-summary-display-table, gnus-max-width-function): Remove
60887         compat functions.
60889 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60891         Move non-compat Gnus functions to gnus-util.el
60893         * lisp/gnus/gnus-util.el (gnus-remove-image, gnus-put-image)
60894         (gnus-create-image, gnus-image-type-available-p): Move here
60895         from gnus-ems.el, since these aren't compat functions.
60897 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60899         Omit valloc decl if redundant
60901         * src/gmalloc.c (valloc): Omit decl if malloc.h is included,
60902         to pacify --enable-gcc-warnings.
60904 2016-02-09  Wolfgang Jenkner  <wjenkner@inode.at>
60906         Restore the calloc family.
60908         * src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions.
60909         They were lost in a4817d8 but calloc is still (marginally) used in
60910         code statically liked with emacs, so hybrid_calloc is needed.
60911         Also, in the non-hybrid case, we can't get rid of calloc anyway as
60912         other libraries liked with emacs may need it.
60913         * src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.
60915 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
60917         Remove some Gnus compat functions
60919         * lisp/gnus/gnus-ems.el (gnus-string-mark-left-to-right)
60920         (gnus-window-inside-pixel-edges, gnus-set-process-plist)
60921         (gnus-process-plist, gnus-process-get, gnus-process-put): Remove.
60923 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60925         -
60927         -
60929 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60931         Merge from origin/emacs-25
60933         4feb962 * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
60934         cc419fb Don't inloop gnus-uu-mark-thread on the last thread
60935         51c77a2 Display non-ASCII group names better in prompts
60936         f93d669 Default to gpg2 instead of gpg
60938 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60940         Merge from origin/emacs-25
60942         9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
60943         16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
60944         3db6adb * lisp/isearch.el (search-default-mode)
60945         4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
60946         c77ffc8 Use monitor's resolution for positioning tooltips
60947         49e5749 Fix file-notify-test on MS-Windows
60948         be1d874 Fix issues found by auditing w32notify code
60949         87ae218 Extend etags Ruby support for accessors
60950         aa35257 Update publicsuffix.txt.
60951         6816bff Ensure that Gnus dribble handling allows removing entries
60952         691feae Be consistent when using encoded strings in nnimap data
60953         3ed423b Display the decoded Gnus group name
60954         5428b5b Use completion-ignore-case instead of defining command
60956 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60958         Merge from origin/emacs-25
60960         1eaf68f * test/automated/file-notify-tests.el (file-notify-test06-many-events):
60961         d333716 ; * etc/NEWS: Expand news entry for scss-mode
60962         c32c16f ; Better document changes in ls-lisp default behavior
60963         dc6eed2 Fix doc string of tls-program
60965 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60967         Merge from origin/emacs-25
60969         2c117fc * etc/NEWS: Document new mpc.el features
60970         71a0496 * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
60971         9dfece1 Correctly fontify C++ initializations which "look like" functions.
60972         4485222 Improve newsticker-treeview-selection-face
60973         4236944 Minor fix in tagging Ruby accessors by etags
60974         35fc77d Spelling fixes
60975         3dda110 Remove 'def X' from the example
60977 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
60979         Fix network-stream-tests on MS-Windows
60981         * test/lisp/net/network-stream-tests.el (make-local-unix-server):
60982         Skip if local sockets are not supported.
60984 2016-02-09  Michael Albinus  <michael.albinus@gmx.de>
60986         * admin/notes/bug-triage: Fix bug priorities.  Explain colors in debbugs-gnu.
60988 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
60990         Disable 'timer-list'
60992         * lisp/emacs-lisp/timer-list.el: Make 'timer-list' a disabled
60993         command.
60995 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
60997         Avoid aligned_alloc static/extern collision
60999         * src/alloc.c (aligned_alloc): Define to private name when a
61000         static function, to avoid collision with lisp.h extern decl.
61001         Reported by John Yates in:
61002         https://lists.gnu.org/r/emacs-devel/2016-02/msg00439.html
61004 2016-02-08  David Edmondson  <dme@dme.org>
61006         src/process.c Correctly convert AF_INET6 addresses
61008         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
61009         converted to a list of 16 bit quantities by
61010         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
61011         same scheme rather than expecting a (longer) list of 8 bit
61012         quantities.
61014 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
61016         Make `message-beginning-of-line' aware of folded headers
61018         * lisp/gnus/message.el (message-beginning-of-header): New function which
61019         moves point to the beginning of a mail header.  The function is aware of
61020         folded headers and with non-nil argument looks for the true beginning of
61021         a header while with nil argument moves to the indented text of header's
61022         value.
61023         (message-beginning-of-line): Function is now aware of folded headers and
61024         either moves point to the indention of a header or, in visual-line-mode,
61025         searches for the beginning of the header.
61027 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
61029         Optimize ‘point in message header’ check
61031         * lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
61032         regular expression matches with a single bound string match thus
61033         reducing amount of work the function is doing.
61035 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61037         Make the `R' command get the correct relative <img>s
61039         * lisp/net/eww.el (eww-readable): Preserve the base URL so
61040         that image expansions are fetched from the right place (bug#22605).
61042 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61044         Add a mode to list and cancel timers
61046         * doc/lispref/os.texi (Timers): Menton `timer-list'.
61048         * lisp/emacs-lisp/timer-list.el: New file.
61050 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61052         Add new commands to allow changing the size of images
61054         * lisp/image.el (image-increase-size, image-decrease-size):
61055         New commands.
61056         (image-change-size): New function.
61058 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61060         Allow the image scale to be a floating point number
61062         * src/image.c (compute_image_size): The scale can be a
61063         floating point number.
61065 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61067         Add an IPv6 test
61069         * test/lisp/net/network-stream-tests.el
61070         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
61072 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61074         Use gnutls-serv instead of openssh
61076         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
61077         gnutls-serv instead of openssh.
61079 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61081         Skip TLS tests if we don't have openssl
61083         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
61084         TLS tests if we don't have openssl and GnuTLS.
61086 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61088         Add an IPv6 test
61090         * test/lisp/net/network-stream-tests.el
61091         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
61093 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
61095         Use gnutls-serv instead of openssh
61097         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
61098         gnutls-serv instead of openssh.
61100 2016-02-08  Daniel Colascione  <dancol@dancol.org>
61102         Performance improvements for vc-hg
61104         Teach vc-hg how to read some Mercurial internal data structures,
61105         allowing us to avoid the need to run hg status -A, which is very slow
61106         for large repositories.  Fall back to running hg if anything looks
61107         funny.  vc-hg now puts the _working directory_ revision in the
61108         modeline instead of the file revision, which greatly improves
61109         performance and which allows us to again skip running hg in the case
61110         that we have an active bookmark.
61112         * lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
61113         (vc-hg-symbolic-revision-styles)
61114         (vc-hg-use-file-version-for-mode-line-version)
61115         (vc-hg-parse-hg-data-structures): New user preferences
61116         (vc-hg--active-bookmark-internal, vc-hg--run-log)
61117         (vc-hg--symbolic-revision, vc-hg-mode-line-string)
61118         (vc-hg--read-u8, vc-hg--read-u32-be)
61119         (vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
61120         (vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
61121         (vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
61122         (vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
61123         (vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
61124         (vc-hg--ignore-patterns-valid-p)
61125         (vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
61126         (vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
61127         (vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
61128         (vc-hg-state-fast): New functions.
61129         (vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
61130         (vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
61131         (vc-hg--dirstate-scan-cache): New internal variables.
61132         * lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
61133         before updating modeline.
61135 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
61137         Skip TLS tests if we don't have openssl
61139         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
61140         TLS tests if we don't have openssl and GnuTLS.
61142 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
61144         Automatically scale images up on high-density screens
61146         * doc/lispref/display.texi (ImageMagick Images): Mention :scale.
61147         (Defining Images): Mention image-scaling-factor.
61149         * lisp/image.el (image-compute-scaling-factor): New function
61150         (bug#22172).
61151         (create-image): Use it.
61152         (image-scaling-factor): New variable.
61154         * src/image.c (compute_image_size): Take :scale into account.
61156 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
61158         Ensure progress when fetching from the queue
61160         * lisp/url/url-queue.el (url-queue-check-progress): Ensure
61161         that we have progress when fetching queued requests (bug#22576).
61163 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
61165         Make mail-extract-address-components return the user name more
61167         * lisp/mail/mail-extr.el (mail-extract-address-components):
61168         Return the name even if it's the same as the mailbox name (if
61169         `mail-extr-ignore-single-names' isn't set) (bug#22594).
61171 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
61173         Message no longer warns about unknown top level domains
61175 2016-02-07  Jarno Malmari  <jarno@malmari.fi>
61177         Add tests for url-auth
61179         * test/lisp/url/url-auth-tests.el: New file.
61181 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
61183         Add a TLS connection test
61185         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
61186         a TLS connection test.
61188 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
61190         Add more network tests
61192         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
61193         New test.
61195 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
61197         Add network tests
61199         * test/lisp/net/network-stream-tests.el: New suite of network tests.
61201 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
61203         Add a TLS connection test
61205         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
61206         a TLS connection test.
61208 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
61210         Add more network tests
61212         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
61213         New test.
61215 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
61217         Add network tests
61219         * test/lisp/net/network-stream-tests.el: New suite of network tests.
61221 2016-02-07  Rasmus Pank Roulund  <rasmus@gmx.us>
61223         Allow various Gnus and Message address variables to be functions
61225         * doc/misc/gnus.texi (To From Newsgroups):
61226         gnus-ignored-from-addresses can be a function.
61228         * doc/misc/message.texi (Wide Reply):
61229         message-dont-reply-to-names can be a function.
61231         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
61232         message-alternative-emails can be a function.
61234         * lisp/gnus/gnus-notifications.el (gnus-notifications):
61235         message-alternative-emails can be a function (bug#22315).
61237         * lisp/gnus/gnus-sum.el
61238         (gnus-summary-from-or-to-or-newsgroups):
61239         gnus-ignored-from-addresses can be a function (bug#22315).
61241 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
61243         Fix typo in Gnus regexp
61245         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Fix
61246         typo in last change to this regexp (bug#22592).
61248 2016-02-07  Paul Eggert  <eggert@cs.ucla.edu>
61250         Port to FreeBSD x86
61252         Reported by Herbert J. Skuhra in:
61253         https://lists.gnu.org/r/emacs-devel/2016-02/msg00336.html
61254         * src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too,
61255         since malloc always returns a multiple of 8 in FreeBSD.
61257 2016-02-07  Alan Mackenzie  <acm@muc.de>
61259         On leaving CC Mode, clean up by removing character properties.
61261         * lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
61262         all instances of the text properties/extents category, syntax-table,
61263         c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.
61265 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
61267         message-valid-fqdn-regexp no longer exists
61269         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
61270         the no-longer-existing message-valid-fqdn-regexp variable.
61272 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
61274         Remove message-valid-fqdn-regexp, since it changes too much now
61276         * lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
61277         (message-bogus-recipient-p): Don't use it any more.
61278         (message-make-fqdn): Ditto.  Suggested by Lars-Johan Liman.
61280 2016-02-06  Paul van der Walt  <paul@denknerd.org>
61282         Match "Re :" as a "Re:" prefix
61284         * lisp/gnus/message.el (message-subject-re-regexp): Also match
61285         "Re :" as a "Re:" prefix (commonly used in France).
61287 2016-02-06  Adam Sjøgren  <asjo@koldfront.dk>
61289         lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
61291         * lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
61293 2016-02-06  David Edmondson  <dme@dme.org>
61295         src/process.c Correctly convert AF_INET6 addresses
61297         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
61298         converted to a list of 16 bit quantities by
61299         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
61300         same scheme rather than expecting a (longer) list of 8 bit
61301         quantities.
61303 2016-02-05  Martin Jesper Low Madsen  <martin@martinjlowm.dk>
61305         Search for host/port combinations in auth-source on OS X
61307         * lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
61308         Search for all host/port (or protocol) combinations for a match in
61309         the OS X keychain.
61311 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
61313         Remove nonsensical setting of gnus-newsgroup-unseen
61315         * lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
61316         setting of gnus-newsgroup-unseen.
61318 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
61320         Use underline on all terminals that support it
61322         * lisp/subr.el (read-multiple-choice): Use
61323         display-supports-face-attributes-p instead of
61324         display-graphic-p to determine whether we can use underlining.
61326 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
61328         Make the nsm query say what it did after the user interaction
61330         * lisp/net/nsm.el (nsm-query): Issue a message about
61331         aborting/accepting messages (suggested by N. Jackson)
61332         (bug#22531).
61334 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
61336         Omit XLI (init) == 0 optimization in make-vector
61338         * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
61339         == 0) case, as this optimization is probably not worth the hassle.
61340         Just for the record, the test for that case could have been
61341         (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
61342         assuming the typical platform with no padding bits and where
61343         conversion to int omits the most significant bits.
61345 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
61347         * autogen.sh: Port to dash (Bug#22556).
61349 2016-02-05  Michael Albinus  <michael.albinus@gmx.de>
61351         Minor cleanup for Tramp "doas".
61353         * doc/misc/tramp.texi (Inline methods): Add "doas" method.
61355         * etc/NEWS: Add Tramp connection method "doas".
61357         * lisp/net/tramp-sh.el (tramp-methods) <doas>:
61358         Add `tramp-remote-shell-args'.
61360 2016-02-05  Xi Lu  <lx@shellcodes.org>
61362         * lisp/net/tramp-sh.el (tramp-methods) <doas>: Add.  (Bug#22542)
61364         (tramp-default-user-alist): Add rule for "doas".
61365         (top): Completion function for "doas" is
61366         `tramp-completion-function-alist-su'.
61368 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
61370         Restore the window configuration
61372         * lisp/net/nsm.el (nsm-query-user): Restore the window
61373         configuration (bug#22532).
61375 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
61377         Use an X popup in read-multiple-choice if running from a mouse command
61379         * lisp/subr.el (read-multiple-choice): Use an X popup if
61380         called from a mouse action (bug#19368).
61382 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
61384         Display cursor in echo area when prompting
61386         * lisp/subr.el (read-multiple-choice): Display the cursor in
61387         the echo area when prompting (bug#19368).
61389 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
61391         Make NSM prompting clearer
61393         * lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
61394         to prompt in a nicer way (bug#19368).
61396 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
61398         Underline read-multiple-choice-face
61400         * lisp/faces.el (read-multiple-choice-face): Also underline
61401         the choice.
61403 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
61405         Make url.el use async DNS
61407         * lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.
61409         * src/process.c (syms_of_process): Add a `dns' subfeature for
61410         make-network-process.
61412 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
61414         Only do async DNS if requested with :nowait 'dns
61416         * doc/lispref/processes.texi (Network Processes): Mention the
61417         dns value of :nowait.
61419         * src/process.c (Fmake_network_process): Only do async DNS if
61420         :nowait is `dns'.
61422 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
61424         Add sanity check for checking async DNS
61426         * src/process.c (check_for_dns): Disregard processes that have
61427         already been killed.
61429 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
61431         Make the read-multiple-choice prompt a bit prettier
61433         * doc/lispref/commands.texi (Reading One Event): Mention
61434         read-multiple-choice-face.
61436         * lisp/subr.el (read-multiple-choice): Make the prompting a bit
61437         prettier.
61439 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
61441         Prefer memcpy and memset to doing it by hand
61443         * src/alloc.c (Fmake_vector):
61444         * src/ccl.c (setup_ccl_program):
61445         Use memset to clear array.
61446         * src/alloc.c (Fvector, Fmake_byte_code):
61447         * src/charset.c (Fdefine_charset_internal):
61448         Use memcpy to copy array.
61450 2016-02-04  Nicolas Petton  <nicolas@petton.fr>
61452         Do not ignore redirections of 301, 302 and 307 status codes
61454         The current version of HTTP/1.1 (RFC 7231) no longer requires
61455         confirmation on 301, 302 or 307 status codes, therefore we do not have
61456         to ignore redirects for other requests than GET and HEAD.
61458         * lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
61459         and 307 redirects for other requests than GET and HEAD.
61461 2016-02-04  Mark Oteiza  <mvoteiza@udel.edu>
61463         * lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.
61465 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
61467         Simplify USE_ALIGNED_ALLOC
61469         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
61470         in the emacs-25 changes.  Omit no-longer-needed decl for aligned_alloc.
61472 2016-02-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
61474         Honor docstring of gnus-group-get-new-news
61476         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
61477         is t, but non-numeric, unconditionally consider all groups to need
61478         updating.
61480 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
61482         New function read-multiple-choice
61484         * doc/lispref/commands.texi (Reading One Event): Document
61485         read-multiple-choice.
61487         * lisp/faces.el (read-multiple-choice-face): New face.
61489         * lisp/subr.el (read-multiple-choice): New function.
61491 2016-02-03  John Wiegley  <johnw@newartisans.com>
61493         Merge from origin/emacs-25
61495         ee73997 Make erc work better when encountering unknown prefix chars
61496         b99141d Make erc completion case-insensitive again
61497         66c4620 Make complection in erc use consistent casing
61498         8c562b2 Make /QUIT in erc more robust
61499         d93d2c5 Make tracking faces in Emacs work more reliably
61500         af6ab7e Make shr not bug out on images on non-graphical displays
61501         3311f40 Fix bookmark display widths
61502         d90ab1e Fix typo in eww-make-unique-file-name
61503         7f81825 Make it possible to TAB to input fields
61504         a43a1dc Insert complete alt texts when images are disabled
61505         56ed4e1 Allow eww text fields to grow
61506         66b315c Make erc work when subword-mode is switched on
61507         255b68f Fix IMAP doc example
61508         91557f5 Quoting fixes in doc strings and diagnostics
61509         2c0dc9f Fix warning message in hack-local-variables
61510         504696d Etags: yet another improvement in Ruby tags
61511         8784ebf Fix x-popup-menu on TTYs without a mouse
61512         8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
61513                 pcase macro
61514         6191003 Use pop-to-buffer-same-window in eww
61515         fe321fd * autogen.sh: Revert all recent changes.
61516         74ebd4a * make-dist: Updates related to nt/.
61517         737193a * make-dist: Add modules/.
61518         3696bf2 * make-dist: Update for super-special file that can't live in etc/.
61519         a4278e2 Fix failure to compile ns-win.el in parallel builds
61520         860da4d Fix names of tags generated for Ruby accessors
61521         f6213ce Fix file-name recognition in 'etags'
61522         e42e662 Change Ruby file names and extensions recognized by 'etags'
61523         58bfb6a More improvements for Ruby support in 'etags'
61524         c04e911 Add --git-config option to autogen.sh
61525         5713466 Fix editing undo changes in eww fields
61526         51362d6 Allow the user more control of popping up the eww window
61527         ee0fbd8 Make eww-browse-url with new-window parameter work again
61528         9c3142d Clean up eww code slightly
61529         cb035f3 Don't insert nil faces in shr
61530         4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
61531         93f2153 Improve the custom type of some user options.
61532         9f60d7e Mark some risky calendar variables.
61533         1d07dcd Highlight two additional SCSS keywords
61534         ee8b466 Recommend enabling integrity-checking in git
61535         e639e10 Some corrections in Elisp manual
61536         d766ca8 Chatter when autogen.sh changes Git configuration
61537         3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
61538         43cb9f8 Omit unnecessary history from Lisp intro
61539         2fbd1da * etc/HISTORY: Add some more history, plus git tags.
61540         c90e1b4 Improve elisp “Security Considerations” doc
61541         cedd7ca autogen.sh now arranges for git to check hashes
61542         86ce76b ; Fix ChangeLog.2 commit ID.
61543         7b1d2b1 Fix (c & 040) typo in emergency escapes
61544         a8273da Fix display of overlay strings with 'display' and 'box' property
61545         fc48106 Fix imap-starttls-open
61546         cdecbed Fix return value of imap-starttls-open
61547         20c7e34 ; * etc/NEWS: Fix renamed command name
61548         98bdbdb Correct reference to DARWIN_OS preprocessor symbol
61549         b250d29 Spelling fix
61550         b920a0e Spelling fixes
61551         93b144b Pacify GCC on C library without glibc API
61553 2016-02-03  John Wiegley  <johnw@newartisans.com>
61555         Merge from origin/emacs-25
61557         ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
61558                 priority of non-free Chrome.
61559         0fac75f Improve the custom type of some user options.
61560         2df0e04 Highlight CSS variables with variable name face
61561         3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
61562                 user-serviceable.
61563         2a5233c Mark some user options that can get evalled as risky.
61564         39b166f Disable DebPrint in sys_read on MS-Windows
61565         9fd0189 ;Fix ChangeLog entry
61566         4bb7233 Fix typos in Introduction to Emacs Lisp manual
61568 2016-02-03  Mark Oteiza  <mvoteiza@udel.edu>
61570         Add a new command to switch between erc buffers
61572         * doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
61573         * etc/NEWS: Mention new command
61574         * lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
61575         (eww-mode-map): Add menu item
61576         (eww-switch-to-buffer): New command
61578 2016-02-03  David Edmondson  <dme@dme.org>
61580         Make erc work better when encountering unknown prefix chars
61582         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
61583         instead of erroring out on unknown prefix chars (bug#22380).
61585 2016-02-03  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
61587         Allow sending empty hidden values in eww
61589         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
61590         values (bug#22388).
61592 2016-02-03  Andrew Hyatt  <ahyatt@gmail.com>
61594         Remove packages obsoleted before Emacs 24.
61596         In accordance with the policy discussed in the emacs-devel list,
61597         packages that have been obsoleted for a full major release cycle are up
61598         for deletion.
61600         This removes almost all packages that are now eligible for deletion,
61601         with the exception of "cl-compat", which seems it is likely to still be
61602         used, and "optional", which offers some functionality that doesn't have
61603         a replacement yet.
61605 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
61607         Mention context when resume from emergency escape
61609         That way, if the user has been doing something else for a while,
61610         they are reminded of the situation when restarting Emacs,
61611         and are more likely to understand the two questions.
61612         * doc/emacs/trouble.texi (Emergency Escape): Document this.
61613         * src/keyboard.c (handle_interrupt): Implement this.
61615 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
61617         Port aligned_alloc decl to Cygwin.
61619         Problem reported by Ken Brown (Bug#22522#38).
61620         * configure.ac (aligned_alloc): Check for decl too.
61621         * src/lisp.h (aligned_alloc): Declare if not already declared.
61623 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
61625         autogen.sh now configures git only on request
61627         * autogen.sh (do_autoconf, do_git): New vars.
61628         Support new arguments --help, all, autoconf, git.
61629         By default, just do autoconf-related configuration, not git.
61630         Prefer 'echo' to 'cat <<EOF ...', as this tends to avoid temp files.
61631         If GNU cp is available, use it to backup .git/config before
61632         changing it.  When configuring git, chatter about what is being
61633         done, and configure git to check hashes.  Avoid some duplicate
61634         file name specification when creating git hooks.
61636         * GNUmakefile (ALL_IF_GIT): New macro.
61637         (configure): Use it.
61638         * INSTALL.REPO: Suggest './autogen.sh all'.
61640 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
61642         Doc fixes and refactorings based on comments from Eli Zaretskii
61644         * doc/lispref/processes.texi (Network Processes): Clarify the
61645         meaning of :tls-parameters.
61647         * lisp/net/gnutls.el (open-gnutls-stream): Clarify :nowait.
61649         * lisp/net/gnutls.el (gnutls-boot-parameters): Factor out into
61650         own function.
61651         (gnutls-negotiate): Use it.
61652         (open-gnutls-stream): Ditto.
61654         * src/eval.c (vformat_string): Refactor out the printing bits
61655         from verror.
61656         (verror): Use it.
61658         * src/gnutls.c (boot_error): Mark failed processes with the
61659         real error message.
61661         * src/lisp.h: Declare vformat_string.
61663 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
61665         Build with C11 if available
61667         * admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
61668         * m4/std-gnu11.m4: New file, from gnulib.
61669         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
61671 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
61673         Update gnulib copy
61675         * doc/misc/texinfo.tex: Copy from gnulib.
61677 2016-02-02  Glenn Morris  <rgm@gnu.org>
61679         * lisp/vc/add-log.el (change-log-directory-files, find-change-log):
61680         Doc tweaks.
61682 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
61684         Port better to platforms lacking aligned_alloc
61686         Problem reported by Ken Brown (Bug#22522).
61687         * src/lisp.h (hybrid_aligned_alloc)
61688         [HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
61690 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
61692         Port malloc.h hygiene fix to LTO
61694         * src/alloc.c (__malloc_initialize_hook):
61695         Make it externally visible (Bug#22522).
61697 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
61699         Build fix for --enable-check-lisp-object-type
61701         * src/process.c (check_for_dns): Type fix reported by YAMAMOTO
61702         Mitsuharu.
61704 2016-02-01  Glenn Morris  <rgm@gnu.org>
61706         Make find-change-log prefer a VCS root, if no ChangeLog exists.
61708         * lisp/vc/add-log.el (change-log-directory-files): New option.
61709         (find-change-log): Respect change-log-directory-files.
61710         * doc/emacs/maintaining.texi (Change Log Commands):
61711         Mention change-log-directory-files.
61713 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
61715         Boot parameter check fix
61717         * src/process.c (send_process): Fix test for boot parameters noted
61718         by Andy Moreton.
61720 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
61722         Double static heap size.
61724         * src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
61725         small on FreeBSD (Bug#22086).
61727 2016-02-01  Michael Albinus  <michael.albinus@gmx.de>
61729         Fix Bug#20821
61731         * lisp/net/tramp.el (tramp-file-name-handler):
61732         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
61733         Use `tramp-drop-volume-letter'.  (Bug#20821)
61735 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
61737         Style fix
61739 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
61741         Return the correct server port number
61743         * src/process.c (connect_network_socket): Return the correct
61744         server port number.
61746 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
61748         Fix autoconf test for getaddrinfo_a
61750         * configure.ac: Make the test for getaddrinfo_a work.
61752 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
61754         Better async error reporting
61756         * src/process.c (connect_network_socket): Mark failed processes
61757         with a better error message.
61758         (check_for_dns): Ditto.
61760 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
61762         Clarify :tls-parameters.
61764 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
61766         Always boot TLS if given parameters
61768         * src/process.c (connect_network_socket): If we have the TLS
61769         parameters, then boot the socket.
61771 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
61773         Add documentation for :tls-parameters
61775         * doc/lispref/processes.texi (Network Processes): Mention
61776         :tls-parameters.
61778         * src/process.c (Fmake_network_process): Document the
61779         :tls-parameters parameter.
61781 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
61783         Build fix for glibc systems.
61785 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
61787         Make network connections work again on non-glibc systems
61789         * lisp/net/gnutls.el (open-gnutls-stream): Pass the TLS
61790         keywords in directly so that they can be used when doing
61791         synchronous DNS on non-synchronous connections.
61793         * lisp/net/network-stream.el (open-network-stream): Allow
61794         passing in the TLS parameters directly.
61796         * src/process.c (conv_numerical_to_lisp): New function to convert
61797         numerical addresses to Lisp.
61798         (Fmake_network_process): Rework the non-HAVE_ADDRINFO code
61799         paths so that they work again.
61800         (syms_of_process): Build fix for non-glibc systems.
61802 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
61804         Windows build fix
61806         * src/process.c (Fmake_network_process): Build fix for systems
61807         without local sockets.
61809 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
61811         Use XCAR/XCDR instead of Fcar etc
61813 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
61815         Fix GC problem in async TLS connection
61817         * src/process.h: All Lisp_Object slots have to come first,
61818         otherwise they won't be protected from gc.
61820 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
61822         Further TLS async work
61824         * src/gnutls.c (boot_error): New function to either signal an
61825         error or return an error code.
61826         (Fgnutls_boot): Don't signal errors when running asynchronously.
61828         * src/process.h (pset_status): Move here from process.c to be
61829         able to use from gnutls.c.
61831         * src/process.c (connect_network_socket): Do the TLS boot here
61832         when running asynchronously.
61833         (wait_reading_process_output): Rework the dns_processes
61834         handling for more safety.
61836 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
61838         Clean up dead code
61840         * lisp/net/gnutls.el (gnutls-async-sentinel): Remove.
61842 2016-01-31  Dave Barker  <kzar@kzar.co.uk>
61844         Add ability to give rcirc servers an alias name
61846         * lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
61847         customization option.
61848         (rcirc, rcirc-connect): Take server alias into account.
61850 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
61852         Port new hybrid malloc to FreeBSD
61854         Problem reported by Wolfgang Jenkner in: https://bugs.gnu.org/22086#118
61855         * src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
61856         (__morecore) [HYBRID_MALLOC]: Define in this case too.
61858 2016-01-31  Wolfgang Jenkner  <wjenkner@inode.at>
61860         * configure.ac: Stop using mmap for buffers for FreeBSD.
61862 2016-01-31  Michael Albinus  <michael.albinus@gmx.de>
61864         Merge changes from Tramp repository
61866         * doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
61867         No EXTRA_OPTS needed.
61869         * doc/misc/tramp.texi: Merge changes from Emacsemacs-25
61870         branch, especially for @trampfn{}.
61871         (Top): Move @ifnottex down.
61872         (History): XEmacs support has been removed.
61873         (GVFS based methods, Remote processes): Do not use emacsgvfs flag.
61874         (Auto-save and Backup): Use both syntax versions.
61875         (File name Syntax): Remark on IPv6 adresses is valid for
61876         unified syntax only.
61878         * doc/misc/trampver.texi: Do not set emacsgvfs flag.
61880 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61882         Spelling fixes
61884 2016-01-30  Glenn Morris  <rgm@gnu.org>
61886         * lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.
61888 2016-01-30  Matthew Carter  <m@ahungry.com>
61890         Quote table names for postgres listings (sql-mode)
61892         * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
61893           unquoted table names to the completion list.
61895 2016-01-30  Glenn Morris  <rgm@gnu.org>
61897         Change Smerge "Mine" and "Other" for "Upper" and "Lower.  (Bug#20878)
61899         * lisp/vc/smerge-mode.el (smerge-diff-switches)
61900         (smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
61901         (smerge-upper, smerge-upper-face, smerge-keep-upper)
61902         (smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
61903         smerge-keep-mine, smerge-diff-base-mine.  Update all uses.
61904         (smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
61905         (smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
61906         (smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
61907         smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
61908         Update all uses.
61909         (smerge-basic-map): Add "l" and "u" bindings.
61910         (smerge-mode-menu): Update menu bindings for renaming.
61911         (smerge-font-lock-keywords): Update face names.
61912         (smerge-match-names): Update names.
61913         (smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
61914         (smerge-match-conflict, smerge-ediff): Rename local variables.
61915         (smerge-makeup-conflict): Relabel markers.
61916         (smerge-parsep-re): Use renamed variables.
61918 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61920         Port recent my_edata change to MS-Windows
61922         * src/lastfile.c (my_edata): Also define if WINDOWSNT.
61924 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
61926         Rework the mechanisms for async GnuTLS connections
61928         * lisp/net/gnutls.el (open-gnutls-stream): Compute the
61929         gnutls-boot parameters and pass them to the process object.
61930         (gnutls-negotiate): New parameter :return-keywords that won't
61931         connect to anything, just compute the keywords.
61933         * lisp/url/url-http.el (url-http): Revert async TLS sentinel
61934         hack, which is no longer necessary.
61936         * src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
61937         gnutls-mark-process.
61939         * src/process.c (connect_network_socket): If we're connecting to
61940         an asynchronous TLS socket, complete the GnuTLS boot sequence here.
61942         * src/process.h: New parameter gnutls_async_parameters.
61944 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
61946         Fix segfault from double free
61948         * src/process.c (check_for_dns): Protect against double free
61949         issues.
61951 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
61953         Remove debugging
61955 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
61957         Implement asynchronous GnuTLS connections
61959         * doc/misc/emacs-gnutls.texi (Help For Developers): Mention
61960         the nowait parameter.
61962         * lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
61963         connections with the new nowait parameter.
61965         * lisp/net/network-stream.el (network-stream-open-tls): Pass
61966         on :nowait to open-gnutls-stream.
61968         * lisp/url/url-http.el (url-http): Don't overwrite the
61969         sentinel created by open-gnutls-stream.
61971         * src/gnutls.c (Fgnutls_mark_process): New function.
61973         * src/process.c (send_process): Don't write to GnuTLS sockets that
61974         haven't been initialized yed.
61976         * src/process.h: New slot gnutls_wait_p.
61978 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61980         Tell Automake the new lib/Makefile.am is OK
61982         * lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
61984 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61986         Make it easy to override preferred-branch test
61988         * Makefile.in (preferred-branch-is-current):
61989         Rename from emacs-25-branch-is-current.  All uses changed.
61990         (PREFERRED_BRANCH): New macro.
61992 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
61994         Shrink static heap a bit
61996         * src/sheap.h: Include lisp.h, for Lisp_Object.
61997         (STATIC_HEAP_SIZE): Now an enum constant, not a macro.
61998         Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
61999         conservative than the old value.
62000         (Bug#22086)
62002 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62004         Fix extern symbols defined and not used
62006         * src/alloc.c: Always include <signal.h>.
62007         (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
62008         Do not define; unused.
62009         * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
62010         * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
62011         to avoid collision with glibc.  Now static.  All uses changed.
62012         * src/lastfile.c (my_edata): Define only if
62013         ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
62014         WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
62015         (Bug#22086)
62017 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62019         Build lib/e-*.o only on platforms that need it
62021         * configure.ac (hybrid malloc): Simplify configuration.
62022         (SHEAP_OBJ): Remove; no longer needed.
62023         (HYBRID_MALLOC): New var. Subst it.
62024         (HYBRID_MALLOC_LIB): New Automake conditional.
62025         * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
62026         HYBRID_MALLOC_LIB.
62027         (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
62028         (MOSTLYCLEANFILES): Add libegnu.a.
62029         * src/Makefile.in (SHEAP_OBJ): Remove.
62030         (HYBRID_MALLOC): New macro.
62031         (base_obj): Use it to conditionally add sheap.o.
62032         (LIBEGNU_ARCHIVE): New macro.
62033         ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
62034         All uses of the latter replaced by the former.
62035         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
62036         Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
62037         * src/gmalloc.c: Update comment.
62038         * src/lisp.h (aligned_alloc)
62039         [!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
62040         New decl.
62041         (Bug#22086)
62043 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62045         Include <malloc.h> when advisable
62047         This should help insulate us better from future glibc changes.
62048         It is good hygiene to include .h files for APIs that Emacs uses.
62049         Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
62050         * configure.ac: Check for malloc.h.
62051         * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
62052         not on DOUG_LEA_MALLOC.
62053         * src/emacs.c, src/gmalloc.c (malloc_enable_thread):
62054         Remove decl (now in lisp.h).
62055         * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
62056         [emacs]: Include lisp.h.
62057         [HAVE_MALLOC_H]: Include <malloc.h>.
62058         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
62059         (__after_morecore_hook, __malloc_initialize_hook, __morecore)
62060         (__default_morecore):
62061         [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
62062         (calloc): Make it clear that the macro should not be used.
62063         Remove unused decl.
62064         (malloc_info): New macro, to avoid clash with glibc <malloc.h>.
62065         (__morecore, __default_morecore, __after_morecore_hook)
62066         (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
62067         (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
62068         Remove later decls.
62069         (gmalloc_hook, gfree_hook, grealloc_hook):
62070         Rename from __malloc_hook, __free_hook, __realloc_hook to
62071         avoid type collision with glibc <malloc.h>.  All uses changed.
62072         (gmalloc_hook):
62073         (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
62074         Now static.
62075         (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
62076         (__malloc_initialize_hook, __after_morecore_hook):
62077         Declare with types compatible with glibc.
62078         (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
62079         Remove.  All uses removed.
62080         * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
62081         * src/ralloc.c, src/vm-limit.c:
62082         Simplify includes and include <malloc.h> if available.
62084 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62086         * src/alloc.c: Include "sheap.h".
62088         (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
62089         Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
62090         * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
62091         Declare unconditionally.
62092         * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
62093         (unexec): Don’t set or clear bss_sbrk_did_unexec;
62094         the caller now does this.
62095         (Bug#22086)
62097 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62099         Pacify --enable-gcc-warnings when HYBRID_MALLOC
62101         * src/buffer.c (init_buffer):
62102         * src/emacs.c (main):
62103         * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
62104         Use emacs_get_current_dir_name, not get_current_dir_name.
62105         * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
62106         (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
62107         * src/emacs.c: Include "sheap.h".
62108         (report_sheap_usage): Remove decl.
62109         (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
62110         Don't assume ptrdiff_t can be printed as int.
62111         * src/gmalloc.c [HYBRID_MALLOC]:
62112         Include "sheap.h" rather than declaring its contents by hand.
62113         (get_current_dir_name, gget_current_dir_name)
62114         (hybrid_get_current_dir_name): Remove.
62115         (emacs_abort): Remove duplicate decl.
62116         (aligned_alloc): Undef, like malloc etc.
62117         (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
62118         Make it a bit more efficient.
62119         (malloc_find_object_address): Remove unused decl.
62120         (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
62121         (mstats, memory_warnings): Declare only if GC_MCHECK.
62122         * src/lisp.h (emacs_get_current_dir_name):
62123         New decl, replacing get_current_dir_name.
62124         * src/sheap.c: Include sheap.h first.
62125         (STATIC_HEAP_SIZE): Remove; now in sheap.h.
62126         (debug_sheap): Now static.
62127         (bss_sbrk_buffer_end): Remove; no longer used.
62128         (bss_sbrk_ptr): Now static and private.
62129         (bss_sbrk_did_unexec): Now bool.
62130         (BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
62131         (bss_sbrk): Don't treat request_size 0 as special, since the code
62132         works without this being a special case.
62133         Avoid overflow if request size exceeds INT_MAX.
62134         (report_sheap_usage): Remove; now done in emacs.c.
62135         * src/sheap.h: New file.
62136         * src/sysdep.c (get_current_dir_name): Remove macro.
62137         Include "sheap.h".
62138         (emacs_get_current_dir_name): Rename function from
62139         get_current_dir_name.  Handle HYBRID_MALLOC here;
62140         this is simpler.
62141         (Bug#22086)
62143 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62145         Report static heap usage on non-Cygwin, too
62147         * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
62148         * src/unexcw.c (unexec): ... instead of here, since sheap can be used
62149         on platforms other than Cygwin (Bug#22086).
62151 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62153         Pacify GCC on extern decls
62155         * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
62156         to pacify recent GCC (Bug#22086).
62158 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
62160         Add musl patch to support HYBRID_MALLOC on elf systems
62162         * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
62163         (__default_morecore): Here, in particular.
62164         * configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
62165         New variable SHEAP_OBJ.
62166         * src/Makefile.in: Use it.
62167         (Bug#22086)
62169 2016-01-30  Rich Felker  <dalias@libc.org>  (tiny change)
62171         unexelf.c hook to support HYBRID_MALLOC on ELF
62173         * src/unexelf.c (unexec) [HYBRID_MALLOC]:
62174         Define bss_sbrk_did_unexec (Bug#22086).
62176 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
62178         Link temacs with gnulib compiled with -Demacs
62180         This is done to support HYBRID_MALLOC, since some static variables
62181         (e.g., last_environ in putenv.c) hold pointers to memory malloced
62182         before dumping (Bug#22086).
62183         * lib/Makefile.am: Add incantation to install libegnu.a.
62184         * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
62185         (temacs$(EXEEXT)): Use it.
62187 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
62189         Internal linkage for gmalloc etc. if HYBRID_MALLOC
62191         This avoids clashes with symbols if the after-dump malloc is
62192         derived from Doug Lea's implementation (Bug#22086).
62194         * src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
62195         Move declarations up.  For HYBRID_MALLOC, turn all `extern'
62196         declarations below to `static' ones.
62197         (aligned_alloc): Declare for !MSDOS as well.
62198         (heapsize, _fraghead): Move resp. copy declaration downwards.
62199         For HYBRID_MALLOC, conditionalize out the other definitions,
62200         since the previous `static' declarations double as tentative
62201         definitions, anyway.
62202         (_malloc, _free, _realloc, __free_hook, _aligned_blocks)
62203         (__realloc_hook, __memalign_hook): Conditionalize out.
62204         (cfree, memalign, valloc): Ditto.
62206 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62208         -
62210         -
62212         -
62214 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62216         Merge from origin/emacs-25
62218         3f481ad Rename xref-query-replace to xref-query-replace-in-results
62219         62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
62220         2111e0e Comment out next-error-function integration in xref
62221         4e11ad3 Correct a use of "which" in intro.texi
62222         a1865bc Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
62223         76045f7 Don't operate on menu bar of nonexistent frame
62224         c32f3bc Unbreak the GNUstep build.
62226 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
62228         -
62230         -
62232 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
62234         Re-enable checks in member, memql, delete to complain about non-lists
62236         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
62238 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
62240         Clean up compilation warnings
62242 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
62244         Make async resolution more efficient
62246         * src/process.c (wait_reading_process_output): Use a list of
62247         process objects instead of looping through an array to check
62248         for name resolution.  This should be much faster.
62250 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
62252         More async memory leaks
62254         * src/process.c (check_for_dns): Free even more allocated async stuff.
62256 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
62258         Compilation for for systems with getaddrinfo_a
62260         * src/process.c (Fmake_network_process): Make stuff work again on
62261         systems with getaddrinfo_a.
62263 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
62265         Save correct server data
62267         * src/process.c (connect_network_socket): Save the correct contact
62268         info for servers.
62270 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
62272         Compilation for for non-GNU systems
62274         * src/process.c (Fmake_network_process): Make compilation work
62275         again on hosts that don't have getaddrinfo_a.
62277 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
62279         Avoid memory leaks in async DNS
62281         * src/process.c (check_for_dns): Free async DNS resources after
62282         they've been used.
62284 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
62286         * src/process.c (check_for_dns): Free the result data.
62288 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
62290         Fix server connections
62292         * src/process.c (Fmake_network_process): Make creating server
62293         listening ports work again.
62295 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
62297         Further make_network_process clean up
62299         * src/process.c (Fmake_network_process): Remove setting of unused
62300         family variable.
62302 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
62304         Clean up GETADDRINFO usage in make-network-process
62306         * src/process.c (Fmake_network_process): Clean up the GETADDRINFO
62307         handling.
62309 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
62311         Implement asynchronous name resolution
62313         * src/process.c (Fmake_network_process): Do asynchronous DNS
62314         lookups if we have getaddrinfo_a and the user requests :nowait.
62315         (check_for_dns): New function.
62316         (wait_reading_process_output): Check for pending name
62317         resolution in the idle loop.
62319         * src/process.h: Add structure for async DNS.
62321 2016-01-28  Glenn Morris  <rgm@gnu.org>
62323         Remove some useless-use-of eval.
62325         * lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
62326         * lisp/gnus/nnrss.el (xml): Simply require it.
62327         (xml-rpc-method-call): Use declare-function.
62329 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
62331         Fix memory leak
62333         * src/process.c (connect_network_socket): Free previous sockaddr
62334         before allocating a new one.
62336 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
62338         Return IP addresses in the correct order
62340         * src/process.c (Fmake_network_process): Return the IP addresses
62341         in the same order as getaddrinfo does.
62342         (set_network_socket_coding_system): Clean up the code slightly.
62344 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
62346         Add checks for getaddrinfo_a
62348         * configure.ac: Detect getaddrinfo_a.
62350 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
62352         Refactor make_network_process
62354         * src/process.c (set_network_socket_coding_system)
62355         (connect_network_socket): Refactor out of
62356         make_network_process to allow calling connect_network_socket
62357         asynchronously.
62358         (Fmake_network_process): Do nothing but parsing the parameters
62359         and name resolution, leaving the connection to
62360         connect_network_socket.
62362 2016-01-28  Glenn Morris  <rgm@gnu.org>
62364         * lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
62365         Warn if defcustom has no type.  (Bug#16276)
62367 2016-01-27  Glenn Morris  <rgm@gnu.org>
62369         * test/lisp/vc/vc-hg-tests.el: Move from test/automated/.
62371 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
62373         (rng-c-fix-escaped-newlines): Use subst-char-in-string
62375         * lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
62376         Use subst-char-in-string.
62378 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
62380         * lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function
62382         (sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
62383         (sgml-calculate-indent): Use it.
62385 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
62387         * lisp/org: Fix some compiler warnings
62389         * lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
62390         (org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
62391         (*this*): Declare as dyn-bound.
62392         (org-babel-expand-src-block, org-babel-load-in-session)
62393         (org-babel-switch-to-session-with-code, org-babel-get-rownames):
62394         Mark unused args.
62395         (org-babel-combine-header-arg-lists): Remove unused var `args'.
62396         (org-babel-find-named-block): Remove unused var `msg'.
62398         * lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
62399         Declare as dyn-bound.
62400         (org-edit-src-code): Remove unused var `lfmt'.
62401         (org-edit-fixed-width-region): Remove unused var `preserve-indentation'.
62403 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
62405         * lisp/font-lock.el: Use #' to quote function symbols
62407 2016-01-23  Michael Albinus  <michael.albinus@gmx.de>
62409         Improve user name completion in Tramp
62411         * lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
62412         Call also "getent passwd" or "getent group", if possible.
62413         (tramp-parse-putty): Cache the result.
62415 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
62417         * etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
62419 2016-01-20  Glenn Morris  <rgm@gnu.org>
62421         Remove handling of non-string time-stamp formats, obsolete for 20 years.
62423         * lisp/time-stamp.el (time-stamp-format): Doc fix.
62424         (time-stamp-old-format-warn, time-stamp-fconcat): Remove.
62425         (time-stamp-string): Ignore non-string formats.
62427 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
62429         Anoter fix for problematic merge from emacs-25
62431         * src/w32fns.c (globals_of_w32fns): Move initialization of
62432         resetstkoflw to a non-Cygwin part.
62434 2016-01-20  Michael Albinus  <michael.albinus@gmx.de>
62436         * test/Makefile.in (mostlyclean): Use ${LOGFILES}.
62438 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
62440         Fix MS-Windows build broken by a botched merge from emacs-25
62442         * src/w32.c (w32_crypto_hprov): New static variable.
62443         (globals_of_w32): Initialize w32_crypto_hprov.
62444         (w32_init_crypt_random, w32_init_random): New functions.
62445         Include wincrypt.h.
62446         * src/w32.h (w32_init_random): Add prototype.
62448 2016-01-19  Vincent Belaïche  <vincentb1@users.sourceforge.net>
62450         Correct a whole bunch of bugs coming with renamed cell relocation.
62452         * lisp/ses.el (ses-localvars): rename variable
62453         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
62454         and adjust the comment about it.
62455         (ses-plist-delq): new defun.
62456         (ses--ses-buffer-list): new defvar.
62457         (ses--unbind-cell-name): new defun.
62458         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
62459         (ses-relocate-formula): Undo change of
62460         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
62461         preventing relocation for named cell --- now doing this is delegated
62462         to function `ses-relocate-symbol'.
62463         (ses-relocate-range): In docstring, undo change of
62464         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
62465         lower case as it is not a variable.
62466         (ses-relocate-all): Cell name relocation : 1) check that cell is a
62467         renamed cell by testing `ses-cell' property to :ses-named, rather than
62468         comparing name to corresponding standard name. Set rowcol of renamed
62469         cell into the hashmap --- `ses-cell' property must not be used for
62470         that as the same name can be used for different locations in different
62471         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
62472         `local-variable-p' to check if cell name is already in use in this
62473         sheet or needs initialization.
62474         (ses-relocate-all): Cell value relocation : 1) like for name
62475         relocation use the `ses-cell' property rather than comparing actual
62476         name to corresponding standard name. 2) Correct bug introduced in
62477         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
62478         made the other way round than the intention --- ie value relocation
62479         was disabled for standard cell, not for renamed cell as was the
62480         intention.
62481         (ses-relocate-all): Add loop for unbinding deleted renamed cells
62482         names.
62483         (ses-killbuffer-hook): new defun.
62484         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
62485         kill buffer hook, plus pushing current buffer if new in list.
62486         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
62487         into `ses--in-killing-named-cell-list'.
62488         (ses-rename-cell): Remove update of variable
62489         `ses--renamed-cell-symb-list', this variable is renamed to
62490         `ses--in-killing-named-cell-list', and its setting is done in
62491         functions `ses-delete-row' and , `ses-delete-column' now.
62492         (ses-rename-cell): Change correction of
62493         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
62494         computation of the range over which `cursor-intangible' property was
62495         to be updated. This correction was ok for non spilling cells, but not
62496         for cells spilling over following blank cells. Simply use
62497         `next-single-property-change' rather than computing the end column
62498         from column widths.
62500 2016-01-18  John Wiegley  <johnw@newartisans.com>
62502         -
62504 2016-01-18  John Wiegley  <johnw@newartisans.com>
62506         Merge from origin/emacs-25
62508         3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
62509         6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
62510         2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
62511         71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
62512         f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
62513         86e4513 Fix incompatbilities with MS-Windows 2000 and older
62514         4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
62515         15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
62516         39afa42 Fix tests for active region in hideif.el
62517         05df666 Fix interactive specs in some hideif.el commands
62519 2016-01-18  John Wiegley  <johnw@newartisans.com>
62521         -
62523 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
62525         Avoid stdio in SIGINT handler
62527         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
62528         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
62529         * lib/ignore-value.h: New file, from gnulib.
62530         * src/keyboard.c: Include it.
62531         (write_stdout, read_stdin): New functions.
62532         (handle_interrupt): Use them instead of printf and getchar,
62533         and avoid fflush when handling signals.
62535 2016-01-18  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
62537         Refactor mml-smime.el, mml1991.el, mml2015.el
62539         (Maybe this is the last merge from Gnus git to Emacs git)
62541         Cf. discussion on ding mailing list, messages in
62542         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
62543         Common code from the three files mml-smime.el, mml1991.el, and
62544         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
62545         to gnus-util.el.
62547         The code is supported by test cases with necessary test keys.
62549         Documentation in message.texi is updated.
62551         * doc/misc/message.texi (Security, Using S/MIME):
62552         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
62553         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
62554         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
62556         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
62557         New functions.
62559         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
62560         (epa--select-keys): Autoload.
62561         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
62562         (mml-secure-openpgp-signers): New user option;
62563         make mml1991-signers and mml2015-signers obsolete aliases to it.
62564         (mml-secure-smime-signers): New user option;
62565         make mml-smime-signers an obsolete alias to it.
62566         (mml-secure-openpgp-encrypt-to-self): New user option;
62567         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
62568         aliases to it.
62569         (mml-secure-smime-encrypt-to-self): New user option;
62570         make mml-smime-encrypt-to-self an obsolete alias to it.
62571         (mml-secure-openpgp-sign-with-sender): New user option;
62572         make mml2015-sign-with-sender an obsolete alias to it.
62573         (mml-secure-smime-sign-with-sender): New user option;
62574         make mml-smime-sign-with-sender an obsolete alias to it.
62575         (mml-secure-openpgp-always-trust): New user option;
62576         make mml2015-always-trust an obsolete alias to it.
62577         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
62578         New user options.
62579         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
62580         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
62581         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
62582         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
62583         (mml-secure-passphrase-callback, mml-secure-check-user-id)
62584         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
62585         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
62586         (mml-secure-fingerprint, mml-secure-filter-keys)
62587         (mml-secure-normalize-cust-name, mml-secure-select-keys)
62588         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
62589         (mml-secure-self-recipients, mml-secure-recipients)
62590         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
62592         * lisp/gnus/mml-smime.el: Require epg;
62593         refactor declaration and autoloading of epg functions.
62594         (mml-smime-use): Doc fix.
62595         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
62596         Obsolete.
62597         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
62598         Use format instead of gnus-format-message.
62599         (mml-smime-epg-secret-key-id-list): Remove variable.
62600         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
62601         (mml-smime-epg-find-usable-secret-key): Remove functions.
62602         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
62604         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
62605         (mml1991-passphrase-cache-expiry): Obsolete.
62606         (mml1991-epg-secret-key-id-list): Remove variable.
62607         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
62608         (mml1991-epg-find-usable-secret-key): Remove functions.
62609         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
62611         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
62612         (mml2015-passphrase-cache-expiry): Obsolete.
62613         (mml2015-epg-secret-key-id-list): Remove variable.
62614         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
62615         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
62616         (mml2015-epg-find-usable-secret-key): Remove functions.
62617         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
62618         (mml2015-epg-encrypt): Refactor.
62620 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
62622         Merge from gnulib
62624         This mostly just updates copyright dates of gnulib files.
62625         It also updates to the latest version of texinfo.tex.
62627 2016-01-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
62629         Move variables to inner loop, preparing for Mac port merge
62631         * src/keyboard.c (command_loop_1): Move variables `cmd',
62632         `keybuf', and `i' to inner loop.
62634 2016-01-17  Bill Wohler  <wohler@newt.com>
62636         * lisp/mh-e/mh-e.el (mh-version): Add +git to version.
62638 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
62640         * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
62642         (syntax-ppss):
62643         * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
62645 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
62647         lisp/nxml: Use syntax-tables for comments
62649         * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
62650         (nxml-mode): Set syntax-ppss-table.
62651         Use sgml-syntax-propertize-function for syntax-propertize-function.
62652         Let font-lock highlight strings and comments.
62653         (nxml-degrade): Don't touch "nxml-inside" property any more.
62654         (nxml-after-change, nxml-after-change1): Remove functions.
62655         (comment): Don't set fontify rule any more.
62656         (nxml-fontify-attribute): Don't highlight the value any more.
62657         (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
62658         (nxml-comment-delimiter, nxml-comment-content): Remove faces.
62660         * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
62661         (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
62662         (nxml-clear-inside, nxml-set-inside): Remove.
62663         (nxml-scan-after-change): Remove function.
62664         (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
62665         (nxml-ensure-scan-up-to-date): Use syntax-propertize.
62666         (nxml-move-outside-backwards):
62667         * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
62668         nxml-inside-start behavior.
62670         * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
62671         (nxml-debug-clear-inside): Remove macros.
62673         * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
62674         (xmltok-scan-after-comment-open): Simplify.
62676 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
62678         * lisp/progmodes/elisp-mode.el
62679         (elisp--font-lock-flush-elisp-buffers): Fix comment
62681 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
62683         * lisp/nxml: Use standard completion; it also works for company-mode
62685         * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
62686         (nxml-completion-at-point-function): Remove.
62687         (nxml-mode): Don't set completion-at-point-functions.
62688         * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
62689         (rng-completion-at-point): Rename from rng-complete and mark it
62690         non-interactive.  It is now to be used as completion-at-point-function.
62691         (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
62692         (rng-complete-attribute-value): Don't perform completion, but return
62693         completion data instead.
62694         (rng-complete-qname-function, rng-generate-qname-list): Add a few
62695         arguments, previously passed via dynamic coping.
62696         (rng-strings-to-completion-table): Rename from
62697         rng-strings-to-completion-alist.  Don't return an alist.  Don't both
62698         sorting and uniquifying.
62700         * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
62701         (rng-completion-exact-p, rng-quote-string): Delete functions.
62703         * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
62704         (rng-missing-attributes-message, rng-missing-element-message)
62705         (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
62706         calling rng-quote-string everywhere.
62708 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
62710         Use sgml-electric-tag-pair-mode also in nxml-mode
62712         * lisp/nxml/rng-nxml.el: Require sgml-mode.
62713         (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
62714         (rng-complete-qname-function): Use complete-with-action.
62716         * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
62717         Let-bind forward-sexp-function, since nxml-mode binds it to
62718         something incompatible.
62720         * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
62722 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
62724         * lisp/nxml/xmltok.el: Mark the "sole --" rather than the comment
62725         opener.
62727         * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
62728         marker on the "sole --" rather than on the comment opener.
62730 2016-01-15  Sam Steingold  <sds@gnu.org>
62732         replace `tramp-compat-split-string' (removed) with `split-string'
62734         (python-shell-tramp-refresh-process-environment)
62735         (python-shell-calculate-pythonpath): use `split-string'
62736         instead of defunct `tramp-compat-split-string'
62738 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
62740         Update nXML to use Emacs's Unicode support, and lexical-binding
62742         * etc/nxml/*.el: Remove obsolete char-name files.
62743         * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
62744         var `next'.
62745         * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
62746         * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
62747         * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
62748         (nxml-target-section-pos, nxml-depth-in-target-section)
62749         (nxml-outline-state-transform-alist)
62750         (nxml-outline-display-section-tag-function): Move decl before first use.
62751         * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
62752         (nxml-char-name-alist, nxml-char-name-table)
62753         (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
62754         (nxml-enable-char-name-set, nxml-disable-char-name-set)
62755         (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
62756         (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
62757         (nxml-insert-named-char): Use read-char-by-name instead.
62758         (nxml-char-ref-display-extra): Use get-char-code-property.
62759         * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
62760         Remove function.
62761         * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
62763 2016-01-15  Michael Albinus  <michael.albinus@gmx.de>
62765         Add "sg" method to Tramp
62767         * doc/misc/tramp.texi (Inline methods): Add "sg" method.
62768         (Customizing Completion): Add function `tramp-parse-etc-group'.
62770         * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
62771         (tramp-completion-function-alist-sg): New defconst.
62772         (top): Completion function for "sg" is
62773         `tramp-completion-function-alist-sg'.
62775         * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
62776         (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
62778 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
62780         Remove XEmacs compatibility in Tramp
62782         * doc/misc/tramp.texi: Replace flags by their hard coded name.
62783         Remove unused flags and the enclosed alternative text for XEmacs.
62785         * doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
62786         and "xemacs" flags to "unified" and "separate".  Remove flags
62787         "emacsgw", "emacsname", "emacsdir", "ftppackagename",
62788         "emacsothername", "emacsotherdir" and "emacsotherfilename".
62789         (trampver):
62790         * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
62792         * lisp/net/tramp.el (bkup-backup-directory-info)
62793         (directory-sep-char, ls-lisp-use-insert-directory-program)
62794         (outline-regexp, tramp-backup-directory-alist)
62795         (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
62796         (tramp-file-name-regexp-unified)
62797         (tramp-file-name-regexp-separate)
62798         (tramp-completion-file-name-regexp-unified)
62799         (tramp-completion-file-name-regexp-separate, tramp-chunksize)
62800         (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
62801         (tramp-debug-message, tramp-progress-reporter-update)
62802         (with-tramp-progress-reporter)
62803         (tramp-rfn-eshadow-setup-minibuffer)
62804         (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
62805         (tramp-rfn-eshadow-update-overlay)
62806         (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
62807         (tramp-file-name-for-operation)
62808         (tramp-completion-file-name-handler)
62809         (tramp-autoload-file-name-handler, tramp-completion-mode-p)
62810         (tramp-handle-directory-files)
62811         (tramp-handle-directory-files-and-attributes)
62812         (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
62813         (tramp-handle-insert-file-contents, tramp-handle-load)
62814         (tramp-handle-shell-command)
62815         (tramp-handle-verify-visited-file-modtime)
62816         (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
62817         (tramp-check-for-regexp, tramp-wait-for-regexp)
62818         (tramp-send-string, tramp-mode-string-to-int)
62819         (tramp-get-local-gid, tramp-check-cached-permissions)
62820         (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
62821         (auto-save-file-name-transforms)
62822         (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
62823         (tramp-clear-passwd, tramp-time-diff):
62824         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
62825         (directory-sep-char, tramp-adb-file-name-handler-alist)
62826         (tramp-adb-parse-device-names)
62827         (tramp-adb-handle-expand-file-name)
62828         (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
62829         (tramp-adb-handle-file-local-copy)
62830         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
62831         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
62832         (tramp-adb-handle-shell-command)
62833         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
62834         (tramp-adb-maybe-open-connection):
62835         * lisp/net/tramp-cache.el (tramp-persistency-file-name)
62836         (tramp-cache-print):
62837         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
62838         (tramp-bug, tramp-reporter-dump-variable)
62839         (tramp-load-report-modules, tramp-append-tramp-buffers):
62840         * lisp/net/tramp-compat.el (tramp-compat-funcall)
62841         (tramp-advice-file-expand-wildcards)
62842         (tramp-compat-temporary-file-directory)
62843         (tramp-compat-make-temp-file, tramp-compat-copy-file)
62844         (tramp-compat-delete-directory, )
62845         (tramp-compat-process-running-p):
62846         * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
62847         (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
62848         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
62849         (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
62850         (tramp-gvfs-handle-file-local-copy)
62851         (tramp-gvfs-handle-file-name-all-completions)
62852         (tramp-gvfs-handle-file-notify-add-watch)
62853         (tramp-gvfs-monitor-file-process-filter)
62854         (tramp-gvfs-handle-file-readable-p)
62855         (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
62856         (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
62857         (tramp-gvfs-maybe-open-connection)
62858         (tramp-gvfs-parse-device-names):
62859         * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
62860         (tramp-gw-open-connection, tramp-gw-open-network-stream):
62861         * lisp/net/tramp-sh.el (directory-sep-char)
62862         (tramp-sh-file-name-handler-alist)
62863         (tramp-sh-handle-file-truename)
62864         (tramp-sh-handle-set-visited-file-modtime)
62865         (tramp-sh-handle-verify-visited-file-modtime)
62866         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
62867         (tramp-sh-handle-file-acl)
62868         (tramp-sh-handle-file-name-all-completions)
62869         (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
62870         (tramp-do-copy-or-rename-file-directly)
62871         (tramp-do-copy-or-rename-file-out-of-band)
62872         (dired-compress-file-suffixes, dired-remove-file)
62873         (tramp-sh-handle-dired-compress-file)
62874         (tramp-sh-handle-insert-directory)
62875         (tramp-sh-handle-expand-file-name)
62876         (tramp-sh-handle-start-file-process)
62877         (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
62878         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
62879         (tramp-sh-handle-file-notify-add-watch)
62880         (tramp-sh-gvfs-monitor-dir-process-filter)
62881         (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
62882         (tramp-find-executable)
62883         (tramp-open-connection-setup-interactive-shell)
62884         (tramp-find-inline-encoding, tramp-compute-multi-hops)
62885         (tramp-maybe-open-connection, tramp-convert-file-attributes)
62886         (tramp-get-remote-path, tramp-get-remote-touch):
62887         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
62888         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
62889         (tramp-smb-handle-delete-directory)
62890         (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
62891         (tramp-smb-handle-make-directory-internal)
62892         (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
62893         (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
62894         (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
62895         (tramp-smb-get-cifs-capabilities)
62896         (tramp-smb-maybe-open-connection):
62897         * lisp/net/trampver.el (tramp-repository-get-version):
62898         Remove XEmacs compat code.
62900         * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
62901         (reporter-dump-variable): Declare functions.
62903         * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
62904         (tramp-advice-minibuffer-electric-separator)
62905         (tramp-advice-minibuffer-electric-tilde)
62906         (tramp-handle-unhandled-file-name-directory):
62907         * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
62908         (tramp-compat-font-lock-add-keywords)
62909         (tramp-compat-load, tramp-compat-number-sequence)
62910         (tramp-compat-split-string, tramp-compat-delete-dups):
62911         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
62912         Remove.
62914         * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
62915         recursively.
62917 2016-01-14  K. Handa  <handa@gnu.org>
62919         fix previous change of src/ftfont.c (ftfont_shape_by_flt)
62921         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
62922         second glyph only when there are enough glyphs.
62924 2016-01-13  Glenn Morris  <rgm@gnu.org>
62926         * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
62928         or its hook, to move point.  (Bug#22348)
62930 2016-01-12  Michael Albinus  <michael.albinus@gmx.de>
62932         Merge missing commit from emacs-25 branch
62934         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
62935         New variables.
62936         (check-expensive, check-doit): New targets.
62938         * Makefile.in (check-expensive): New target.
62940         * test/lisp/autorevert-tests.el
62941         (auto-revert-test01-auto-revert-several-files):
62942         * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
62943         (file-notify-test06-many-events):
62944         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
62945         (tramp-test27-start-file-process, tramp-test28-shell-command)
62946         (tramp-test29-vc-registered)
62947         (tramp-test31-special-characters-with-stat)
62948         (tramp-test31-special-characters-with-perl)
62949         (tramp-test31-special-characters-with-ls)
62950         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
62951         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
62952         (tramp-test35-unload): Tag the tests as :expensive-test.
62954 2016-01-11  John Wiegley  <johnw@newartisans.com>
62956         Merge from origin/emacs-25
62958         1f6898d test/automated/vc-hg.el: Support out-of-tree build
62959         3adb56e Minor change in tramp-tests.el
62960         2b535ba ; * etc/NEWS: Update the js.el entry.
62961         76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
62962         b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
62963         36b9539 Avoid an infloop when we run out of memory
62964         2006752 Avoid unnecessary failures of auto-saving after fatal error
62965         eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
62966         552694a Revert attempt to use 'noexcept' in typedef
62967         6ad0d39 Update documentation of 'indirect-function'
62968         c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
62969         303141a Update documentation for obsoleting 'syntax-begin-function'
62970         4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
62971         e667bbb Document new features if Eshell
62972         9c4e4e0 ; * etc/NEWS: Update EUDC entries.
62973         1089dc9 Handle too long commands in Tramp
62974         684eb58 * .gitattributes: *.cur and *.pif are binary files too.
62975         d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
62976         bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
62977         09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
62978         cca0f93 ; Account for spaces before the filename
62979         c71e1e8 Use short date for 'hg annotate', and output the author
62980         f50027b Spelling fix
62981         c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
62982         cc140bc Document user-level functions in project.el
62983         f8208b6 Document the user-level features of the Xref package
62984         b131fb8 * loading.texi: Add `define-type' entry for load-history
62985         db3c2a8 Improve doc strings and prompts in xref.el
62986         f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
62987         90fd798 Fix coding system for Tramp on OS X.
62988         e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
62989         9dfcbf0 Update 'load-history' docs
62990         207e191 Fix (error ...) error
62991         457738f Correctly analyze brace arguments in templated C++ function declarations.
62992         d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
62993         2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
62994         1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
62995         8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
62996         4b37cba Improve documentation of Delete Selection mode
62997         a034dd3 Fix two project-find-file issues
62998         30abf29 Clarify doc string of 'dired-current-directory'
62999         e990bb2 Use the face of preceding text for displaying the ellipsis
63000         5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
63001         eeb710a ; * lisp/startup.el: Sentences end with two spaces.
63002         428b3de * admin/admin.el (set-version): Also handle the NEWS file.
63003         648de81 ; Add NEWS entry for project.el
63004         671862f apropos-library: Skip obvious duplicates; don't error on generics
63005         51668a5 ; Grammar fix
63006         ed41d11 Add project-find-file and project-or-external-find-file
63007         056da45 ; Improve commentary in 'setup_for_ellipsis'
63008         269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
63010 2016-01-11  John Wiegley  <johnw@newartisans.com>
63012         Merge from origin/emacs-25
63014         ce4a052 Add defvar-local to lisp-imenu-generic-expression
63015         a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
63016         76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
63017         1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
63018         b6b47af Properly encode/decode base64Binary data in SOAP
63019         c632466 Obey coding-system-for-write when writing stdout/stderr in batch
63020         2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
63021                 Update the URI of MELPA and marmalade-repo.
63022                 Reported by CHENG Goa <chenggao@royau.me> in
63023                 https://lists.gnu.org/r/emacs-devel/2016-01/msg00390.html.
63024         d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
63025         5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
63026         7380990 Remove function wrongly on AWK Mode value of context
63027         fontification hook.
63028         d400753 * src/buffer.c: Stick with ASCII in doc string.
63029         221240c Reword transient-mark-mode doc string
63030         977d3ea Update doc string of 'selective-display'
63031         229c3fa Make C++ buffers writeable when writing their initial text
63032                 properties.
63033         f5c762c Additional changes for "make check-expensive"
63034         1729cf3 ; * admin/MAINTAINERS: Remove myself.
63035         33219d3 Apply text properties for <, > in new after-change function
63036                 (C++ Java Modes).
63038 2016-01-11  John Wiegley  <johnw@newartisans.com>
63040         Merge from origin/emacs-25
63042         9fb185a shr-tag-video bug fix
63043         6300655 Minor fixes in tramp-tests.el
63044         50575b1 Ensure redisplay when 'truncate-lines' is set
63045         0d9e80d Fix a doc string of 'transient-mark-mode'
63046         0000ae5 MS-Windows followup to latest gnulib update
63047         4bc5e02 Spelling fix
63048         f1093f7 Do secure signed Bcc handling
63050 2016-01-11  John Wiegley  <johnw@newartisans.com>
63052         Merge from origin/emacs-25
63054         861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
63055         46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
63056         71ea138 * lisp/align.el (align): Simplify a lambda
63057         5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
63058         1f680db Fix compilation next-error in buffers with selective-display
63059         d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
63060         1da116f Add SHA1 warnings for high network security settings
63061         e48bacd ; * etc/NEWS: Typo fix.
63063 2016-01-11  John Wiegley  <johnw@newartisans.com>
63065         Merge from origin/emacs-25
63067         43662a2 ; Clarify that xref is still experimental
63068         0a6e6ca ; * admin/release-process: Remove some obsolete records.
63069         c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
63070         8637f3d (semantic-symref-derive-find-filepatterns): Return a list
63071         0a7ad07 ; Re-arrange xref-related entries in NEWS.
63072         fe903ef Fix xref-find-references on MS-Windows
63073         55a28d8 ; Fixed visual bell artifact problem on NextStep.
63074         d064034 Document new features of tildify-mode
63075         964bea7 Document new features of Whitespace mode
63076         cd68f47 Improve documentation of new Hide-IfDef features
63077         723b8bf Fix regression in font-locking cl-assert and cl-check-type
63079 2016-01-11  John Wiegley  <johnw@newartisans.com>
63081         Merge from origin/emacs-25
63083         ef33bc7 Spelling and grammar fixes
63084         9c3dbab Fix copyright years by hand
63085         0e96320 Update copyright year to 2016
63087 2016-01-11  John Wiegley  <johnw@newartisans.com>
63089         Merge from origin/emacs-25
63091         9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
63092         526d80c Port chart.el methods to cl-generic.
63093         410bb69 Add nt/INSTALL.W64 build instructions
63094         8f5b524 Add new input method 'programmer-dvorak'
63095         6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
63096         bb83bb1 Fix EWW rendering of long RTL lines
63097         b1a8509 fix  bug#21054
63098         ce5ad12 Clean up cairo printing code
63100 2016-01-11  John Wiegley  <johnw@newartisans.com>
63102         Merge from origin/emacs-25
63104         6ee327d Add handle_user_signal_hook
63105         47580e0 Avoid writing to purespace
63106         0588be7 Remove unused variable
63107         89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
63108         3b95e9c Use posix_openpt instead of openpty on Darwin
63109         86312ff Document support for ':documentation' in Lisp mode
63110         c930e75b Document new features of TeX mode
63111         7c83d84 Clarify docs of hscroll in RTL text
63112         4c8f8db Fix rendering of HTML pages that use character composition
63113         a8d37ca Avoid some compiler warnings in w32.c
63114         ce106f3de Undo ill-advised change
63115         be0bba4 Unbreak completion in python-mode buffers
63117 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
63119         Adding example replies to bug-triage.
63121         * admin/notes/bug-triage: Added example replies. Also, as requested,
63122           making the process notes into more of a checklist.
63124 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
63126         Rename the notes/admin/triage file to bug-triage.
63128         * CONTRIBUTE: Change reference to the triage file name.
63129         * admin/notes/triage: Rename file to admin/notes/bug-triage.
63131 2016-01-08  K. Handa  <handa@gnu.org>
63133         Fix outdated comments.
63135 2016-01-06  Glenn Morris  <rgm@gnu.org>
63137         Allow creation of loaddefs files without timestamps.
63139         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
63140         (autoload-generate-file-autoloads, update-directory-autoloads):
63141         If autoload-timestamps is nil, write "t" instead of file timestamp.
63142         (autoload-find-destination, update-directory-autoloads):
63143         If timestamp is "t", use the modtime of the output file instead.
63145 2016-01-06  Glenn Morris  <rgm@gnu.org>
63147         Doc tweaks.
63149         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
63150         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
63151         (calendar-iso-from-absolute):
63152         * lisp/calendar/cal-tex.el (cal-tex-comment):
63153         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
63155 2016-01-06  Glenn Morris  <rgm@gnu.org>
63157         Build tweaks related to tags files.
63159         * lib-src/Makefile.in (tagsfiles): New variable.
63160         (TAGS): Also depend on the source files.  Use our own etags program.
63161         * lisp/Makefile.in (ETAGS): Add EXEEXT.
63162         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
63163         Remove.
63164         (tagsfiles): New, replacing lisptagsfiles1 etc.
63165         Remove irrelevant source files here rather than in the TAGS rule.
63166         (${ETAGS}): New rule.
63167         (TAGS): Also depend on the etags executable.
63168         * lwlib/Makefile.in (EXEEXT): New, set by configure.
63169         (ETAGS): Add EXEEXT.
63170         (${ETAGS}): New rule.
63171         (ctagsfiles): Use "wildcard".
63172         (TAGS): Also depend on the etags executable.
63173         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
63174         (${ETAGS}): New rule.
63175         (TAGS): Fix dependencies.
63176         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
63177         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
63178         Remove "-t" argument.
63179         (${ETAGS}): New rule.
63180         (tagsfiles): New variable.
63181         (TAGS): New rule, with proper dependencies.
63182         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
63183         (ctagsfiles1, ctagsfiles2): Use "wildcard".
63184         (ctagsfiles3): Remove.
63185         (TAGS): Depend on etags.
63186         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
63187         directories decide if updates are needed.
63189 2016-01-06  Glenn Morris  <rgm@gnu.org>
63191         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
63193 2016-01-06  Glenn Morris  <rgm@gnu.org>
63195         * test/lisp/emacs-lisp/package-tests.el
63197         (package-test-macro-compilation): Fixup branch merge.
63199 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
63201         Fix fallout from merging emacs-25 branch in test/
63203         * .gitignore: Update for the new place of biditest.txt.
63204         * test/automated/: Directory removed.  All files moved to their
63205         proper places.
63206         * test/etags/: Directory removed.  All files moved to their proper
63207         places.
63208         * test/automated/url-parse-tests.el: File removed; it was an exact
63209         copy of the same file in test/lisp/url/.
63210         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
63212 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
63214         Spelling fixes
63216 2016-01-04  Daniel Colascione  <dancol@dancol.org>
63218         Let users disable unsafe signal handling code
63220         * src/keyboard.c (syms_of_keyboard): New user variables
63221         `attempt-stack-overflow-recovery' and
63222         `attempt-orderly-shutdown-on-fatal-signal'.
63223         * src/sysdep.c (stack_overflow): Check
63224         `attempt-stack-overflow-recovery'.
63225         * src/emacs.c (terminate_due_to_signal): Check
63226         `attempt-orderly-shutdown-on-fatal-signal'.
63228 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
63230         * configure.ac: Add error message for gfile on Nextstep.
63232 2016-01-02  John Wiegley  <johnw@newartisans.com>
63234         Merge branch 'emacs-25-merge'
63236 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
63238         Align textually on fix done for emacs-25 branch for bug#21054
63240         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
63241         and useless `(if t ...)' in order to align textually on fix done for
63242         emacs-25 branch for bug#21054.
63244 2016-01-01  K. Handa  <handa@gnu.org>
63246         support rendering of wider range of combinging characters by ftfont backend
63248         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
63249         supports rendering of combining characters, call
63250         font-shape-gstring.
63252         * src/font.c (Ffont_get): Handle `combining-capability' property.
63253         (syms_of_font): New symbol ":combining-capability'.
63255         * src/font.h (struct font_driver): New member combining_capability.
63257         * src/ftfont.c: Include "category.h".
63258         (ftfont_driver): Initialize combining_capability to
63259         ftfont_combining_capability.
63260         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
63261         FLT in advance.
63262         (ftfont_combining_capability): New function.
63264 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
63266         Add notes on bug triage procedure
63268         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
63269         * admin/notes/triage: New file explaining triage procedure.
63271 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
63273         Correct ses-rename-cell cursor-intangible text prop updating.
63275         There were two problems:
63277         - First ses-rename-cell has to work when called non interactively
63278           (with non-nil CELL argument), so in this case the start pos of
63279           put-text-property cannot be plainly (point), you need a
63280           ses-goto-print call before
63282         - Second, the range itself was computed erronously, only the first
63283           char was affected instead of the full cell width. This was not
63284           noticeable prior to changes (Deprecate `intangible' and
63285           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
63287         * lisp/ses.el (ses-rename-cell): Correct computation of position range
63288         to which the 'cursor-intangible text property has to be set to cell
63289         new name.
63291 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
63293         Don't fake empty cells value by "" when printing with a lambda.
63295         When using a lambda expression printer function the user should be
63296         free to format differently a really empty cell, ie. containing nil,
63297         from a cell containing an empty string "".
63299         * lisp/ses.el (ses-call-printer): Replace `(or value "")' by just
63300         `value' in the case of a lambda expression printer function.
63302         * doc/misc/ses.texi (Printer functions): Add example and
63303         description about lambda expression printer function handling all
63304         the possible values, including unexpected ones.
63306 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
63308         Quick temporary hack to fix curcell refreshing.
63310         The problem was caused by change: 2015-04-13 Deprecate `intangible'
63311         and `point-entered' properties. The problem is that this change has
63312         removed the (setq ses--curcell t) setting in the ses-command-hook
63313         function.
63315         * lisp/ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
63316         a condition to call function `ses-set-curcell'. Comment this as a quick
63317         temporary hack to make it work, as I don't know yet whether a definite
63318         correction would be to make the ses-set-curcell at every ses-check-curcell,
63319         or to revert to the previous approach, ie marking ses--curcell as out-of-date
63320         at every potentially cursor motion command.
63322 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
63324         Restrictive URL checking tweaks
63326         * lisp/net/eww.el (eww): Check whether the domain is
63327         restrictive instead of the string
63328         (http://македонија.icom.museum is restrictive even if each
63329         part is from a different script).
63331 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
63333         New function `puny-highly-restrictive-domain-p'
63335         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
63336         (puny-highly-restrictive-domain-p): New function.
63338 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
63340         eww build fix (require puny)
63342 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
63344         Transform non-restrictive domains to punycode for display
63346         * lisp/net/eww.el (eww): Check whether the domain is Highly
63347         Restrictive in the Unicode IDNA sense.
63349 2015-12-29  John Wiegley  <johnw@newartisans.com>
63351         Merge emacs-25 into master (using imerge)
63353 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
63355         Further Unicode restrictive fixups
63357         * lisp/net/puny.el (puny-highly-restrictive-p): Include the extra
63358         identifier characters from table 3.
63360 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
63362         Add a new function to say whether a string is restrictive
63364         * lisp/net/puny.el (puny-highly-restrictive-p): New function.
63366 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
63368         Mention the new puny.el library
63370 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
63372         IDNA-related fixes for the URL library
63374         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
63375         the Host: header.
63377         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
63378         domain names, but leave them as UTF-8, so that they can be
63379         IDNA-encoded later when contacting the host.
63381 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
63383         IDNA-encode all domain names in `open-network-stream'
63385         * lisp/net/network-stream.el (open-network-stream)
63386         (network-stream-open-plain, network-stream-open-starttls):
63387         IDNA-encode all domain names, if needed.
63389 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
63391         Fix puny-encoding all-non-ASCII domains
63393         * lisp/net/puny.el (puny-encode-string): Fix the all-non-ASCII
63394         encoding case.
63396 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
63398         shr link traversal fixup
63400         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
63402 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
63404         Reconnect erc even on server errors
63406         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
63407         reconnect even if a server error has occurred (bug#18527).
63409 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
63411         Fix punycode short circuit logic
63413         * lisp/net//puny.el (puny-encode-domain): Fix short-circuit logic.
63415 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
63417         IDNA speed up
63419         * lisp/net/puny.el (puny-encode-domain): Make the common non-IDNA case faster
63421 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
63423         Add IDNA domain encode/decode functions
63425         * lisp/net/puny.el (puny-decode-domain): New function.
63426         (puny-encode-domain): Ditto.
63427         (puny-decode-digit): Fix digit decoding error.
63429 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
63431         Rename idna.el to puny.el
63433         * lisp/net/puny.el: Renamed from idna.el to avoid name collisions with
63434         the external idna.el library.
63436 2015-12-27  Katsumi Yamaoka  <yamaoka@jpl.org>
63438         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
63440         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
63441         Don't use split-string with 4th arg for old Emacsen compatibility.
63443 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
63445         * lisp/net/idna.el (idna-decode-string-internal): Implement
63446         decoding.
63448 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
63450         Further IDNA tweaks
63452         (idna-encode-string): Make idna-encode-string safe for
63453         non-ASCII use.
63455 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
63457         Clean up the code slightly
63459 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
63461         Added basic idna encoding support
63463         * lisp/net/idna.el: New file.
63465 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
63467         Disconnection fixes for erc
63469         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
63470         reconnect if the user has disconnected explicitly (bug#4589).
63472 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
63474         Further erc asynch fixes
63476         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
63477         erc-server-connect to return even if the connection is not
63478         ready.  Then erc-open and erc-server-reconnect do the
63479         same. (bug#5650).
63481 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
63483         Make erc connect asynchronously
63485         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
63486         reconnect asynchronously.
63488         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
63490 2015-12-27  David Edmondson  <dme@dme.org>
63492         Proxy error in erc with multiple clients
63494         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
63495         generated when multiple IRC clients talk to a single IRC proxy
63496         (bug#19034).
63498 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
63500         Fix mml-sec build warnings
63502         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
63503         (bug#18718).
63505 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
63507         (eww-setup-buffer): Restore left-to-right defaults
63509         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
63511 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
63513         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
63515 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
63517         Identify unsafe combinations of Bcc and encryption
63519         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
63520         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
63521         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
63523 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
63525         * shr.el (shr-descend): Allow using lambdas in external functions.
63527 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
63529         * admin/gitmerge.el: Tweaks that seemed necessary
63531         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
63532         (gitmerge-maybe-resume): Provide explicit empty commit message.
63534 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
63536         Use a different port for TLS erc
63538         * lisp/erc/erc.el (erc-default-port-tls): New variable
63539         (bug#19497).
63540         * lisp/erc/erc.el (erc-tls): Use it.
63542 2015-12-25  Alain Schneble  <a.s@realize.ch>
63544         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
63546         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
63547         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
63548         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
63549         information in URL-struct.
63550         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
63551         path and query into nil path and query, respectively.
63552         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
63553         empty path into an absolute ("/") path.
63554         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
63555         fragment-only URIs. Do not just return them unchanged.
63556         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
63557         reference URI should not drop the last segment.
63559 2015-12-25  Alain Schneble  <a.s@realize.ch>
63561         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
63563         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
63564         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
63565         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
63566         information in URL-struct.
63567         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
63568         path and query into nil path and query, respectively.
63569         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
63570         empty path into an absolute ("/") path.
63571         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
63572         fragment-only URIs. Do not just return them unchanged.
63573         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
63574         reference URI should not drop the last segment.
63576 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
63578         Let url use default file modes when copying files
63580         * lisp/url/url-handlers.el (url-copy-file): Use default file
63581         modes when copying files (bug#11400).
63583 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
63585         Doc fix for url-http
63587         * lisp/url/url-http.el (url-http): Document better return values
63588           (bug#13187) (tiny change)
63590 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
63592         * eww.el (eww-display-html): Support <button> tags (bug#20485).
63594 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
63596         Made ffap-url-p a defun instead of a defsubst
63598         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
63599         since there doesn't seem to be much of a reason for it to be a
63600         defsubst (bug#18203).
63602 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
63604         Add a command to view files in the browser to dired
63606         * lisp/dired.el (dired-mode-map): Add the `W' command
63607         (bug#18810).
63609 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
63611         Allow http://user:pass@foo/ URLs again
63613         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
63614         user/passwords in URLs (bug#19046).
63616 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
63618         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
63620 2015-12-25  Samer Masterson  <samer@samertm.com>
63622         Autoload url-insert-buffer-contents
63624         * lisp/url/url-handlers.el: Add autoload cookie so that
63625         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
63627 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
63629         Allow toggling colors in eww
63631         * doc/misc/eww.texi (Basics): Mention "C".
63633         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
63635         * lisp/net/shr.el (shr-use-colors): New variable.
63636         (shr-colorize-region): Use it.
63638 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
63640         Follow meta refresh tags in eww
63642         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
63644 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
63646         More eww file name coding fixes
63648         * eww.el (eww-decode-url-file-name): Use the base coding
63649         system to check for encodability.
63651 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
63653         Always save eww history
63655         * eww.el (eww-setup-buffer): Always save history, even when
63656         called from outside the eww buffer (bug#19638).
63658 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
63660         Default web pages to right-to-left
63662         * eww.el (eww-mode): Most web pages are left-to-right, so make
63663         that the default (bug#19801).
63665         * shr.el (shr-tag-html): Respect "dir" attributes
63666         (left-to-right, right-to-left).
63668 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
63670         Make toggling checkboxes work again
63672         * eww.el (eww-update-field): Make toggling checkboxes work
63673         again (bug#21881).
63675 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
63677         Don't store cookies with empty names
63679         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
63680         cookies with empty names (bug#21936).
63682 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
63684         Stop rendering HTML before specdlr exhaustion
63686         Fixes: 22117
63688         * shr.el (shr-descend): Stop rendering before we run out of
63689         specpdl room (bug#22117).
63691 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
63693         Use cl-reduce, not reduce.
63695 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
63697         Allow several <tbody> tags in shr
63699         * shr.el (shr-table-body): New function to find the real body
63700         of a table.
63701         (shr-tag-table): Use it to render several <tbody> tags in a
63702         table (bug#22170).
63704 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
63706         Make prettier unique file names in eww
63708         (eww-make-unique-file-name): Make unique file names by making
63709         files like foo(2).jpg instead of foo(1)(2).jpg.
63711 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
63713         Decode hex-encoded URLs before using them as file names
63715         * eww.el (eww-decode-url-file-name): New function.
63716         (eww-download-callback): Use it to decode file names before
63717         saving them.
63719 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>
63721         Add FreeBSD cert bundle
63723         * doc/misc/emacs-gnutls.texi (Help For Users): Document
63724         FreeBSD bundle.
63726         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
63728 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
63730         Allow overriding shr functions from eww
63732         * eww.el (eww-display-html): Allow overriding elements in
63733         `shr-external-rendering-functions'.
63735 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
63737         Ignore invalid SVG images
63739         * shr.el (shr-tag-svg): Ignore SVG images that have no width
63740         or height, because these can't be displayed by ImageMagick,
63741         anyway.
63743 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
63745         shr table rendering fix
63747         * shr.el (shr-tag-table): Allow rendering body-less tables
63748         that have headers.
63750 2015-12-22  Sam Steingold  <sds@gnu.org>
63752         clipboard should still work even if interprogram-* is disabled
63754         (clipboard-yank): When `interprogram-cut-function' is nil,
63755         bind it to `gui-selection-value' - the default value.
63756         (clipboard-kill-region, clipboard-kill-ring-save): When
63757         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
63758         the default value.
63760 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
63762         Fix bootstrap issue with dired-loaddefs
63764         * lisp/dired.el: Autoloads for secondary files loaded optionally.
63766 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
63768         dired generate autoloads to non-versioned file.
63770         * lisp/dired.el: Remove autoloads.
63771         * lisp/Makefile.in: Add dired to autogenel.
63772         * lisp/dired-aux.el, lisp/dired-x.el: Update file local.
63773         * test/lisp/dired-tests.el: Add new test.
63775 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
63777         eieio generate autoloads to non-versioned file.
63779         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
63780         * lisp/emacs-lisp/eieio.el, lisp/emacs-lisp/eieio-core.el:
63781           Remove autoloads.
63782         * lisp/emacs-lisp/eieio-compat.el, lisp/emacs-lisp/eieio-custom.el,
63783           lisp/emacs-lisp/eieio-opt.el: Update file local.
63784         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
63786 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
63788         htmlfontify generate autoload to non-versioned file.
63790         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
63791         * lisp/hfy-cmap.el: Update file local.
63792         * lisp/htmlfontify.el: Remove autoloads, add require.
63793         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
63795 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
63797         ibuffer generate autoloads to non-versioned file.
63799         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
63800         * lisp/ibuf-ext.el: Update file local.
63801         * lisp/ibuffer.el: Remove autoloads and add a require.
63802         * test/lisp/ibuffer-tests.el: Test that autoload is working.
63804 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
63806         rmail generate autoloads to non-versioned file.
63808         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
63809         * lisp/mail/rmail.el: Remove autoloads, add require.
63810         * lisp/mail/rmailedit.el, lisp/mail/rmailkwd.el:
63811         * lisp/mail/rmailmm.el, lisp/mail/rmailmsc.el:
63812         * lisp/mail/rmailsort.el, lisp/mail/rmailsum.el:
63813         * lisp/mail/undigest.el: Update file-local.
63814         * test/lisp/mail/rmail-tests.el:
63816 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
63818         Add autoload-force target.
63820         * lisp/Makefile.in (autoload-force): New target.
63822 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
63824         ps-print generate autoloads to non versioned file.
63826         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
63827         * lisp/ps-print.el: Remove autoloads.
63828         * lisp/ps-mule.el: Update file-local.
63829         * test/lisp/ps-print-tests.el: Test autoload functionality.
63831 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
63833         reftex generate autoloads to non versioned file.
63835         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
63836         * lisp/textmodes/reftex.el: Remove autoloads.
63837         * lisp/textmodes/reftex-auc.el, lisp/textmodes/reftex-cite.el:
63838         * lisp/textmodes/reftex-dcr.el, lisp/textmodes/reftex-global.el:
63839         * lisp/textmodes/reftex-index.el, lisp/textmodes/reftex-parse.el:
63840         * lisp/textmodes/reftex-ref.el, lisp/textmodes/reftex-sel.el:
63841         * lisp/textmodes/reftex-toc.el: Update autoload file-local.
63842         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
63843           function.
63845 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
63847         * lisp/calculator.el (calculator-define-key): Undo last change
63849         Make map argument mandatory instead (bug#22106).
63850         (calculator-add-operators): Pass the argument that's not optional any more.
63852 2015-12-03  Glenn Morris  <rgm@gnu.org>
63854         * Makefile.in: Avoid duplication.
63856         (have-tests): New rule.
63857         (check, check-maybe): Use it.
63859 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
63861         make check unconditional, check-maybe top-level.
63863          * Makefile.in: Add check-maybe target.
63864          * test/Makefile.in: Restore unconditional behavior to make check.
63866 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
63868         Tests now support out-of-source-build.
63870          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
63871            about current working directory.
63873 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
63875         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
63877 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
63879         Improve documentation and clean up.
63881          * test/Makefile.in: Improve documentation, use EMACS variable
63882            correctly, and clean up makefile rules.
63884 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
63886         Update file headers for name change.
63888          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
63890 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
63892         Test files renamed to new scheme.
63894          * (finalizer-tests.el): Now renamed alloc-tests.el
63895          * (zlib-tests.el): Now renamed decompress-tests.el.
63897 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
63899         Tests now depend on source files
63901          * test/Makefile.in: Include dependences from tests to source files.
63902          * test/make-test-deps.emacs-lisp: New file
63903          * .gitignore: Ignore generated make include file
63905 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
63907         * lisp/progmodes/which-func.el: Improve disabling the mode
63909         Use lexical-binding.
63910         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
63911         (which-func, which-func-format): Remove redundant :group arg.
63912         (which-func-try-to-enable): New function.
63913         (which-func-ff-hook, which-function-mode): Use it.
63914         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
63915         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
63917 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
63919         * lisp/calculator.el (calculator-define-key): Silence warning
63921         ...about unknown calculator-mode-map.
63923 2015-11-29  Eli Barzilay  <eli@barzilay.org>
63925         * lisp/calculator.el: more improvements and bugfixes.
63927         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
63928           effect anyway.)
63930         - Simplify `calculator-number-to-string' by throwing most of the work
63931           onto `number-to-string', leaving just some tweaks for decimal inputs.
63932           This leads to some minor changes, for example, pasting "1x1" in hex
63933           mode would warn that "x" is ignored and result in "11" (and it wasn't
63934           done in decimal mode), whereas now it just ignores everything from the
63935           "x" and on and result in a "1" just like in decimal input mode.  Also,
63936           overflows are left for `number-to-string' to deal with.
63938         - `calculator-paste' is very simple as a result.
63940         - Extend the simplified `calculator-paste': with a prefix argument it
63941           pastes a string as if the characters were entered.  This can be used
63942           to reduce expressions, but note that it's a simple literal operation,
63943           so precedence can be messed, a number can be paster while entering a
63944           number, spaces and newlines matter, etc.
63946         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
63947           operator.
63949         - Fix a bug in `calculator-put-value': avoid grouping in the display
63950           that is used to construct `calculator-curnum'.  This would trigger
63951           when pasting or getting a value from a register in some radix mode
63952           with a large enough value.  Another fix: make the output radix equal
63953           the input one, otherwise numbers could be converted twice.
63955 2015-11-29  Eli Barzilay  <eli@barzilay.org>
63957         * lisp/calculator.el: Re-do key bindings.
63959         Use a helper function that arranges a parent keymap that binds alternate
63960         case keys so if some letter key is unbound and it's un/shifted version
63961         is, it will get used.  This makes the global-map trickery unnecessary.
63963         Also switch to passing strings that name keys through `kbd'.
63965 2015-11-29  Eli Barzilay  <eli@barzilay.org>
63967         * lisp/calculator.el: improve radix modes
63969         Fix prompt for some input radix with decimal output (eg, "BD" instead of
63970         the incorrect "B="); also, some minor docstring tweaks for these.
63972 2015-11-29  Eli Barzilay  <eli@barzilay.org>
63974         * lisp/calculator.el: better reading of register names
63976         Use `register-read-with-preview' with a dynamically bound
63977         `register-alist' and a proper preview function to read register names.
63979 2015-11-29  Eli Barzilay  <eli@barzilay.org>
63981         * lisp/calculator.el: General improvements
63983         Use things like `when', `unless', and `push'.
63985         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
63986         non-electric mode.
63988 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
63990         Fix a problem with gfilenotify in filenotify-tests.el
63992         * test/lisp/filenotify-tests.el
63993         (file-notify--test-expected-events): Remove.
63994         (file-notify--test-cleanup): Do not set that variable.
63995         (file-notify--test-with-events): EVENTS can also be a list of lists.
63996         (file-notify-test02-events, file-notify-test04-file-validity):
63997         Adapt expected result.
63999 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
64001         * .gitignore: Adjust to changes in 'test' directory structure.
64003 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
64005         Fix test/manual/etags/Makefile
64007         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
64008         changes in 'test' directory structure.
64010 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
64012         Exclude resource dirs from search for tests.
64014         * test/Makefile.in: Test file locations are now found with find
64015           rather than using finds native functions.
64017 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
64019         Add test targets without directory names.
64021          * (test/Makefile.in): Extend test_template to add two targets for each
64022            file.
64024 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
64026         * lisp/emacs-lisp/package.el: Require url-handlers
64028 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
64030         Move elisp-mode-tests to new function names.
64032          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
64033          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
64035 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
64037         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
64039 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
64041         Merge branch 'feature/standard-test-location'
64043 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
64045         * lisp/emacs-lisp/eieio.el: Add some default implementations
64047         (standard-class): Mark it obsolete.
64048         (slot-missing): Give it a default implementation.
64049         (destructor): Simplify and mark it obsolete.
64050         (object-print): Give it a default implementation.
64051         (eieio-change-class): Rename from change-class.
64052         (change-class): Redefine as obsolete alias.
64054 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64056         Mention kqueue in NEWS
64058 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64060         Merge from scratch/kqueue
64062         bec57a4 Some final fixes in file notification before merging with master
64063         0247489 Rework file notifications, kqueue has problems with directory monitors
64064         5154781 Continie with pending events
64065         6b490c0 Improve loops in file-notify-test06-many-events
64066         c8e266f Handle more complex rename operation in kqueue
64067         5044bdf New test with a larger number of events.
64068         65ba5a9 Further fixes for kqueue.
64069         13f3508 Code cleanup of kqueue.c
64070         99aa855 Doc changes for kqueue
64071         8deebe1 Finish implementation in kqueue.c
64072         90d6c69 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
64073         e95b309 More work on kqueue
64074         41d9bd0 Implement directory events
64075         c571fc1 Build fixes for kqueue support.
64076         e0a68f2 Continue kqueue implementation
64077         7543d1c Work on kqueue
64078         e3354e2 Add kqueue support
64079         c6457ce Minor fix to comment indentation and typo in last commit
64080         b92307f linum-mode plays more nicely with other margin-setting extensions
64081         58e6235 * lisp/image-mode.el: Support encrypted file
64082         9375652 * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
64083         47f83b6 ; ChangeLog.2 fixes
64084         7cc233e * lisp/emacs-lisp/package.el: Fix a decoding issue
64085         5f9153f * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
64086         353f5e7 * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
64087         70f1fda ; Auto-commit of ChangeLog files.
64088         ae0653b * CONTRIBUTE: Remove information about feature freeze.
64089         9459456 Merge branch 'release-process-lowercase'
64090         9a4aa0f Document the release process
64091         f8cc14b * admin/release-process: Rename from admin/FOR-RELEASE.
64092         dcd5877 gitmerge: Fix git log command
64093         2ac79ae gitmerge: Try to detect cherry-picks
64094         5f7a2a9 Increment Emacs version on master branch
64095         ed2e7e2 Mention CONTRIBUTE in README
64096         9e00a02 Update verilog-mode.el to 2015-11-09-b121d60-vpo.
64097         138ad3d ; Fix warnings
64098         7126e9a ; Update xref-etags-mode for the latest change
64099         246d660 Use generic dispatch for xref backends
64100         31f6e93 Support rectangular regions for more commands
64101         f103a27 Handle multiple matches on the same line; add highlighting
64102         fe973fc Replace xref-match-bounds with xref-match-length
64103         92a5010 Merge from gnulib
64104         04ac097 Spruce up ftfont.c memory allocation
64105         4c4b520 Port recent XCB changes to 64-bit ‘long int’
64106         4f0ce9c * src/undo.c (run_undoable_change): Now static.
64107         695a6f9 Remove support for ':timeout' from w32 tray notifications
64108         a731c2f * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
64109         2b4c0c0 * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
64110         66b9f7b * src/undo.c: Small fixes for previous change
64111         2fac30e Add a few more variables to redisplay--variables
64112         04f69f1 * lisp/loadup.el: Enlarge the size of the hash table to 80000.
64113         e221d32 Fix point positioning after transposing with negative arg
64114         35f5afb Fix last change in shr.el
64115         508e77b Fix last change
64116         d60ed3f Another fix for MinGW64 and Cygwin builds due to notifications
64117         805a39b Remove intern calls and XXX comments from Fx_export_frames
64118         9463abf shr: don't invoke unbound function (Bug#21895)
64119         6e5186e * test/automated/keymaps-test.el: Fix test to make it repeatable
64120         0c92826 * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
64121         39dbd1c : Tests for undo-auto functionality.
64122         20aa42e ; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
64123         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'.
64124         d2f73db Bind [?\S-\ ] to previous line command in Dired-like modes.
64125         c1bc6e5 Fix the MinGW64 and Cygwin-w32 builds
64126         1e363a8 Enable sorting of JSON object keys when encoding
64127         9dd7da9 * test/automated/keymap-tests.el: New test file
64128         aa17de9 Speed up x_real_pos_and_offsets using XCB
64129         a838c83 Enable use of XCB for checking window manager state
64130         c7f2b6a Detect XCB and save a connection handle
64131         e1c27db Reduce some data dependencies between X calls
64132         25e32bd Use color cache for creating bitmap
64133         851be0f Add "^" to the interactive specs of `dired-next/previous-line'
64134         055ca3a Sync with soap-client repository, version 3.0.2
64135         e0f64e7 CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
64136         952395d * lisp/obarray.el: Fix shadowed variables
64137         436d330 Avoid error in submitting a form with EWW
64138         e887f6e ; * doc/lispref/os.texi: Fix indentation of sample code.
64139         51d840a Rename seq-p and map-p to seqp and mapp
64140         23036ba Rename obarray-p to obarrayp
64141         20aea42 Rename obarray-foreach to obarray-map
64142         a3b2101 New file with obarray functions.
64143         9d43941 Implement tray notifications for MS-Windows
64145 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64147         Some final fixes in file notification before merging with master
64149         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
64150         (file-notify-callback): Improve check for `stopped' event.  Call
64151         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
64152         (file-notify-add-watch): In case FILE is not a directory, call the
64153         file monitor for the kqueue backend.  Otherwise, call the
64154         directory monitor for the upper directory.
64156         * src/inotify.c (inotifyevent_to_event): Extract file name from
64157         watch_object if the event doesn't provide it.
64158         (Finotify_add_watch): Add file name to watch_object.
64160         * test/automated/file-notify-tests.el (file-notify--test-timeout):
64161         Use different timeouts for different libraries.
64162         (file-notify--test-with-events): Suppress lock files.  Flush
64163         outstanding events before running the body.
64164         (file-notify-test02-events, file-notify-test04-file-validity): Do
64165         not skip cygwin tests.  Add additional test for file creation.
64166         Adapt expected result for different backends.
64167         (file-notify-test03-autorevert): Some of the tests don't work for
64168         w32notify.
64169         (file-notify-test06-many-events): Rename into both directions.
64171 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64173         Rework file notifications, kqueue has problems with directory monitors
64175         * lisp/filenotify.el (file-notify-add-watch): Call the native
64176         add-watch function on the file, not on the dir.
64178         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
64179         about already deleted entries.
64181         * test/automated/auto-revert-tests.el
64182         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
64183         since this deletes the target file first.
64185         * test/automated/file-notify-tests.el (file-notify--test-event-test):
64186         Make stronger checks.
64187         (file-notify-test01-add-watch, file-notify-test02-events)
64188         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
64189         Rewrite in order to call file monitors but directory monitors.
64190         (file-notify-test06-many-events): Ler rename work in both directions.
64192 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64194         Continie with pending events
64196         * src/kqueue.c (pending_events): Remove global variable.
64197         (kqueue_compare_dir_list): Create `write' event for not used
64198         pending events.
64199         (globals_of_kqueue): Remove initialization of pending_events.
64201 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64203         Improve loops in file-notify-test06-many-events
64205         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
64206         Use `read-event' pauses for the `write-file' loops; otherwise
64207         events are lost in inotify and gfilenotify cases.
64209 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64211         Handle more complex rename operation in kqueue
64213         * src/kqueue.c (pending_events): New variable.
64214         (kqueue_compare_dir_list): Handle more complex rename operation.
64215         (globals_of_kqueue): Initialize pending_events.
64217         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
64218         Adapt expected events in the `rename-file' case.
64219         (file-notify-test06-many-events-remote): Declare.
64221 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
64223         New test with a larger number of events.
64225         * test/automated/file-notify-tests.el (file-notify--test-with-events):
64226         Make timeout heuristically depend on the number of events.
64228         (file-notify-test06-many-events): Use it for new test.
64230 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64232         Further fixes for kqueue.
64234         * lisp/filenotify.el (file-notify-callback): Raise also event if
64235         directory name matches.
64236         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
64238         * src/kqueue.c (kqueue_generate_event): Use watch_object as
64239         argument instead of ident.  Remove callback argument.  Adapt
64240         callees.  Check actions whether they are monitored flags.
64242         * test/automated/file-notify-tests.el (file-notify--test-library):
64243         New defun.
64244         (file-notify-test00-availability, file-notify-test02-events)
64245         (file-notify-test04-file-validity)
64246         (file-notify-test05-dir-validity): Use it.
64247         (file-notify-test02-events, file-notify-test04-file-validity): Add
64248         `read-event' calls between different file actions, in order to
64249         give the backends a chance to rais an event.  Needed especially
64250         for kqueue.  In case of deleting a directory, there are two
64251         `deleted' events.
64253 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64255         Code cleanup of kqueue.c
64257         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
64258         (kqueue_compare_dir_list): Do not loop when calling
64259         directory_files_internal.  Remove checks for "." and "..", this is
64260         done in kqueue_directory_listing now.
64261         (Fkqueue_add_watch): Check for proper emacs_open flags.
64263 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64265         Doc changes for kqueue
64267         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
64268         Fix some glitches in the example.
64270 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64272         Finish implementation in kqueue.c
64274         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
64275         Simplify access to list.
64276         (kqueue_compare_dir_list): Simplify access to list.  Raise
64277         `delete' event if directory does not exist any longer.  Otherwise,
64278         wait until directory contents has changed.  Fix error in check.
64280 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64282         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
64284 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64286         More work on kqueue
64288         * lisp/filenotify.el (file-notify-callback): Handle also the
64289         `rename' event from kqueue.
64290         (file-notify-add-watch): Do not register an entry twice.
64292         * src/kqueue.c (kqueue_directory_listing): New function.
64293         (kqueue_generate_event): New argument FILE1.  Adapt callees.
64294         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
64296 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64298         Implement directory events
64300         * lisp/filenotify.el (file-notify-handle-event)
64301         (file-notify-callback): Remove traces.
64303         * src/kqueue.c: Include <sys/time.h>.
64304         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
64305         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
64306         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
64307         Compute initial directory listing.  Close file descriptor in case
64308         of errors.
64309         (syms_of_kqueue): Declare Qcreate.
64311 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
64313         Build fixes for kqueue support.
64315         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
64316         flag.
64318         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
64319         kqueue on *BSD.
64321 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64323         Continue kqueue implementation
64325         * lisp/filenotify.el (file-notify-handle-event)
64326         (file-notify-callback): Enable trace messages.
64328         * src/kqueue.c: Include also <sys/types.h>.
64329         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
64330         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
64331         (syms_of_kqueue): Add them.
64333 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64335         Work on kqueue
64337         * lisp/filenotify.el (file-notify--library)
64338         (file-notify-descriptors, file-notify-callback)
64339         (file-notify-add-watch, file-notify-rm-watch)
64340         (file-notify-valid-p): Add kqueue support.
64342         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
64344 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64346         Add kqueue support
64348         * configure.ac (--with-file-notification): Add kqueue.
64349         (top): Remove special test for "${HAVE_NS}" and
64350         ${with_file_notification}, this is handled inside gfilenotify
64351         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
64352         instead of library specific variables.
64354         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
64356         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
64358         * src/kqueue.c: New file.
64360         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
64362 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
64364         Some final fixes in file notification before merging with master
64366         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
64367         (file-notify-callback): Improve check for `stopped' event.  Call
64368         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
64369         (file-notify-add-watch): In case FILE is not a directory, call the
64370         file monitor for the kqueue backend.  Otherwise, call the
64371         directory monitor for the upper directory.
64373         * src/inotify.c (inotifyevent_to_event): Extract file name from
64374         watch_object if the event doesn't provide it.
64375         (Finotify_add_watch): Add file name to watch_object.
64377         * test/automated/file-notify-tests.el (file-notify--test-timeout):
64378         Use different timeouts for different libraries.
64379         (file-notify--test-with-events): Suppress lock files.  Flush
64380         outstanding events before running the body.
64381         (file-notify-test02-events, file-notify-test04-file-validity): Do
64382         not skip cygwin tests.  Add additional test for file creation.
64383         Adapt expected result for different backends.
64384         (file-notify-test03-autorevert): Some of the tests don't work for
64385         w32notify.
64386         (file-notify-test06-many-events): Rename into both directions.
64388 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
64390         Update elisp-mode-tests for changed file location.
64392          * test/lisp/progmodes/elisp-mode-tests.el:
64394 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
64396         Exclude manual tests from Makefile
64398          * test/Makefile.in:
64400 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
64402         Move package test files to new directory.
64404          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
64405          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
64407 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
64409         Restore delete Makefiles and fix .gitignore.
64411          * .gitignore: Update Makefiles to changed locations
64412          * test/lisp/progmodes/flymake-resources/Makefile,
64413            test/manual/etags/Makefile,
64414            test/manual/etags/make-src/Makefile,
64415            test/manual/indent/Makefile: Restored and moved to new location.
64417 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
64419         Test infrastructure: updates after directory move
64421          * (test/Makefile.in): Support directories several levels deep.
64422          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
64423          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
64425 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
64427         Rename all test files to reflect source layout.
64429         * CONTRIBUTE, Makefile.in, configure.ac: Update to reflect
64430         test directory moves.
64431         * test/file-organisation.org: New file.
64432         * test/automated/Makefile.in:
64433         * test/automated/data/decompress/foo.gz:
64434         * test/automated/data/epg/pubkey.asc:
64435         * test/automated/data/epg/seckey.asc:
64436         * test/automated/data/files-bug18141.el.gz:
64437         * test/automated/data/flymake/test.c:
64438         * test/automated/data/flymake/test.pl:
64439         * test/automated/data/package/archive-contents:
64440         * test/automated/data/package/key.pub:
64441         * test/automated/data/package/key.sec:
64442         * test/automated/data/package/multi-file-0.2.3.tar:
64443         * test/automated/data/package/multi-file-readme.txt:
64444         * test/automated/data/package/newer-versions/archive-contents:
64445         * test/automated/data/package/newer-versions/new-pkg-1.0.el:
64446         * test/automated/data/package/newer-versions/simple-single-1.4.el:
64447         * test/automated/data/package/package-test-server.py:
64448         * test/automated/data/package/signed/archive-contents:
64449         * test/automated/data/package/signed/archive-contents.sig:
64450         * test/automated/data/package/signed/signed-bad-1.0.el:
64451         * test/automated/data/package/signed/signed-bad-1.0.el.sig:
64452         * test/automated/data/package/signed/signed-good-1.0.el:
64453         * test/automated/data/package/signed/signed-good-1.0.el.sig:
64454         * test/automated/data/package/simple-depend-1.0.el:
64455         * test/automated/data/package/simple-single-1.3.el:
64456         * test/automated/data/package/simple-single-readme.txt:
64457         * test/automated/data/package/simple-two-depend-1.1.el:
64458         * test/automated/abbrev-tests.el:
64459         * test/automated/auto-revert-tests.el:
64460         * test/automated/calc-tests.el:
64461         * test/automated/icalendar-tests.el:
64462         * test/automated/character-fold-tests.el:
64463         * test/automated/comint-testsuite.el:
64464         * test/automated/descr-text-test.el:
64465         * test/automated/electric-tests.el:
64466         * test/automated/cl-generic-tests.el:
64467         * test/automated/cl-lib-tests.el:
64468         * test/automated/eieio-test-methodinvoke.el:
64469         * test/automated/eieio-test-persist.el:
64470         * test/automated/eieio-tests.el:
64471         * test/automated/ert-tests.el:
64472         * test/automated/ert-x-tests.el:
64473         * test/automated/generator-tests.el:
64474         * test/automated/let-alist.el:
64475         * test/automated/map-tests.el:
64476         * test/automated/advice-tests.el:
64477         * test/automated/package-test.el:
64478         * test/automated/pcase-tests.el:
64479         * test/automated/regexp-tests.el:
64480         * test/automated/seq-tests.el:
64481         * test/automated/subr-x-tests.el:
64482         * test/automated/tabulated-list-test.el:
64483         * test/automated/thunk-tests.el:
64484         * test/automated/timer-tests.el:
64485         * test/automated/epg-tests.el:
64486         * test/automated/eshell.el:
64487         * test/automated/faces-tests.el:
64488         * test/automated/file-notify-tests.el:
64489         * test/automated/auth-source-tests.el:
64490         * test/automated/gnus-tests.el:
64491         * test/automated/message-mode-tests.el:
64492         * test/automated/help-fns.el:
64493         * test/automated/imenu-test.el:
64494         * test/automated/info-xref.el:
64495         * test/automated/mule-util.el:
64496         * test/automated/isearch-tests.el:
64497         * test/automated/json-tests.el:
64498         * test/automated/bytecomp-tests.el:
64499         * test/automated/coding-tests.el:
64500         * test/automated/core-elisp-tests.el:
64501         * test/automated/decoder-tests.el:
64502         * test/automated/files.el:
64503         * test/automated/font-parse-tests.el:
64504         * test/automated/lexbind-tests.el:
64505         * test/automated/occur-tests.el:
64506         * test/automated/process-tests.el:
64507         * test/automated/syntax-tests.el:
64508         * test/automated/textprop-tests.el:
64509         * test/automated/undo-tests.el:
64510         * test/automated/man-tests.el:
64511         * test/automated/completion-tests.el:
64512         * test/automated/dbus-tests.el:
64513         * test/automated/newsticker-tests.el:
64514         * test/automated/sasl-scram-rfc-tests.el:
64515         * test/automated/tramp-tests.el:
64516         * test/automated/obarray-tests.el:
64517         * test/automated/compile-tests.el:
64518         * test/automated/elisp-mode-tests.el:
64519         * test/automated/f90.el:
64520         * test/automated/flymake-tests.el:
64521         * test/automated/python-tests.el:
64522         * test/automated/ruby-mode-tests.el:
64523         * test/automated/subword-tests.el:
64524         * test/automated/replace-tests.el:
64525         * test/automated/simple-test.el:
64526         * test/automated/sort-tests.el:
64527         * test/automated/subr-tests.el:
64528         * test/automated/reftex-tests.el:
64529         * test/automated/sgml-mode-tests.el:
64530         * test/automated/tildify-tests.el:
64531         * test/automated/thingatpt.el:
64532         * test/automated/url-future-tests.el:
64533         * test/automated/url-util-tests.el:
64534         * test/automated/add-log-tests.el:
64535         * test/automated/vc-bzr.el:
64536         * test/automated/vc-tests.el:
64537         * test/automated/xml-parse-tests.el:
64538         * test/BidiCharacterTest.txt:
64539         * test/biditest.el:
64540         * test/cedet/cedet-utests.el:
64541         * test/cedet/ede-tests.el:
64542         * test/cedet/semantic-ia-utest.el:
64543         * test/cedet/semantic-tests.el:
64544         * test/cedet/semantic-utest-c.el:
64545         * test/cedet/semantic-utest.el:
64546         * test/cedet/srecode-tests.el:
64547         * test/cedet/tests/test.c:
64548         * test/cedet/tests/test.el:
64549         * test/cedet/tests/test.make:
64550         * test/cedet/tests/testdoublens.cpp:
64551         * test/cedet/tests/testdoublens.hpp:
64552         * test/cedet/tests/testfriends.cpp:
64553         * test/cedet/tests/testjavacomp.java:
64554         * test/cedet/tests/testnsp.cpp:
64555         * test/cedet/tests/testpolymorph.cpp:
64556         * test/cedet/tests/testspp.c:
64557         * test/cedet/tests/testsppcomplete.c:
64558         * test/cedet/tests/testsppreplace.c:
64559         * test/cedet/tests/testsppreplaced.c:
64560         * test/cedet/tests/testsubclass.cpp:
64561         * test/cedet/tests/testsubclass.hh:
64562         * test/cedet/tests/testtypedefs.cpp:
64563         * test/cedet/tests/testvarnames.c:
64564         * test/etags/CTAGS.good:
64565         * test/etags/ETAGS.good_1:
64566         * test/etags/ETAGS.good_2:
64567         * test/etags/ETAGS.good_3:
64568         * test/etags/ETAGS.good_4:
64569         * test/etags/ETAGS.good_5:
64570         * test/etags/ETAGS.good_6:
64571         * test/etags/a-src/empty.zz:
64572         * test/etags/a-src/empty.zz.gz:
64573         * test/etags/ada-src/2ataspri.adb:
64574         * test/etags/ada-src/2ataspri.ads:
64575         * test/etags/ada-src/etags-test-for.ada:
64576         * test/etags/ada-src/waroquiers.ada:
64577         * test/etags/c-src/a/b/b.c:
64578         * test/etags/c-src/abbrev.c:
64579         * test/etags/c-src/c.c:
64580         * test/etags/c-src/dostorture.c:
64581         * test/etags/c-src/emacs/src/gmalloc.c:
64582         * test/etags/c-src/emacs/src/keyboard.c:
64583         * test/etags/c-src/emacs/src/lisp.h:
64584         * test/etags/c-src/emacs/src/regex.h:
64585         * test/etags/c-src/etags.c:
64586         * test/etags/c-src/exit.c:
64587         * test/etags/c-src/exit.strange_suffix:
64588         * test/etags/c-src/fail.c:
64589         * test/etags/c-src/getopt.h:
64590         * test/etags/c-src/h.h:
64591         * test/etags/c-src/machsyscalls.c:
64592         * test/etags/c-src/machsyscalls.h:
64593         * test/etags/c-src/sysdep.h:
64594         * test/etags/c-src/tab.c:
64595         * test/etags/c-src/torture.c:
64596         * test/etags/cp-src/MDiagArray2.h:
64597         * test/etags/cp-src/Range.h:
64598         * test/etags/cp-src/burton.cpp:
64599         * test/etags/cp-src/c.C:
64600         * test/etags/cp-src/clheir.cpp.gz:
64601         * test/etags/cp-src/clheir.hpp:
64602         * test/etags/cp-src/conway.cpp:
64603         * test/etags/cp-src/conway.hpp:
64604         * test/etags/cp-src/fail.C:
64605         * test/etags/cp-src/functions.cpp:
64606         * test/etags/cp-src/screen.cpp:
64607         * test/etags/cp-src/screen.hpp:
64608         * test/etags/cp-src/x.cc:
64609         * test/etags/el-src/TAGTEST.EL:
64610         * test/etags/el-src/emacs/lisp/progmodes/etags.el:
64611         * test/etags/erl-src/gs_dialog.erl:
64612         * test/etags/f-src/entry.for:
64613         * test/etags/f-src/entry.strange.gz:
64614         * test/etags/f-src/entry.strange_suffix:
64615         * test/etags/forth-src/test-forth.fth:
64616         * test/etags/html-src/algrthms.html:
64617         * test/etags/html-src/index.shtml:
64618         * test/etags/html-src/software.html:
64619         * test/etags/html-src/softwarelibero.html:
64620         * test/etags/lua-src/allegro.lua:
64621         * test/etags/objc-src/PackInsp.h:
64622         * test/etags/objc-src/PackInsp.m:
64623         * test/etags/objc-src/Subprocess.h:
64624         * test/etags/objc-src/Subprocess.m:
64625         * test/etags/objcpp-src/SimpleCalc.H:
64626         * test/etags/objcpp-src/SimpleCalc.M:
64627         * test/etags/pas-src/common.pas:
64628         * test/etags/perl-src/htlmify-cystic:
64629         * test/etags/perl-src/kai-test.pl:
64630         * test/etags/perl-src/yagrip.pl:
64631         * test/etags/php-src/lce_functions.php:
64632         * test/etags/php-src/ptest.php:
64633         * test/etags/php-src/sendmail.php:
64634         * test/etags/prol-src/natded.prolog:
64635         * test/etags/prol-src/ordsets.prolog:
64636         * test/etags/ps-src/rfc1245.ps:
64637         * test/etags/pyt-src/server.py:
64638         * test/etags/tex-src/gzip.texi:
64639         * test/etags/tex-src/nonewline.tex:
64640         * test/etags/tex-src/testenv.tex:
64641         * test/etags/tex-src/texinfo.tex:
64642         * test/etags/y-src/atest.y:
64643         * test/etags/y-src/cccp.c:
64644         * test/etags/y-src/cccp.y:
64645         * test/etags/y-src/parse.c:
64646         * test/etags/y-src/parse.y:
64647         * test/indent/css-mode.css:
64648         * test/indent/js-indent-init-dynamic.js:
64649         * test/indent/js-indent-init-t.js:
64650         * test/indent/js-jsx.js:
64651         * test/indent/js.js:
64652         * test/indent/latex-mode.tex:
64653         * test/indent/modula2.mod:
64654         * test/indent/nxml.xml:
64655         * test/indent/octave.m:
64656         * test/indent/pascal.pas:
64657         * test/indent/perl.perl:
64658         * test/indent/prolog.prolog:
64659         * test/indent/ps-mode.ps:
64660         * test/indent/ruby.rb:
64661         * test/indent/scheme.scm:
64662         * test/indent/scss-mode.scss:
64663         * test/indent/sgml-mode-attribute.html:
64664         * test/indent/shell.rc:
64665         * test/indent/shell.sh:
64666         * test/redisplay-testsuite.el:
64667         * test/rmailmm.el:
64668         * test/automated/buffer-tests.el:
64669         * test/automated/cmds-tests.el:
64670         * test/automated/data-tests.el:
64671         * test/automated/finalizer-tests.el:
64672         * test/automated/fns-tests.el:
64673         * test/automated/inotify-test.el:
64674         * test/automated/keymap-tests.el:
64675         * test/automated/print-tests.el:
64676         * test/automated/libxml-tests.el:
64677         * test/automated/zlib-tests.el: Files Moved.
64679 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
64681         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
64683         * lisp/progmodes/verilog-mode.el
64684         (verilog-save-font-no-change-functions): Commentary and fix
64685         pre-Emacs 21 behavior.
64687 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
64689         Rework file notifications, kqueue has problems with directory monitors
64691         * lisp/filenotify.el (file-notify-add-watch): Call the native
64692         add-watch function on the file, not on the dir.
64694         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
64695         about already deleted entries.
64697         * test/automated/auto-revert-tests.el
64698         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
64699         since this deletes the target file first.
64701         * test/automated/file-notify-tests.el (file-notify--test-event-test):
64702         Make stronger checks.
64703         (file-notify-test01-add-watch, file-notify-test02-events)
64704         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
64705         Rewrite in order to call file monitors but directory monitors.
64706         (file-notify-test06-many-events): Ler rename work in both directions.
64708 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
64710         Use obarray functions from obarray.
64712         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
64713           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
64714           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
64715           delegate to obarray.el functions.
64716         * lisp/loadup.el: load obarray before abbrev
64717         * test/automated/abbrev-tests.el: new tests
64719 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
64721         Continie with pending events
64723         * src/kqueue.c (pending_events): Remove global variable.
64724         (kqueue_compare_dir_list): Create `write' event for not used
64725         pending events.
64726         (globals_of_kqueue): Remove initialization of pending_events.
64728 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
64730         Improve loops in file-notify-test06-many-events
64732         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
64733         Use `read-event' pauses for the `write-file' loops; otherwise
64734         events are lost in inotify and gfilenotify cases.
64736 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
64738         Handle more complex rename operation in kqueue
64740         * src/kqueue.c (pending_events): New variable.
64741         (kqueue_compare_dir_list): Handle more complex rename operation.
64742         (globals_of_kqueue): Initialize pending_events.
64744         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
64745         Adapt expected events in the `rename-file' case.
64746         (file-notify-test06-many-events-remote): Declare.
64748 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
64750         epa.el: Add option to replace original text
64752         * lisp/epa.el (epa-replace-original-text): New user option.
64753         (Bug#21947)
64755 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
64757         Add interactive seek command.
64759         * lisp/mpc.el (mpc-cmd-seekcur): New function.
64760         (mpc-seek-current): New command.
64761         (mpc-mode-menu): Add entry for mpc-seek-current
64762         (mpc-mode-map): Bind mpc-seek-current to "g"
64764 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
64766         Fix issue where a new tempfile was created every refresh
64768         * lisp/mpc.el (mpc-format): Leave dir as relative path
64770 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
64772         New test with a larger number of events.
64774         * test/automated/file-notify-tests.el (file-notify--test-with-events):
64775         Make timeout heuristically depend on the number of events.
64777         (file-notify-test06-many-events): Use it for new test.
64779 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
64781         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
64783         (c-save-buffer-state): Use with-silent-modifications when available.
64784         (c--macroexpand-all): Check macroexpand-all directly rather than
64785         c--mapcan-status.
64787 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
64789         * lisp/loadup.el: Set max-lisp-eval-depth here
64791         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
64792         (BYTE_COMPILE_FLAGS): Adjust accordingly.
64794 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
64796         Further fixes for kqueue.
64798         * lisp/filenotify.el (file-notify-callback): Raise also event if
64799         directory name matches.
64800         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
64802         * src/kqueue.c (kqueue_generate_event): Use watch_object as
64803         argument instead of ident.  Remove callback argument.  Adapt
64804         callees.  Check actions whether they are monitored flags.
64806         * test/automated/file-notify-tests.el (file-notify--test-library):
64807         New defun.
64808         (file-notify-test00-availability, file-notify-test02-events)
64809         (file-notify-test04-file-validity)
64810         (file-notify-test05-dir-validity): Use it.
64811         (file-notify-test02-events, file-notify-test04-file-validity): Add
64812         `read-event' calls between different file actions, in order to
64813         give the backends a chance to rais an event.  Needed especially
64814         for kqueue.  In case of deleting a directory, there are two
64815         `deleted' events.
64817 2015-11-17  João Távora  <joaotavora@gmail.com>
64819         Minor fix to comment indentation and typo in last commit
64821         * lisp/linum.el (linum-update-window): Fix comment indentation and
64822         a typo.
64824 2015-11-17  João Távora  <joaotavora@gmail.com>
64826         linum-mode plays more nicely with other margin-setting extensions
64828         linum.el will only modify the left margin if it needs to, and will
64829         only reset the it back to 0 if it guesses that no-one has touched that
64830         margin in the meantime.
64832         As such, this is a more of a workaround than an actual fix, but fixes
64833         the problems described in bug#20674 regarding the interaction with
64834         modes such as darkroom-mode and olivetti-mode.
64836         A similar fix was commited to nlinum.el in ELPA.git's
64837         e7f5f549fbfb740b911fb7f33b42381ecece56d8
64839         * lisp/linum.el (linum-delete-overlays): Restore margins more
64840         criteriously.
64841         (linum-update-window): Set margins more criteriously.
64843 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
64845         Code cleanup of kqueue.c
64847         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
64848         (kqueue_compare_dir_list): Do not loop when calling
64849         directory_files_internal.  Remove checks for "." and "..", this is
64850         done in kqueue_directory_listing now.
64851         (Fkqueue_add_watch): Check for proper emacs_open flags.
64853 2015-11-16  Daiki Ueno  <ueno@gnu.org>
64855         * lisp/image-mode.el: Support encrypted file
64857         (image-toggle-display-image): Read content from the buffer instead
64858         of the file, if the buffer holds a decrypted data.  (Bug#21870)
64860 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
64862         Doc changes for kqueue
64864         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
64865         Fix some glitches in the example.
64867 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
64869         Finish implementation in kqueue.c
64871         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
64872         Simplify access to list.
64873         (kqueue_compare_dir_list): Simplify access to list.  Raise
64874         `delete' event if directory does not exist any longer.  Otherwise,
64875         wait until directory contents has changed.  Fix error in check.
64877 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
64879         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
64881 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
64883         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
64885 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
64887         * lisp/emacs-lisp/package.el: Fix a decoding issue
64889         (package--with-response-buffer): Use `url-insert-buffer-contents'.
64890         The previous code had some issues with decoding. Refactoring that
64891         function allows us to use the decoding from url-handlers while still
64892         treating both sync and async requests the same.
64894         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
64895         `url-insert-buffer-contents'.
64896         (url-insert-buffer-contents): New function
64898 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
64900         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
64902         (package--with-work-buffer-async): Reimplement as
64903         `package--with-response-buffer'.
64904         (package--with-work-buffer): Mark obsolete.
64905         (package--with-response-buffer): New macro. This is a more self
64906         contained and less contrived version of
64907         `package--with-work-buffer-async'.  It uses keyword arguments,
64908         doesn't have async on the name, doesn't fallback on
64909         `package--with-work-buffer', and has _much_ simpler error
64910         handling.
64912         (package--check-signature, package--download-one-archive)
64913         (package-install-from-archive, describe-package-1): Use it.
64915         (package--download-and-read-archives): Let
64916         `package--download-one-archive' take care of calling
64917         `package--update-downloads-in-progress'.
64919 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
64921         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
64923         (verilog-save-buffer-state): Use with-silent-modifications when available.
64924         (verilog-save-font-no-change-functions): Don't bind
64925         before/after-change-functions if it's not needed.
64927 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
64929         More work on kqueue
64931         * lisp/filenotify.el (file-notify-callback): Handle also the
64932         `rename' event from kqueue.
64933         (file-notify-add-watch): Do not register an entry twice.
64935         * src/kqueue.c (kqueue_directory_listing): New function.
64936         (kqueue_generate_event): New argument FILE1.  Adapt callees.
64937         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
64939 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
64941         * CONTRIBUTE: Remove information about feature freeze.
64943         Merge branch 'release-process-lowercase'
64945 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
64947         Document the release process
64949         * admin/notes/versioning: Add information about RC releases.
64950         * admin/release-process: Document the release process.
64951         * admin/authors.el (authors-ignored-files):
64952         * admin/README: Change FOR-RELEASE to release-process.
64953         * CONTRIBUTE:
64954         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
64956 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
64958         * admin/release-process: Rename from admin/FOR-RELEASE.
64960 2015-11-14  David Engster  <deng@randomsample.de>
64962         gitmerge: Fix git log command
64964         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
64965         only want commits from the branch that is to be merged.
64966         (gitmerge-setup-log-buffer): Use the same symmetric range as in
64967         `gitmerge-missing'.
64969 2015-11-14  David Engster  <deng@randomsample.de>
64971         gitmerge: Try to detect cherry-picks
64973         * admin/gitmerge.el (gitmerge-default-branch): Change to
64974         origin/emacs-25.
64975         (gitmerge-missing): Use symmetric difference ('...') between
64976         branch and master so that cherry-picks can be detected.
64978 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
64980         Implement directory events
64982         * lisp/filenotify.el (file-notify-handle-event)
64983         (file-notify-callback): Remove traces.
64985         * src/kqueue.c: Include <sys/time.h>.
64986         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
64987         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
64988         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
64989         Compute initial directory listing.  Close file descriptor in case
64990         of errors.
64991         (syms_of_kqueue): Declare Qcreate.
64993 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
64995         Increment Emacs version on master branch
64997         * lisp/cus-edit.el (customize-changed-options-previous-release):
64998         Increase previous version to 24.5.
65000         * configure.ac:
65001         * msdos/sed2v2.inp: Bump version to 25.1.50.
65003 2015-11-13  Xue Fuqiao  <xfq.free@gmail.com>
65005         Mention CONTRIBUTE in README
65007         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
65008         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
65009         * README: Mention CONTRIBUTE.
65011 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
65013         Update verilog-mode.el to 2015-11-09-b121d60-vpo.
65015         * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-delete-auto)
65016         (verilog-modi-cache-results, verilog-save-buffer-state)
65017         (verilog-save-font-no-change-functions): When internally suppressing change
65018         functions, use `inhibit-modification-hooks' and call
65019         `after-change-funtions' to more nicely work with user hooks.  Reported by
65020         Stefan Monnier.
65022         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
65023         Create `verilog-delete-auto-buffer' to avoid double-calling
65024         fontification hooks.
65026         (verilog-restore-buffer-modified-p, verilog-auto)
65027         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
65028         set-buffer-modified-p. Reported by Stefan Monnier.
65030         (verilog-diff-auto, verilog-diff-buffers-p)
65031         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
65033         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
65034         AUTOINST with unpacked dimensional parameters, bug981. Reported by
65035         by Amol Nagapurkar.
65037         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
65038         properties inside internal structures. No functional change
65039         intended.
65041 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
65043         Build fixes for kqueue support.
65045         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
65046         flag.
65048         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
65049         kqueue on *BSD.
65051 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
65053         Continue kqueue implementation
65055         * lisp/filenotify.el (file-notify-handle-event)
65056         (file-notify-callback): Enable trace messages.
65058         * src/kqueue.c: Include also <sys/types.h>.
65059         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
65060         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
65061         (syms_of_kqueue): Add them.
65063 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
65065         Work on kqueue
65067         * lisp/filenotify.el (file-notify--library)
65068         (file-notify-descriptors, file-notify-callback)
65069         (file-notify-add-watch, file-notify-rm-watch)
65070         (file-notify-valid-p): Add kqueue support.
65072         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
65074 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
65076         Add kqueue support
65078         * configure.ac (--with-file-notification): Add kqueue.
65079         (top): Remove special test for "${HAVE_NS}" and
65080         ${with_file_notification}, this is handled inside gfilenotify
65081         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
65082         instead of library specific variables.
65084         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
65086         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
65088         * src/kqueue.c: New file.
65090         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
65092 This file records repository revisions from
65093 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
65094 commit 85829363f728c410e33ffdc3839202977b2115cc (inclusive).
65095 See ChangeLog.1 for earlier changes.
65097 ;; Local Variables:
65098 ;; coding: utf-8
65099 ;; End:
65101   Copyright (C) 2015-2019 Free Software Foundation, Inc.
65103   This file is part of GNU Emacs.
65105   GNU Emacs is free software: you can redistribute it and/or modify
65106   it under the terms of the GNU General Public License as published by
65107   the Free Software Foundation, either version 3 of the License, or
65108   (at your option) any later version.
65110   GNU Emacs is distributed in the hope that it will be useful,
65111   but WITHOUT ANY WARRANTY; without even the implied warranty of
65112   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
65113   GNU General Public License for more details.
65115   You should have received a copy of the GNU General Public License
65116   along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.