Improve "*Process List*" and "*Local Variables*". (Bug#30016)
[emacs.git] / ChangeLog.3
blob1c630f7fd25f3f64837e31650c508e718873c5aa
1 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
3         Mention trace.el facilities in the ELisp manual
5         * doc/lispref/debugging.texi (Debugging): Mention the trace.el
6         library.
8 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
10         Improve documentation of safe values of variables
12         * doc/lispref/variables.texi (File Local Variables): Mention the
13         autoload cookie as a means of defining safe values for variables.
14         See http://lists.gnu.org/archive/html/emacs-devel/2018-01/msg00261.html
15         for the details.
16         * doc/lispref/compile.texi (Compiler Errors): Document
17         'byte-compile-error-on-warn'.
19 2018-01-13  Eli Zaretskii  <eliz@gnu.org>
21         Improve the Emacs manual's "Misc" node
23         * doc/emacs/misc.texi (Gnus): A more descriptive section name.
24         (Invoking emacsclient): Mention how to avoid errors when there's
25         no Emacs server.
26         (EWW, Embedded WebKit Widgets): Now subsections under
27         "Hyperlinking and Web Navigation Features".
28         (Amusements): Add "games" to the section name.  Suggested by Alex
29         Branham <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
31         * doc/emacs/emacs.texi (Top): Adjust the top-level menus to the
32         above changes.
34         * doc/lispref/os.texi (Security Considerations): Fix typos.
36 2018-01-13  Martin Rudalics  <rudalics@gmx.at>
38         In nsterm.m use FRAME_NS_P instead of FRAME_X_P (Bug#30019)
40         * src/nsterm.m (x_set_parent_frame): Call FRAME_NS_P instead
41         of FRAME_X_P (Bug#30019).
43 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
45         Bump Emacs version to 26.0.91
47         * README:
48         * configure.ac:
49         * msdos/sed2v2.inp:
50         * nt/README.W32: Bump Emacs version.
52 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
54         * ChangeLog.3: Update
56 2018-01-12  Nicolas Petton  <nicolas@petton.fr>
58         Update authors
60         * admin/authors.el (authors-aliases, authors-valid-file-names): Additions.
61         * etc/AUTHORS: Update AUTHORS file.
63 2018-01-12  Katsumi Yamaoka  <yamaoka@jpl.org>
65         * lisp/gnus/message.el (message-do-auto-fill): Prevent do-auto-fill from
66         adding extra citation mark (bug#29767, but it is a different bug).
68 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
70         Improve documentation of etags
72         * doc/emacs/maintaining.texi (Tag Syntax, Create Tags Table):
73         Improve documentation of etags options and of source language
74         detection.
76 2018-01-11  Eli Zaretskii  <eliz@gnu.org>
78         Teach etags new interpreters for some languages
80         * lib-src/etags.c (Erlang_interpreters, Lua_interpreters)
81         (Prolog_interpreters, Python_interpreters, Ruby_interpreters): New
82         static variables.
83         (lang_names): Use them to set interpreters for Erlang, Lua,
84         Prolog, Python, and Ruby.
85         (find_entries): Support "/usr/bin/env FOO" form of specifying an
86         interpreter.
88         * test/manual/etags/perl-src/htlmify-cystic: Modify the has-bang
89         line to test the "env FOO" interpreter spec.  (Bug#30075)
90         * test/manual/etags/ETAGS.good_1:
91         * test/manual/etags/ETAGS.good_2:
92         * test/manual/etags/ETAGS.good_3:
93         * test/manual/etags/ETAGS.good_4:
94         * test/manual/etags/ETAGS.good_5:
95         * test/manual/etags/ETAGS.good_6: Adapt to latest changes in test
96         files.
98 2018-01-11  Stefan Monnier  <monnier@iro.umontreal.ca>
100         * lisp/emacs-lisp/generator.el (iter-defun): Add 'doc-string' prop.
102         * lisp/emacs-lisp/syntax.el (syntax-propertize): Fix bug#29767
104 2018-01-10  Charles A. Roelli  <charles@aurox.ch>
106         Improve documentation of fill-separate-heterogeneous-words-with-space
108         * lisp/textmodes/fill.el
109         (fill-separate-heterogeneous-words-with-space): Fix grammar.
111 2018-01-10  Eli Zaretskii  <eliz@gnu.org>
113         Fix documentation of some x-* functions
115         * lisp/term/pc-win.el (x-display-pixel-width)
116         (x-display-pixel-height, x-display-planes)
117         (x-display-color-cells, x-server-max-request-size)
118         (x-server-vendor, x-server-version, x-display-screens)
119         (x-display-mm-height, x-display-mm-width)
120         (x-display-backing-store, x-display-visual-class): Provide doc
121         strings, so that 'makedoc' produces non-empty documentation in
122         etc/DOC for these functions.  (Bug#30068)
124 2018-01-10  Philipp Stephani  <phst@google.com>
126         Inherit query-on-exit flag to stderr process (Bug#30031)
128         * src/process.c (Fmake_process): Have the pipe process honor the
129         parent's query-on-exit flag.
131         * test/src/process-tests.el (make-process/noquery-stderr): New test.
133 2018-01-10  Michael Albinus  <michael.albinus@gmx.de>
135         Fix Bug#30057
137         * test/lisp/filenotify-tests.el (file-notify--test-tmpdir): New defvar.
138         (file-notify--test-cleanup, file-notify--test-make-temp-name)
139         (file-notify-test01-add-watch, file-notify-test03-events)
140         (file-notify-test05-file-validity)
141         (file-notify-test09-watched-file-in-watched-dir)
142         (file-notify-test10-sufficient-resources): Use it.  (Bug#30057)
144 2018-01-10  Glenn Morris  <rgm@gnu.org>
146         Tag some unstable tests, and skip by default (bug#24503)
148         * Makefile.in (check-all): New phony target.
149         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE):
150         Also skip unstable tests.
151         (SELECTOR_ALL): New variable.
152         (check-all): New phony target.
153         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
154         (eieio-test-method-order-list-6):
155         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
156         (eieio-test-37-obsolete-name-in-constructor):
157         Mark as unstable rather than skipping on hydra.nixos.org.
159 2018-01-10  Paul Eggert  <eggert@cs.ucla.edu>
161         Merge from Gnulib
163         This incorporates:
164         2018-01-05 maint: Add encoding marker for Emacs to non-ASCII sources
165         2018-01-04 update-copyright: Handle use of ©
166         2018-01-04 pthread_sigmask: Avoid compilation error on mingw
167         2018-01-02 stat-time: silence -Wunused-parameter regression
168         * build-aux/config.guess, build-aux/config.sub:
169         * build-aux/update-copyright, doc/misc/texinfo.tex, lib/gnulib.mk.in:
170         * lib/md5.c, lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c:
171         * lib/sha256.h, lib/sha512.c, lib/sha512.h, lib/signal.in.h:
172         * lib/stat-time.h: Copy from Gnulib, or regenerate.
174 2018-01-09  Glenn Morris  <rgm@gnu.org>
176         * lisp/epg.el (epg-start-sign): Replace obsolete functions.
178 2018-01-09  Glenn Morris  <rgm@gnu.org>
180         Small fix for erc-logging-enabled
182         * lisp/erc/erc-log.el (erc-logging-enabled):
183         Respect buffer-locality of erc-enable-logging variable.
185 2018-01-09  Glenn Morris  <rgm@gnu.org>
187         Quieten semantic normal usage
189         * lisp/cedet/semantic/lex.el (semantic-flex): Mark obsolete at
190         compile time in the normal way, not at run-time.  (Bug#30035)
192 2018-01-08  Eli Zaretskii  <eliz@gnu.org>
194         Avoid irrelevant hyperlink in doc string of 'epa-pinentry-mode'
196         * lisp/epa.el (epa-pinentry-mode): Doc fix.  (Bug#30025)
198 2018-01-08  Michael Albinus  <michael.albinus@gmx.de>
200         * doc/misc/tramp.texi (Remote processes): Mention gdb restrictions with I/O.
202 2018-01-08  Noam Postavsky  <npostavs@gmail.com>
204         Query background for gnome terminal version 3.22 (Bug#29716)
206         * lisp/term/xterm.el (xterm--version-handler): Use
207         xterm--report-background-handler for terminals reporting minor version
208         4000 and above.
210 2018-01-07  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
212         Make pixel-wise scrolling less laggy
214         * lisp/pixel-scroll.el (pixel-dead-time, pixel-last-scroll-time):
215         New variables.
216         (pixel-scroll-up, pixel-scroll-down): Invoke 'scroll-up' or
217         'scroll-down' when called within 'pixel-dead-time'.  (Bug#29737)
219 2018-01-07  Alan Third  <alan@idiocy.org>
221         Fix child frame placement issues (bug#29953)
223         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS):
224         (NS_PARENT_WINDOW_TOP_POS): Get the parent frame through the frame
225         struct as invisible child windows are detached from their parents in
226         NS.
227         * src/nsterm.m (x_set_offset): Offscreen frames have `nil' screen
228         value, so handle that gracefully.  Child frames with negative left and
229         top should be positioned relative to the bottom right of the parent
230         frame.
232 2018-01-06  Alan Mackenzie  <acm@muc.de>
234         Describe the precise interaction of complex primitives with the change hooks
236         * doc/lispref/text.texi (Change Hooks): Document that most buffer changing
237         primitives call before- and after-change-functions in balanced pairs, but that
238         some complex primitives call b-c-f once, and a-c-f zero, one, or several
239         times.
241 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
243         Fix valgrind report in call-interactively
245         * src/callint.c (Fcall_interactively): Don't try to access more
246         bytes than are available in the interactive spec.  (Bug#30004)
248 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
250         * src/editfns.c (Fsave_excursion): Doc fix.  (Bug#30001)
252 2018-01-06  Alan Mackenzie  <acm@muc.de>
254         Fix mark-defun when there's no spaces between successive defuns.
256         The problem was a parse-partial-sexp call which tried to use the STOPBEFORE
257         argument to detect non-syntactic WS.  This fails on a "}", which does not
258         begin a sexp.
260         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p): Enhance to
261         handle BOL being in a string.
262         (beginning-of-defun-comments): Call the above function in place of the call
263         to parse-partial-sexp.
265 2018-01-06  Eli Zaretskii  <eliz@gnu.org>
267         Fix Dired display and operations on file names with raw bytes
269         * src/coding.c (decode_coding): When flushing remaining raw bytes
270         from multibyte text, copy 2-byte forms of eight-bit-*
271         characters as single characters, not as 2 raw bytes.  (Bug#29189)
273 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
275         Improve documentation of 'gdb-many-windows'
277         * doc/emacs/building.texi (GDB User Interface Layout): Add advice
278         for using a separate frame for 'gdb-many-windows'.
280 2018-01-05  Eli Zaretskii  <eliz@gnu.org>
282         Fix failures in smerge-mode on MS-Windows
284         * lisp/vc/smerge-mode.el (smerge--refine-chopup-region): Use
285         utf-8-emacs-unix, not emacs-internal, to make the forced EOL
286         convention explicit.
287         (smerge-refine-regions): Use utf-8-emacs instead of
288         emacs-internal, to allow decoding of non-Unix EOL conventions.
289         (Bug#29916)
291 2018-01-04  Stephen Leake  <stephen_leake@stephe-leake.org>
293         Fix description of 'struct' generic function specializer
294         Backport:
296         * doc/lispref/functions.texi (Generic Functions): Fix description of
297         'struct' specializer; it must be the named struct or a child, not a
298         parent.
300         (cherry picked from commit b6add8c7cfc6d36f9dd8ad99be06bd8ab41cc6f8)
302 2018-01-04  Charles A. Roelli  <charles@aurox.ch>
304         * etc/DEBUG (Getting control to the debugger): Fix grammar.
306 2018-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
308         * lisp/vc/vc.el (vc-region-history): log-view-vc-fileset holds a list!
310 2018-01-03  Noam Postavsky  <npostavs@gmail.com>
312         Don't bind dframe events on load (Bug#29599)
314         * lisp/dframe.el (dframe-setup-hook): New hook.
315         (dframe-set-special-events): New function, containing previous
316         top-level key binding code.
317         (top-level): Add it to dframe-setup-hook.
318         (dframe-frame-mode): Run the hook.
320 2018-01-02  Eli Zaretskii  <eliz@gnu.org>
322         * lisp/textmodes/picture.el (picture-mode-exit): Doc fix.  (Bug#29949)
324         * lisp/textmodes/picture.el (picture-open-line): Doc fix.  (Bug#29948)
326 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
328         Fix description of 'emacs-internal'
330         * doc/lispref/nonascii.texi (Coding System Basics): Correct
331         inaccuracy in description of 'emacs-internal'.  (Bug#29916)
333 2018-01-01  Eli Zaretskii  <eliz@gnu.org>
335         Update PROBLEMS with selection-related issues
337         * etc/PROBLEMS: Update the entry about large selections and
338         klipper.  (Bug#29661)
340 2018-01-01  Ross Donaldson  <gastove@gmail.com>  (tiny change)
342         New customization variable for python-mode indentation (Bug#28475)
344         * lisp/progmodes/python.el (python-indent-def-block-scale): New variable.
345         (python-indent--calculate-indentation): Let it control how many indent
346         levels are inserted for multi-line function signatures.
348 2018-01-01  Alan Third  <alan@idiocy.org>
350         Fix menu keyboard shortcuts on macOS (Bug#29595)
352         * src/nsmenu.m (addItemWithWidgetValue)[NS_IMPL_COCOA]: It looks like
353         macOS 10.13 no longer ignores long modifier strings, so explicitly use
354         an empty string.
356 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
358         Fix copyright years by hand
360         These are dates that admin/update-copyright did not update, or
361         updated incorrectly.
363 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
365         Update copyright year to 2018
367         Run admin/update-copyright.
369 2018-01-01  Paul Eggert  <eggert@cs.ucla.edu>
371         Merge from Gnulib
373         This incorporates:
374         2018-01-01 maint: Run 'make update-copyright'
375         2017-12-29 Add cross-compilation results for GNU/Hurd.
376         2017-12-12 explicit_bzero: port to macOS + Clang 9.0.0
378 2017-12-31  Gemini Lasswell  <gazally@runbox.com>
380         Don't add empty keyboard macro to macro ring (Bug#24992)
382         * lisp/kmacro.el (kmacro-end-call-mouse): Don't save a newly defined
383         macro if it is empty.
385         * test/lisp/kmacro-tests.el (kmacro-tests-end-and-call-macro-mouse):
386         Remove expected failure tag.
388 2017-12-31  Eli Zaretskii  <eliz@gnu.org>
390         Allow customization of decoding of "man" command
392         * lisp/man.el (Man-coding-system): New defcustom.
393         (Man-start-calling): Use it, and also pay attention to user
394         overriding coding-system-for-read.  (Bug#29872)
396 2017-12-31  Daiki Ueno  <ueno@gnu.org>
398         * etc/NEWS: Add security consideration note on passphrase input
400 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
402         Fix subtle problem with scroll-down when scroll-margin is nonzero
404         * src/window.c (window_scroll_pixel_based): Account for
405         scroll-margin when scrolling down, i.e. moving window-start
406         towards the beginning of the buffer.  Reported by zhang cc
407         <ccsmile2008@outlook.com> in
408         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00894.html.
410 2017-12-29  Eli Zaretskii  <eliz@gnu.org>
412         Fix problems with indexing in User manual
414         * doc/emacs/basic.texi (Continuation Lines, Inserting Text)
415         (Moving Point):
416         * doc/emacs/help.texi (Help Echo, Package Keywords, Help Mode):
417         * doc/emacs/trouble.texi (Quitting):
418         * doc/emacs/mark.texi (Setting Mark, Disabled Transient Mark):
419         * doc/emacs/custom.texi (Modifier Keys, Init Examples)
420         (Creating Custom Themes):
421         * doc/emacs/programs.texi (Program Modes, Expressions, Hideshow)
422         (Basic Indent, Info Lookup, Symbol Completion):
423         * doc/emacs/screen.texi (Echo Area):
424         * doc/emacs/xresources.texi (Table of Resources, GTK Names in Emacs):
425         * doc/emacs/display.texi (Line Truncation, Cursor Display):
426         * doc/emacs/files.texi (File Names, Backup, File Archives):
427         * doc/emacs/dired.texi (Operating on Files, Dired Enter):
428         * doc/emacs/commands.texi (User Input):
429         * doc/emacs/mule.texi (International, Unibyte Mode)
430         (International Chars):
431         * doc/emacs/vc1-xtra.texi (RCS and SCCS, Version Headers)
432         (CVS Options):
433         * doc/emacs/modes.texi (Major Modes, Minor Modes):
434         * doc/emacs/indent.texi (Just Spaces):
435         * doc/emacs/frames.texi (Mouse Avoidance, Mode Line Mouse)
436         (Frame Commands):
437         * doc/emacs/cmdargs.texi (Initial Options):
438         * doc/emacs/abbrevs.texi (Dabbrev Customization):
439         * doc/emacs/mini.texi (Completion Example, Completion Commands):
440         * doc/emacs/calendar.texi (Writing Calendar Files, Calendar Unit Motion)
441         (From Other Calendar):
442         * doc/emacs/regs.texi (Text Registers, Bookmarks):
443         * doc/emacs/buffers.texi (Several Buffers, Select Buffer):
444         * doc/emacs/maintaining.texi (Xref Commands):
445         * doc/emacs/windows.texi (Pop Up Window):
446         * doc/emacs/text.texi (Text, Org Mode):
447         * doc/emacs/killing.texi (Other Kill Commands):
448         * doc/emacs/misc.texi (Document View, Gnus Group Buffer)
449         (Gnus Summary Buffer, Shell Mode):
450         * doc/emacs/cal-xtra.texi (Sexp Diary Entries): Remove or reword
451         redundant identical index entries.
452         * doc/emacs/custom.texi (Mouse Buttons)
453         * doc/emacs/files.texi (Reverting): Fix hyphenation.
454         * doc/emacs/emacs.texi (Top): Improve wording of Index menu items.
455         * doc/emacs/files.texi (File Conveniences):
456         * doc/emacs/programs.texi (MixedCase Words): Make entries that
457         belong to Concept Index be indexed with @cindex.  (Bug#29888)
459 2017-12-29  Alan Mackenzie  <acm@muc.de>
461         * lisp/help.el (describe-key): Only (copy-sequence elt) when elt is a list.
463 2017-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
465         * src/buffer.c (Frestore_buffer_modified_p): Fix bug#29846
467         Don't mess with the lock file when inhibit_modification_hooks is set,
468         just like we do in prepare_to_modify_buffer_1.
470 2017-12-28  Eli Zaretskii  <eliz@gnu.org>
472         Improve documentation of 'inhibit-modification-hooks' and friends
474         * src/buffer.c (Fset_buffer_modified_p)
475         (Frestore_buffer_modified_p): Doc fixes.
476         * src/insdel.c (syms_of_insdel) <inhibit-modification-hooks>:
477         Document in the doc string that this variable also inhibits file
478         locks and active region handling.  (Bug#29846)
480 2017-12-28  David Pathakjee  <dpathakjee@gmail.com>  (tiny change)
482         Fix doc string of 'enable-recursive-minibuffers'
484         * src/minibuf.c (syms_of_minibuf) <enable-recursive-minibuffers>:
485         Doc fix.  (Bug#29873)
487 2017-12-27  Eli Zaretskii  <eliz@gnu.org>
489         Fix documentation of delsel and of killing text
491         * doc/emacs/killing.texi (Appending Kills): Make sure the text
492         with 2 spaces is not broken between 2 lines.
493         * doc/emacs/mark.texi (Using Region): Remove the sentence about
494         delsel mode that describes behavior which exists even without
495         delsel mode turned on.  Suggested by Petteri Hintsanen
496         <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
498         * lisp/delsel.el (delete-selection-mode): Doc fix.
500 2017-12-27  Glenn Morris  <rgm@gnu.org>
502         * doc/lispref/strings.texi (Case Conversion):
503         Use a TeX font that support ligatures.
505 2017-12-27  Charles A. Roelli  <charles@aurox.ch>
507         * doc/misc/speedbar.texi (Top): Fix grammar.
509         * lisp/subr.el (with-silent-modifications): Doc fixes.
511 2017-12-26  Eli Zaretskii  <eliz@gnu.org>
513         Fix curved quotes in printed manual
515         * doc/emacs/text.texi (Quotation Marks): Fix curved quote
516         characters in the printed version of the manual.
518 2017-12-25  Paul Eggert  <eggert@cs.ucla.edu>
520         Say that "gnus-cloud" is a parody name
522 2017-12-25  Eli Zaretskii  <eliz@gnu.org>
524         More improvements for text.texi
526         * doc/emacs/text.texi (Outline Motion): Avoid unneeded
527         repetition.  Suggested by Petteri Hintsanen <petterih@iki.fi> in
528         emacs-manual-bugs@gnu.org.
530 2017-12-24  Eli Zaretskii  <eliz@gnu.org>
532         Adjudicate review comments for the "Text" chapter of user manual
534         * doc/emacs/text.texi (Text): Rearrange text for clarity.  Add
535         cross-reference to the Org manual.  Make the cross-reference to
536         Outline Mode appear in online manuals as well (the conditional was
537         a forgotten remnant from time immemoriam).
538         (Paragraphs): Add a note that 'paragraph-start' and
539         'paragraph-separate' should not be anchored.
540         (Auto Fill): Remove redundant text.  Suggested by Petteri
541         Hintsanen <petterih@iki.fi> in emacs-manual-bugs@gnu.org.
543 2017-12-24  Andreas Schwab  <schwab@linux-m68k.org>
545         * lisp/url/url-http.el
546         (url-http-wait-for-headers-change-function): Change message to
547         url-http-debug.
549 2017-12-24  Alan Mackenzie  <acm@muc.de>
551         In C-h k <mouse-n>, alert user to existence of any matching down-mouse-event
553         , and instruct her to hold the mouse button to display its documentation.
555         * lisp/help.el (help-downify-mouse-event-type): New function.
556         (help-read-key-sequence, describe-key): handle double-click-time being nil or
557         t.
558         (describe-key): Print out instructions for displaying documentation of
559         matching mouse down key sequence command when such exists.
561 2017-12-23  Andreas Schwab  <schwab@linux-m68k.org>
563         * net/eww.el (eww): Handle URLs without host part.
565 2017-12-23  Alan Mackenzie  <acm@muc.de>
567         Make C-h c/k S-mouse-1 display message for mouse-appearance-menu, etc.
569         Currently, C-h c/k for S-mouse-1 reports that S-mouse-1 is unbound, ignoring
570         that S-down-mouse-1 is bound.  We fix this by reporting on the "latest" mouse
571         event of a sequence which is bound.
573         * lisp/help.el (help-read-key-sequence): Save all encountered mouse events in
574         a list.  Return the latest one which has a binding.
576 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
578         Avoid crashes when ':eval' deletes our frame
580         * src/xdisp.c (display_mode_element): Signal an error if
581         ':eval' somehow deletes the frame whose window we are
582         redisplaying. (Bug#29726)
584 2017-12-23  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
586         Fix scrolling up in pixel-scroll.el
588         * lisp/pixel-scroll.el (pixel-scroll-up): Do not try to move cursor
589         down when EOB is shown at the top.  This function is reverted to
590         commit 1bda71ec3b11eeb4d06c3da094a3cb21bac18d5c. (bug#29737)
592 2017-12-23  Eli Zaretskii  <eliz@gnu.org>
594         Fix problems with ligatures in PDF version of ELisp manual
596         * doc/lispref/strings.texi (Case Conversion): Avoid problems with
597         ligatures in printed versions of the manual.  (Bug#29818)
599 2017-12-22  Stefan Monnier  <monnier@iro.umontreal.ca>
601         (elisp-flymake-byte-compile): Handle killed buffer in sentinel
603         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
604         Don't burp if the source-buffer has been killed.
606 2017-12-22  Glenn Morris  <rgm@gnu.org>
608         Avoid some overfull lines in PDF lispref
610         * doc/lispref/commands.texi (Reading One Event):
611         * doc/lispref/display.texi (SVG Images):
612         * doc/lispref/frames.texi (Size Parameters):
613         * doc/lispref/syntax.texi (Categories):
614         * doc/lispref/windows.texi (Frame Layouts with Side Windows):
615         Avoid overfull lines.
617 2017-12-22  Glenn Morris  <rgm@gnu.org>
619         Avoid some overfull lines in PDF manual
621         * doc/emacs/display.texi (Display Custom):
622         * doc/emacs/search.texi (Other Repeating Search):
623         * doc/emacs/text.texi (Quotation Marks): Avoid overfull lines.
625 2017-12-22  Glenn Morris  <rgm@gnu.org>
627         * doc/emacs/arevert-xtra.texi (Auto Reverting the Buffer Menu):
628         Fix ref.
630 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
632         * lisp/emacs-lisp/inline.el (define-inline): Add a doc string.
634 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
636         Fix doc string of 'footnote-style-alist'
638         * lisp/mail/footnote.el (footnote-style-alist): Remove a reference
639         to non-existing files from doc string.  (Bug#29759)
641 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
643         Improve documentation of selecting windows
645         * doc/lispref/windows.texi (Basic Windows, Selecting Windows):
646         Clarify what selecting a window means for keyboard input, and that
647         input focus may need to be considered when selecting windows on
648         other frames.  See
649         http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00372.html
650         for more details.
652 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
654         Improve documentation of records
656         * doc/lispref/Makefile.in (srcs): Add the forgotten records.texi.
657         * doc/lispref/records.texi (Records): Recommend that record type
658         names use package-naming conventions.
660         * etc/NEWS: Add the naming convention recommendation for record
661         types.
663 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
665         * etc/NEWS: Mention the removal of pinentry.el.  (Bug#27445)
667 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
669         Fix interactive spec of 'semantic-ia-show-variants'
671         * lisp/cedet/semantic/ia.el (semantic-ia-show-variants): Fix the
672         interactive spec to match the function's expectations.  (Bug#29770)
674 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
676         Fix documentation of 'mouse-drag-and-drop-region' and friends
678         * doc/emacs/frames.texi (Drag and Drop): Index
679         'mouse-drag-and-drop-region-cut-when-buffers-differ',
680         'mouse-drag-and-drop-region-show-tooltip', and
681         'mouse-drag-and-drop-region-show-cursor'.
683         * etc/NEWS: Fix the format of the related entries.
685 2017-12-22  Eli Zaretskii  <eliz@gnu.org>
687         Improve detection of speller version in ispell.el
689         * lisp/textmodes/ispell.el (ispell-check-version): Accept more
690         general forms of version numbers for Aspell, Hunspell, and
691         Enchant, to include various beta and prereleases.  (Bug#29801)
693 2017-12-22  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
695         Document 'mouse-drag-and-drop-region' options and mention them in NEWS
697         * doc/emacs/frames.texi (Drag and Drop):
698         * etc/NEWS (times): Document options for
699         'mouse-drag-and-drop-region' and mention them in NEWS.
701 2017-12-22  Martin Rudalics  <rudalics@gmx.at>
703         Fix uses of 'nil' and 'non-nil' in manuals and a few more minor issues
705         * doc/emacs/building.texi (Grep Searching): Fix doc of
706         'grep-save-buffers'.
707         (Drag and Drop): Reorder paragraphs.  Fix doc of
708         'mouse-drag-and-drop-region'.
709         * doc/emacs/frames.texi (Word and Line Mouse):
710         * doc/emacs/search.texi (Other Repeating Search):
711         * doc/lispref/compile.texi (Compilation Functions):
712         * doc/lispref/files.texi (Directory Names):
713         * doc/lispref/functions.texi (Advising Named Functions):
714         * doc/lispref/keymaps.texi (Controlling Active Maps):
715         * doc/lispref/lists.texi (Association Lists):
716         * doc/lispref/windows.texi (Quitting Windows): Fix uses of
717         'non-nil' and 'nil'.
719 2017-12-21  Philipp Stephani  <phst@google.com>
721         Document that mode commands should be idempotent.
723         * doc/lispref/modes.texi (Major Mode Conventions, Minor Mode
724         Conventions): Document that the mode commands should be idempotent.
726 2017-12-21  Alan Mackenzie  <acm@muc.de>
728         Fontify a CPP construct correctly when a comment follows without spaces
730         Do this by removing a broken optimization in the state cache which put
731         category text properties on a character between the end of the CPP construct
732         and the beginning of the comment.  This can't work when there's no such
733         character.
735         * lisp/progmodes/cc-defs.el (c-cpp-delimiter, c-set-cpp-delimiters)
736         (c-clear-cpp-delimiters, c-comment-out-cpps, c-with-cpps-commented-out)
737         (c-with-all-but-one-cpps-commented-out): Remove.
739         * lisp/progmodes/cc-engine.el (c-no-comment-end-of-macro): Return the comment
740         start position rather than one character before it.
741         (c-invalidate-state-cache, c-parse-state): Remove the invocations of
742         c-with-all-but-one-cpps-commented-out and c-with-cpps-commented-out.
744         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Rename to
745         c-neutralize-syntax-in-CPP and remove the bits which applied category
746         properties.
748         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Incorporate the
749         new name of the function c-neutralize-syntax-in-CPP.
751 2017-12-21  Eli Zaretskii  <eliz@gnu.org>
753         Prevent infloop in redisplay on TTY frames
755         * src/xdisp.c (extend_face_to_end_of_line): Avoid infloop when
756         filling up display margins with the default face's background.
757         (Bug#29789)
759 2017-12-21  Alan Mackenzie  <acm@muc.de>
761         Fix loss of documentation face in certain CC Mode doc comment situations
763         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Take into account
764         the possibility of font-lock-comment-delimiter-face.  Test rigorously for
765         "/**" (etc.) being itself inside a literal, rather than just depending on the
766         face of the previous character.
768 2017-12-21  Daiki Ueno  <ueno@gnu.org>
770         Remove pinentry.el
772         * lisp/epg.el (epg--start): Remove the use of pinentry.el.
773         * lisp/net/pinentry.el: Remove (bug#27445).
775 2017-12-21  Ted Zlatanov  <tzz@lifelogs.com>
777         Special-case %DUMBFW for GnuTLS between 3.2.5 and 3.5.1
779         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT__DUMBFW for GnuTLS >= 3.2.5.
780         (Fgnutls_available_p): Use it.
782 2017-12-21  Andy Moreton  <andrewjmoreton@gmail.com>
784         Work around GnuTLS version issues with %DUMBFW (tiny change)
786         * src/gnutls.c: Introduce HAVE_GNUTLS_EXT_GET_NAME and use it.
787         (init_gnutls_functions): Use it.
788         (Fgnutls_available_p): Use it (Bug#25061). Fix Vlibrary_cache bug.
790 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
792         Merge branch 'widen-less' into emacs-26
794 2017-12-20  Glenn Morris  <rgm@gnu.org>
796         * lisp/erc/erc.el (erc-shorten-server-name): Silence compiler warning.
798 2017-12-20  Glenn Morris  <rgm@gnu.org>
800         Fix some more aliases to user options
802         * lisp/cus-edit.el (custom-mode-hook):
803         * lisp/erc/erc.el (erc-default-coding-system):
804         * lisp/progmodes/python.el (python-indent, python-guess-indent)
805         (python-shell-virtualenv-path)
806         (python-shell-completion-module-string-code)
807         (python-shell-completion-pdb-string-code, python-use-skeletons):
808         Define aliases to user options before the options are defined.
810 2017-12-20  Glenn Morris  <rgm@gnu.org>
812         Fix some flymake aliases
814         * lisp/progmodes/flymake-proc.el (flymake-xml-program)
815         (flymake-compilation-prevents-syntax-check, flymake-master-file-dirs)
816         (flymake-master-file-count-limit, flymake-allowed-file-name-masks):
817         * lisp/progmodes/flymake.el (flymake-start-syntax-check-on-find-file):
818         Define aliases to user options before the options are defined.
820 2017-12-20  Glenn Morris  <rgm@gnu.org>
822         Unbreak a fileio test on non-Mac OS X systems
824         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
825         Don't use an undefined coding system.
827 2017-12-20  Robert Pluim  <rpluim@gmail.com>
829         Fix updating scrollbar sizes when scaling is in effect
831         * src/gtkutil.c (xg_update_scrollbar_pos): Update width of
832         scrollbar when scaling is in effect.
833         (xg_update_horizontal_scrollbar_pos): Update scrollbar size
834         when scaling is in effect.
836 2017-12-20  Dmitry Gutov  <dgutov@yandex.ru>
838         Widen in indent-for-tab-command in the normal case, too
840         Fixing this obvious omission.
841         * lisp/indent.el (indent--funcall-widened): New function.
842         (indent-for-tab-command): Use it.
844 2017-12-19  Ted Zlatanov  <tzz@lifelogs.com>
846         Collect GnuTLS extensions and use them to set %DUMBFW if supported
848         * lisp/net/gnutls.el (gnutls-boot-parameters): Use it to set %DUMBFW
849         only when it's supported as "ClientHello Padding" (Bug#25061).
851         * src/gnutls.c (Fgnutls_available_p): Get extension names and
852         put them in the GnuTLS capabilities, using a hard-coded limit
853         of 100 since GnuTLS MAX_EXT_TYPES is not exported.
855 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
857         * test/lisp/emacs-lisp/derived-tests.el: Fix copy&paste leftovers
859 2017-12-18  Stefan Monnier  <monnier@iro.umontreal.ca>
861         * lisp/subr.el (delayed-after-hook-functions): Rename from ...-forms
863         (run-mode-hooks): `funcall` the functions instead of `eval`ing the forms.
864         * lisp/emacs-lisp/derived.el (define-derived-mode): Push functions
865         rather than forms (bug#29679).
867 2017-12-18  Katsumi Yamaoka  <yamaoka@jpl.org>
869         * lisp/net/shr.el (shr-string-pixel-width): Return pixel-width,
870         not position (bug#29734).
872 2017-12-18  Dmitry Gutov  <dgutov@yandex.ru>
874         Replace the mention of c-indent-defun with js-indent-line
876         * doc/lispref/text.texi (Mode-Specific Indent):
877         Avoid mentioning c-indent-defun in the context of multi-mode
878         indentation.
880 2017-12-17  Charles A. Roelli  <charles@aurox.ch>
882         python.el doc fixes
884         * lisp/progmodes/python.el (python-shell-accept-process-output):
885         (python-shell-comint-end-of-output-p):
886         (python-shell-first-prompt-hook):
887         (python-info-beginning-of-backslash): Doc fixes.
889 2017-12-17  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
891         Make 'mouse-drag-and-drop-region' more robust and customizable
893         * lisp/mouse.el
894         (mouse-drag-and-drop-region-cut-when-buffers-differ): New option
895         to permit 'mouse-drag-and-drop-region' to cut text also when source
896         and destination buffers differ.
897         (mouse-drag-and-drop-region-show-tooltip): New option to toggle
898         display of tooltip during mouse dragging on graphic displays.
899         (mouse-drag-and-drop-region-show-cursor): New option to toggle
900         moving point with mouse cursor during mouse dragging of region.
901         (mouse-drag-and-drop-region): New face to highlight original
902         text while dragging.
903         (mouse-drag-and-drop-region): Make use of new options and face.
904         Ignore errors during tracking.
906 2017-12-17  Oscar Fuentes  <ofv@wanadoo.es>
908         Backport: Don't compare arguments that can be nil (Bug#28039)
910         copy-region-as-kill can be called passing nil as `beg' and
911         `end'. Magit does that, which caused an error when this advice was in
912         effect.
914         * lisp/ses.el (ses--advice-copy-region-as-kill): avoid comparison
915           unless `beg' and `end' are non-nil.
917 2017-12-17  Noam Postavsky  <npostavs@gmail.com>
919         Don't mess up syntax-ppss cache in electric-pair (Bug#29710)
921         In Emacs 25 and above, calling `scan-sexps', `parse-partial-sexp', or
922         similar may update the syntax-ppss cache if
923         `parse-sexp-lookup-properties' is non-nil.  Therefore, when calling
924         any of these functions with a different than normal syntax-table, the
925         cache must be cleaned afterwards.
926         * lisp/elec-pair.el (electric-pair--with-uncached-syntax): New macro.
927         (electric-pair--syntax-ppss, electric-pair--balance-info): Use it.
929 2017-12-17  Glenn Morris  <rgm@gnu.org>
931         * etc/emacs.appdata.xml: Update file format.
933 2017-12-16  Alan Third  <alan@idiocy.org>
935         Use utf-8-hfs-unix on macOS (Bug#29712)
937         This is a quick fix for the Emacs 26 release. Do not merge to master.
939         * test/src/fileio-tests.el (fileio-tests--symlink-failure): Override
940         file-name-coding-system to utf-8-hfs-unix to prevent test failure.
942 2017-12-16  Alan Mackenzie  <acm@muc.de>
944         * lisp/progmodes/cc-defs.el (c-version): Update to 5.33.1.
946 2017-12-16  Michael Albinus  <michael.albinus@gmx.de>
948         Improve fix for Bug#29712
950         * test/lisp/net/tramp-tests.el
951         (tramp-test32-environment-variables-and-port-numbers):
952         Adapt check for systems which do not support "echo -n".  (Bug#29712)
954 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
956         * doc/lispref/sequences.texi (Sequence Functions): Improve indexing.
958 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
960         Avoid reordering of output in 'shr-insert-document'
962         * lisp/net/shr.el (shr-string-pixel-width): Preserve point across
963         shr-pixel-column invocations.  (Bug#29734)
965 2017-12-16  Eli Zaretskii  <eliz@gnu.org>
967         Improve documentation of 'invisible-p'
969         * doc/lispref/display.texi (Invisible Text): Document the return
970         value of 'invisible-p'.
972         * src/xdisp.c (Finvisible_p): Rename the argument POS.  Doc fix.
973         (Bug#29721)
975 2017-12-16  Martin Rudalics  <rudalics@gmx.at>
977         Remove one more check that Vframe_list is non-nil
979         * src/dispnew.c (check_glyph_memory): Remove no-longer-needed
980         check that Vframe_list is non-nil, as FOR_EACH_FRAME no longer
981         assumes that.
983 2017-12-16  Simen Heggestøyl  <simenheg@gmail.com>
985         Fix off-by-one error in 'css--hex-color'
987         * lisp/textmodes/css-mode.el (css--hex-color): Fix off-by-one error.
989         * test/lisp/textmodes/css-mode-tests.el (css-test-hex-color): New test
990         for 'css--hex-color'.
992 2017-12-16  Aaron Jensen  <aaronjensen@gmail.com>
994         Save and restore text-pixel height and width of frames (Bug#28442)
996         * lisp/frameset.el (frameset--record-relationships): Record
997         text-pixel-height and text-pixel-width of frame.
998         (frameset--restore-frame): Restore text-pixel-height and
999         text-pixel-width of frame if available.  (Bug#28442)
1001 2017-12-16  Noam Postavsky  <npostavs@gmail.com>
1003         Partially revert "Mention new strictness for &optional, &rest..."
1005         The changes to cl argument parsing are not backwards compatible, and
1006         cause inconvenience when writing macros (e.g., instead of doing '&aux
1007         ,@auxargs', some more complicated conditionals would be required).
1008         The `cl-defstruct' macro makes use of this convenience when defining
1009         empty structs (Bug#29728).
1010         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda):
1011         (cl--do-&aux, cl--do-arglist): Undo strict checking of &rest, &key,
1012         and &aux.
1013         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): Remove
1014         test.
1016 2017-12-15  Glenn Morris  <rgm@gnu.org>
1018         * lisp/vc/smerge-mode.el (smerge-refine): Respect font-lock-mode.
1020         * lisp/vc/smerge-mode.el (smerge-refine): Replace obsolete alias.
1022 2017-12-15  Paul Eggert  <eggert@cs.ucla.edu>
1024         FOR_EACH_FRAME no longer assumes frame-list
1026         This cleans up a recent fix related to Bug#29661.
1027         Suggested by Stefan Monnier in:
1028         https://lists.gnu.org/r/emacs-devel/2017-12/msg00544.html
1029         * src/frame.c (next_frame, prev_frame, delete_frame):
1030         Restore debugging checks that Vframe_list is non-nil,
1031         as FOR_EACH_FRAME no longer has these checks.
1032         (delete_frame): Remove no-longer-needed checks that Vframe_list is
1033         non-nil, as FOR_EACH_FRAME no longer assumes that.
1034         * src/frame.h (FOR_EACH_FRAME): Do not assume Vframe_list is non-nil.
1036 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
1038         * src/font.c (Ffont_info): Doc fix.  (Bug#29682)
1040 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
1042         Modernise message.el face spec syntax
1044         * lisp/gnus/message.el (message-header-to, message-header-cc)
1045         (message-header-subject, message-header-newsgroups)
1046         (message-header-other, message-header-name, message-header-xheader)
1047         (message-separator, message-cited-text, message-mml):
1048         Use (DISPLAY . PLIST) face spec syntax as recommended in
1049         `(elisp) Defining Faces'.  (Bug#29405)
1051 2017-12-15  Basil L. Contovounesios  <contovob@tcd.ie>
1053         Update message.el obsolete face aliases
1055         * lisp/gnus/message.el: (message-header-to, message-header-cc)
1056         (message-header-subject, message-header-newsgroups)
1057         (message-header-other, message-header-name, message-header-xheader)
1058         (message-separator, message-cited-text, message-mml):
1059         Use define-obsolete-face-alias.  (Bug#29405)
1061 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
1063         Improve documentation of TERM environment variable
1065         * doc/emacs/trouble.texi (Checklist):
1066         * doc/emacs/building.texi (Compilation Shell):
1067         * doc/emacs/misc.texi (Shell Options): Improve indexing of TERM.
1068         * doc/emacs/building.texi (Compilation Shell): Mention
1069         'comint-terminfo-terminal' in conjunction with the TERM value.
1071 2017-12-15  Allen Li  <darkfeline@felesatra.moe>
1073         Add option to configure comint TERM
1075         * lisp/comint.el (comint-terminfo-terminal): New defcustom.
1076         (comint-term-environment): New function for setting terminal options
1077         (comint-exec-1): Use comint-term-environment.  (Bug#29583)
1078         * lisp/progmodes/compile.el (compilation-start): Use comint-term-environment.
1080         * etc/NEWS:
1081         * doc/emacs/misc.texi (Shell Options): Document the new option.
1083 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
1085         Better support utf-8-with-signature and utf-8-hfs in XML/HTML
1087         * lisp/international/mule.el (sgml-xml-auto-coding-function):
1088         Support UTF-8 with BOM and utf-8-hfs as variants of UTF-8, and
1089         obey the buffer's encoding if it is one of these variants, instead
1090         of re-encoding in UTF-8 proper.  (Bug#20623)
1092 2017-12-15  Eli Zaretskii  <eliz@gnu.org>
1094         * lisp/menu-bar.el (menu-bar-mode): Doc fix.
1096 2017-12-15  Michael Albinus  <michael.albinus@gmx.de>
1098         Fix Bug#29712 in tramp-tests.el
1100         * test/lisp/net/tramp-tests.el
1101         (tramp-test32-environment-variables-and-port-numbers):
1102         Skip for macOS.  (Bug#29712)
1104 2017-12-15  Martin Rudalics  <rudalics@gmx.at>
1106         Don't run FOR_EACH_FRAME when there's no frame left (Bug#29961)
1108         This does not fix Bug#29961 but avoids that Emacs segfaults when
1109         trying to shut down because it lost connection to the X server.
1111         * src/dispnew.c (check_glyph_memory):
1112         * src/frame.c (delete_frame): Don't run FOR_EACH_FRAME when
1113         there's no frame left (Bug#29961).
1115 2017-12-15  Glenn Morris  <rgm@gnu.org>
1117         * lisp/textmodes/tex-mode.el: Ensure uncompiled file is loadable.
1119 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
1121         Remember password change for IMAP in Gnus (Bug#29692)
1123         Reported by Trey Jackson <trey_jackson@mentor.com>.
1125         * lisp/gnus/mail-source.el (mail-source-fetch-imap): Check
1126         `mail-source-password-cache' for password.
1128 2017-12-15  Ted Zlatanov  <tzz@lifelogs.com>
1130         Add %DUMBFW to the default GnuTLS priority strings
1132         * lisp/net/gnutls.el (gnutls-boot-parameters): Add %DUMBFW to
1133         the default priority strings (Bug#25061).
1135         * etc/NEWS: Mention it.
1137         * doc/misc/emacs-gnutls.texi (Help For Users): Point to the
1138         GnuTLS priority string documentation URL.
1140 2017-12-15  Glenn Morris  <rgm@gnu.org>
1142         Small fixes prompted by make check-declare
1144         * lisp/frame.el (x-focus-frame): Update declaration.
1145         (ns-mouse-absolute-pixel-position): Fix declaration.
1146         * lisp/vc/diff-mode.el (diff-refine-hunk):
1147         Use smerge-refine-regions rather than obsolete alias.
1148         (smerge-refine-subst): Remove declaration, no longer relevant.
1150 2017-12-15  Glenn Morris  <rgm@gnu.org>
1152         Fix some custom groups
1154         * lisp/vc/vc-hooks.el (vc-faces): Rename from vc-state-faces.
1155         * lisp/vc/cvs-status.el (cvs-status): Unused, remove.
1157 2017-12-14  Alan Mackenzie  <acm@muc.de>
1159         Fix fontification of first declaration within a C++ lambda form.
1161         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Cease
1162         spuriously recognizing the braces of a lambda form as a brace list when there
1163         is an "=" preceding the introductory brackets.
1165 2017-12-14  Charles A. Roelli  <charles@aurox.ch>
1167         * src/data.c (Fadd_variable_watcher): Doc fix.
1169 2017-12-14  Alan Mackenzie  <acm@muc.de>
1171         Fix misfontification of C++ member initialization list after "throw"
1173         * lisp/progmodes/cc-engine.el (c-forward-type): Stop recognizing a "type"
1174         starting with "throw", by using c-opt-type-modifier-prefix-key.
1176         * lisp/progmodes/cc-langs.el (c-type-modifier-prefix-kwds): New lang const
1177         which, in C++, doesn't contain "throw", otherwise like c-type-modifier-kwds.
1178         (c-opt-type-modifier-prefix-key): New lang const and var, a regexp matching
1179         any keyword in the previous lang const.
1181 2017-12-14  Dmitry Gutov  <dgutov@yandex.ru>
1183         Consolidate 'widen' calls
1185         * lisp/progmodes/prog-mode.el (prog-indentation-context):
1186         Un-document all elements but the first.
1187         (prog-widen): Remove.
1188         (http://lists.gnu.org/archive/html/emacs-devel/2017-12/msg00321.html)
1190         * doc/lispref/text.texi (Mode-Specific Indent): Update.
1192         * lisp/progmodes/ruby-mode.el (ruby-calculate-indent):
1193         Don't call widen.
1195         * lisp/progmodes/python.el
1196         (python-indent-guess-indent-offset)
1197         (python-info-current-defun): Replace prog-widen with widen;
1198         these functions are not called during indentation.
1199         (python-indent-context)
1200         (python-indent--calculate-indentation)
1201         (python-info-dedenter-opening-block-message)
1202         (python-info-line-ends-backslash-p)
1203         (python-info-beginning-of-backslash)
1204         (python-info-continuation-line-p)
1205         (python-info-current-defun): Remove 'widen' calls.
1207         * lisp/indent.el (indent-according-to-mode)
1208         (indent-for-tab-command, indent-region): Move them here.
1210         * lisp/textmodes/mhtml-mode.el (mhtml-indent-line):
1211         Bind prog-indentation-context to one-element list.
1213 2017-12-14  Martin Rudalics  <rudalics@gmx.at>
1215         Fix doc-string of Fbuffer_list
1217         * src/buffer.c (Fbuffer_list): Fix doc-string.
1219 2017-12-14  Basil L. Contovounesios  <contovob@tcd.ie>
1221         Don't raise an extraneous frame (bug#29696)
1223         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys): Lookup
1224         summary buffer keys from article buffer without affecting window
1225         configuration (bug#29696).
1227 2017-12-13  Noam Postavsky  <npostavs@gmail.com>
1229         Mention new strictness for &optional, &rest in arglists (Bug#29165)
1231         * etc/NEWS: Explain that '&optional' not followed by a variable is now
1232         an error.
1233         * lisp/emacs-lisp/cl-macs.el (cl--transform-lambda, cl--do-&aux)
1234         (cl--do-arglist): Also reject '&optional', '&rest', or '&aux' not
1235         followed by a variable for consistency.
1236         * test/lisp/emacs-lisp/cl-macs-tests.el (cl-macs-bad-arglist): New
1237         test.
1239 2017-12-13  Alan Mackenzie  <acm@muc.de>
1241         Don't misfontify "foo ()" inside C++ initialization parentheses as a type
1243         Also recognize and handle function names introduced by "extern" inside a
1244         function.
1246         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add a new element to
1247         the result list which is t when our declaration is, or is to be treated as,
1248         being at top level.
1250         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Detect being
1251         inside a C++ uniform initialization and return (not-decl nil) for this case.
1252         (c-font-lock-declarations): Use the new element 4 of the result of
1253         c-forward-decl-or-cast-1.
1255         * lisp/progmodes/cc-langs.el (c-make-top-level-kwds, c-make-top-level-key):
1256         New lang consts/vars.
1258 2017-12-13  Glenn Morris  <rgm@gnu.org>
1260         Fixes for defcustoms, prompted by cus-test-opts
1262         * lisp/files.el (save-some-buffers-default-predicate):
1263         * lisp/time.el (display-time-world-list):
1264         * lisp/gnus/gnus-art.el (gnus-article-show-cursor):
1265         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-names):
1266         * lisp/progmodes/verilog-mode.el (verilog-auto-wire-type):
1267         * lisp/textmodes/less-css-mode.el (less-css-output-directory)
1268         (less-css-output-file-name, less-css-input-file-name):
1269         * lisp/vc/emerge.el (emerge-metachars):
1270         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles):
1271         Fix :types.
1272         * lisp/net/newst-backend.el (newsticker-url-list-defaults): Fix url.
1274 2017-12-13  Glenn Morris  <rgm@gnu.org>
1276         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
1277         Update.
1279         * lisp/htmlfontify.el (hfy-which-etags): Fix it.
1281 2017-12-13  Glenn Morris  <rgm@gnu.org>
1283         Add missing :version tags revealed by cusver-check
1285         * lisp/comint.el (comint-move-point-for-matching-input):
1286         * lisp/epa.el (epa-replace-original-text):
1287         * lisp/image-dired.el (image-dired-cmd-optipng-program)
1288         (image-dired-cmd-optipng-options):
1289         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-use-jump-table):
1290         * lisp/gnus/gnus-cloud.el (gnus-cloud-storage-method)
1291         (gnus-cloud-interactive):
1292         * lisp/net/mailcap.el (mailcap-user-mime-data):
1293         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag)
1294         (c-noise-macro-names, c-noise-macro-with-parens-names):
1295         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode)
1296         (flymake-wrap-around):
1297         * lisp/progmodes/grep.el (grep-use-null-filename-separator):
1298         * lisp/progmodes/js.el (js-indent-align-list-continuation):
1299         * lisp/progmodes/perl-mode.el (perl-flymake-command):
1300         * lisp/progmodes/python.el (python-flymake-command)
1301         (python-flymake-command-output-pattern, python-flymake-msg-alist):
1302         * lisp/progmodes/ruby-mode.el (ruby-flymake-use-rubocop-if-available)
1303         (ruby-rubocop-config):
1304         * lisp/textmodes/less-css-mode.el (less-css):
1305         * lisp/textmodes/tex-mode.el (tex-chktex-program)
1306         (tex-chktex-extra-flags): Add missing :version tags.
1308 2017-12-13  Glenn Morris  <rgm@gnu.org>
1310         Escape column-zero doc parens
1312         * lisp/htmlfontify.el (hfy-display-class):
1313         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm):
1314         * lisp/net/shr.el (shr-external-rendering-functions):
1315         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag):
1316         * lisp/textmodes/tildify.el (tildify-tildify):
1317         Escape column-zero doc parens.  A shame bug#21871 remains unfixed.
1319 2017-12-12  Alan Third  <alan@idiocy.org>
1321         Remove ObjC blocks (Bug#23753)
1323         * src/macfont.m (macfont_get_glyph_for_character):
1324         (mac_font_get_glyphs_for_variants): Inline Objective-C blocks.
1326         (cherry picked from commit 4590f1d768adbb2120a2b02c614f7ed3b21a4a3e)
1328 2017-12-12  Eli Zaretskii  <eliz@gnu.org>
1330         Import the latest IVD_Sequences.txt
1332         * admin/unidata/IVD_Sequences.txt: New version from
1333         http://www.unicode.org/ivd/, the 2017-12-12 version of the Unicode
1334         Ideographic Variation Database.
1336         * src/macuvs.h: Regenerated.
1338 2017-12-11  Max  <mu@magi.net.ru>  (tiny change)
1340         Fix dired-do-compress when tar doesn't default to stdin (Bug#29094)
1342         * lisp/dired-aux.el (dired-compress-file-suffixes): Use argument '-f-'
1343         to write to stdout rather than relying on the default (the choice of
1344         default is decided when compiling tar, BSD systems usually set it to a
1345         tape drive).  Drop '-v', since the output is not used anywhere.
1347 2017-12-11  Noam Postavsky  <npostavs@gmail.com>
1349         Suppress warnings during elisp completion macroexpansion
1351         Errors are already suppressed, therefore it is logical to suppress
1352         warnings as well.  Some macros (e.g., use-package) may produce
1353         warnings when given the `elisp--witness--lisp' symbol.
1354         * lisp/progmodes/elisp-mode.el (elisp--local-variables): Let-bind
1355         warning-minimum-log-level to :emergency.
1357 2017-12-11  Chunyang Xu  <xuchunyang.me@gmail.com>
1359         * lisp/progmodes/verilog-mode.el (verilog-mode): Fix typo (Bug#24410).
1361 2017-12-11  Michael Albinus  <michael.albinus@gmx.de>
1363         Make tramp-interrupt-process more robust
1365         * lisp/net/tramp.el (tramp-interrupt-process): Fall back to
1366         the default implementation if there's no success.
1368 2017-12-11  Katsumi Yamaoka  <yamaoka@jpl.org>
1370         Make quail-input-method work when inhibit-read-only is non-nil (bug#29504)
1372         * lisp/international/quail.el (quail-input-method): Work not only
1373         when buffer-read-only is nil but also when inhibit-read-only is non-nil
1374         (bug#29504).
1376 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
1378         Fix 'fontset-name-p'
1380         * lisp/international/fontset.el (fontset-name-p): Make the
1381         function work with full fontset names and fontset alias names.
1383 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
1385         Fix fontset documentation inconsistencies for bug#29630
1387         * doc/lispref/display.texi (Face Attributes): Don't document
1388         :family as accepting a fontset.  Document that :font accepts a
1389         fontset.
1391         * lisp/faces.el (set-face-attribute): Doc fix.
1393 2017-12-10  Martin Rudalics  <rudalics@gmx.at>
1395         Remove sentence from child frames section in Elisp manual
1397         * doc/lispref/frames.texi (Child Frames): Remove one sentence.
1398         Suggested by Bob Weiner <rsw@gnu.org>.
1400 2017-12-10  Eli Zaretskii  <eliz@gnu.org>
1402         Avoid crashes in 'font-at' after 'set-fontset-font'
1404         * src/fontset.c (free_realized_fontsets): Call
1405         recompute_basic_faces, so that the basic faces are available to
1406         any Lisp that calls this function, e.g. via set-fontset-font.
1407         (Bug#29632)
1409 2017-12-10  Ted Zlatanov  <tzz@lifelogs.com>
1411         * lisp/files-x.el (connection-local-set-profile-variables): Fix docstring.
1413 2017-12-09  Ted Zlatanov  <tzz@lifelogs.com>
1415         Add /etc/ssl/cert.pem to gnutls-trustfiles for macOS
1417         Problem reported by Mark Ferlatte (Bug#28603).
1418         * lisp/net/gnutls.el (gnutls-trustfiles): Add /etc/ssl/cert.pem for macOS.
1420 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
1422         Fix tool-tip display when display margins are non-zero by default
1424         * src/buffer.h (bset_left_margin_cols, bset_right_margin_cols):
1425         New inline functions.
1426         * src/xfns.c (Fx_show_tip):
1427         * src/w32fns.c (Fx_show_tip): Force display margins of the tip
1428         buffer to zero, as it will be displayed in a pseudo-window, which
1429         doesn't support display margins.  (Bug#29627)
1431 2017-12-09  Eric Abrahamsen  <eric@ericabrahamsen.net>
1433         Handle hash tables and vectors when reading/writing EIEIO objects
1435         * lisp/emacs-lisp/eieio.el (eieio-override-prin1): EIEIO objects
1436           printed with `prin1' can no longer be read with `read'. Make sure
1437           they are printed with object-write instead, even when they're inside
1438           hash tables and vectors.
1439         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-validate/fix-slot-value):
1440           Check for written representations of objects inside hash tables and
1441           vectors, and reconstruct them.
1443 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
1445         Improve interactive debugging commands in xdisp.c
1447         * src/xdisp.c (Fdump_glyph_row, Fdump_tool_bar_row): Allow to
1448         specify ROW via prefix argument.  Fix the doc strings.
1450 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
1452         Fix calculation of continuation_pixel_width in display engine
1454         * src/xdisp.c (display_line): Remove incorrect increment of
1455         it->continuation_pixel_width when word-wrap is used.  (Bug#29594)
1457 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
1459         Improve documentation of 'save-abbrevs'.
1461         * doc/emacs/abbrevs.texi (Saving Abbrevs): Document the 'silently'
1462         value of 'save-abbrevs'.  Suggested by Alex Branham
1463         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
1465 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
1467         Improve documentation of Dired
1469         * doc/emacs/dired.texi (Dired): Mention that the Dired buffer can
1470         be made modifiable in Wdired.  Suggested by Alex Branham
1471         <alex.branham@gmail.com> in emacs-manual-bugs@gnu.org.
1473 2017-12-09  Eli Zaretskii  <eliz@gnu.org>
1475         * lisp/bookmark.el (bookmark-alist): Doc fix.  (Bug#29551)
1477 2017-12-08  Michael Albinus  <michael.albinus@gmx.de>
1479         Minor Tramp fixes
1481         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
1482         Fix a bug when renaming.
1484         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
1485         (tramp-test42-delay-load, tramp-test42-remote-load-path):
1486         Skip unless Emacs >= 26.
1488 2017-12-08  Glenn Morris  <rgm@gnu.org>
1490         * lisp/help-mode.el (help-function-def):
1491         Allow help-make-xrefs to call with one argument.  (Bug#29611)
1493 2017-12-07  Martin Rudalics  <rudalics@gmx.at>
1495         Fix doc-string of 'display-buffer-in-side-window'
1497         * lisp/window.el (display-buffer-in-side-window): In doc-string
1498         clarify why the window returned gets dedicated to its buffer.
1500 2017-12-06  Michael Albinus  <michael.albinus@gmx.de>
1502         Fix Bug#29579
1504         * lisp/files.el (file-name-non-special):
1505         Inhibit `file-name-handler-alist' only for some operations.
1506         Add missing operations.  (Bug#29579)
1508         * lisp/net/tramp-compat.el (tramp-compat-file-name-quote):
1509         Do not quote if it is quoted already.
1511         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
1512         Use `copy-tree' but `copy-sequence'.
1514         * lisp/net/tramp.el (tramp-handle-file-truename): Handle several
1515         trailing slashes correctly.
1517         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
1518         (tramp-test12-rename-file, tramp-test24-file-acl)
1519         (tramp-test25-file-selinux, tramp--test-check-files):
1520         Handle also quoted file names.
1521         (tramp-test21-file-links): Fix file name quoting test.
1522         (tramp-test24-file-acl): Be more robust for "smb" method.
1523         (tramp-test35-make-auto-save-file-name): Enable hidden test cases.
1525 2017-12-06  Rasmus  <rasmus@gmx.us>
1527         Backport: Update Org to v9.1.4
1529         Please note this is a bugfix release. See etc/ORG-NEWS for details.
1531         (cherry picked from commit 567b5efe1f338c10c574758fb968915c5c34c909)
1533 2017-12-06  Martin Rudalics  <rudalics@gmx.at>
1535         In windows.texi mention special splitting behavior of side and atomic windows
1537         * doc/lispref/windows.texi (Splitting Windows): Add note about
1538         and links to side and atomic windows.
1540 2017-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
1542         * lisp/gnus/gnus-group.el (gnus-group-mode-map):
1543         Bind [follow-link] to mouse-face, not 'mouse-face (bug#29538).
1545 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
1547         Avoid compilation warning in xterm.c
1549         * src/xterm.c (x_draw_underwave): Move the declaration of
1550         'thickness' to the non-USE_CAIRO branch, to avoid compiler
1551         warning.  (Bug#29567)
1553 2017-12-04  Eli Zaretskii  <eliz@gnu.org>
1555         * README: Document all the top-level directories.  (Bug#29558)
1557 2017-12-04  Glenn Morris  <rgm@gnu.org>
1559         Don't enable erc modules on simply loading erc.el
1561         * lisp/erc/erc.el (erc-modules): Use default :initialize.  (Bug#29417)
1563 2017-12-03  Lars Ingebrigtsen  <larsi@gnus.org>
1565         Allow shr to use data: URLs without encoding
1567         * lisp/net/shr.el (shr-image-from-data): Don't bug out on
1568         image data: URLs that have no base64 encoding like
1569         (shr-image-from-data
1570         "text/html,%3Ch1%3EHello%2C%20World!%3C%2Fh1%3E").
1572 2017-12-03  E. Choroba  <choroba@matfyz.cz>  (tiny change)
1574         Don't add newlines in minibuffer history
1576         * lisp/simple.el (next-line-or-history-element): Bind
1577         next-line-add-newlines to nil.  (Bug#29529)
1579 2017-12-03  Syohei YOSHIDA  <syohex@gmail.com>
1581         modhelp.py: Support Python 3 (Bug#24954)
1583         * modules/modhelp.py: 'print' statement was removed in Python
1584         3.  'print' function should be used instead of 'print' statement.
1586 2017-12-03  Noam Postavsky  <npostavs@gmail.com>
1588         Use forward slashes for python w32 config example (Bug#21656)
1590         * lisp/progmodes/python.el: Use forward slashes for Windows path
1591         example, it doesn't require doubling of slashes which reduces chances
1592         of confusion.
1594 2017-12-03  Paul Eggert  <eggert@cs.ucla.edu>
1596         Fix bug in i18n/l10n optimization
1598         This fixes a off-by-one buffer overrun bug introduced in
1599         2017-06-04T15:39:37Z!eggert@cs.ucla.edu.  Problem uncovered by an
1600         experimental version of Emacs built with -fcheck-pointer-bounds
1601         and running on Intel MPX hardware.
1602         * src/editfns.c (styled_format): Avoid overrunning internal buffers.
1604 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
1606         Let autoload-compute-prefix be set file-locally (Bug#29471)
1608         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): Mark
1609         boolean values as safe.
1611 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
1613         Improve edit-kbd-macro prompting in case of remapped keys (Bug#29399)
1615         * lisp/edmacro.el (edit-kbd-macro): Use substitute-command-keys to
1616         present the current bindings in the prompt.  Check the the
1617         non-remapped binding of the entered key sequence as well.
1619 2017-12-02  Lele Gaifax  <lele@metapensiero.it>
1621         Add tests on electric-indentation and Python multiline strings (Bug#29305)
1623         * test/lisp/progmodes/python-tests.el
1624         (python-indent-electric-comma-inside-multiline-string,
1625         python-indent-electric-comma-after-multiline-string): New tests.
1627 2017-12-02  Noam Postavsky  <npostavs@gmail.com>
1629         Disable electric indent for python strings (Bug#29305)
1631         * lisp/progmodes/python.el (python-indent-post-self-insert-function):
1632         Do nothing when point or beginning of line is in string.
1634 2017-12-02  Yuuki Harano  <masm-emacs@masm11.ddo.jp>  (tiny change)
1636         Fix buffer overflow in fontname conversion (Bug#29523)
1638         * src/nsterm.m (ns_xlfd_to_fontname): Fix sscanf format.
1640 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
1642         Fix byte compilation of files with leading directories
1644         * lisp/emacs-lisp/bytecomp.el (byte-compile-file): Pass basename
1645         of target-file to make-temp-file, in case target-file includes a
1646         leading directory that might not exist under TMPDIR.  See
1647         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00680.html
1648         for the details.
1650 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
1652         * lisp/files.el (make-backup-file-name-1): Fix scoping error.
1654 2017-12-02  Michael Albinus  <michael.albinus@gmx.de>
1656         Revert Tramp commit from 2017-11-20
1658         * lisp/net/tramp.el (tramp-drop-volume-letter)
1659         (tramp-handle-find-backup-file-name): Revert change from
1660         2017-11-20.  Emacs' `make-backup-file-name-1' handles this
1661         case now.
1663 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
1665         Improve documentation of buffer-list commands and features
1667         * doc/emacs/buffers.texi (List Buffers): Add a cross-reference to
1668         "Several Buffers", to establish a relation between the two
1669         sections.
1670         (Buffer Menus): Expand on customizability of alternative buffer
1671         menu offered by bs.el.  Mention IBuffer.
1672         Suggested by Alex Branham <alex.branham@gmail.com> in
1673         emacs-manual-bugs@gnu.org.
1675 2017-12-02  Eli Zaretskii  <eliz@gnu.org>
1677         Fix backing up remote files in local directories on MS-Windows
1679         * lisp/files.el (make-backup-file-name-1): Support remote file
1680         names correctly when they are backed up into a local directory on
1681         MS-Windows and MS-DOS.  (Bug#29440)
1683 2017-12-02  Glenn Morris  <rgm@gnu.org>
1685         * doc/emacs/mule.texi (Output Coding): Clarify sendmail coding.
1687 2017-12-01  John Wiegley  <johnw@newartisans.com>
1689         Revert "Fix backing up remote files in local directories on MS-Windows"
1691         This reverts commit 8c8b6732882248df4ca3b687e0a4b4e5e4ab3777.
1693 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
1695         Fix a typo in ELisp manual
1697         * doc/lispref/sequences.texi (Sequence Functions): Fix the example
1698         of using 'seq-uniq'.  (Bug#29524)
1700 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
1702         * lisp/composite.el (find-composition): Fix a typo in the doc string.
1704 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
1706         Fix backing up remote files in local directories on MS-Windows
1708         * lisp/files.el (make-backup-file-name-1): Support remote file
1709         names correctly when they are backed up into a local directory on
1710         MS-Windows and MS-DOS.  (Bug#29440)
1712 2017-12-01  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
1714         Fix vertical cursor motion in pixel-scroll.el
1716         * lisp/pixel-scroll.el (pixel-scroll-up): Move cursor down
1717         regardless of whether EOB is shown at the top.
1718         (pixel-scroll-down) Move cursor up regardless of whether BOB
1719         is shown at the top.  (Bug#29374)
1721 2017-12-01  Basil L. Contovounesios  <contovob@tcd.ie>
1723         Fix typos in doc strings of message.el
1725         * lisp/gnus/message.el (message-header-to)
1726         (message-header-subject, message-header-newsgroups)
1727         (message-header-other): Fix typos in doc strings.  (Bug#29405)
1729 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
1731         Fix a typo in the Emacs manual
1733         * doc/emacs/abbrevs.texi (Abbrev Concepts): Fix a typo.  Reported
1734         by clemens.radermacher@posteo.de in emacs-manual-bugs@gnu.org.
1736 2017-12-01  Eli Zaretskii  <eliz@gnu.org>
1738         Improve the documentation of 'table-insert-sequence'
1740         * doc/emacs/text.texi (Table Misc): Fix the description of
1741         'table-insert-sequence'.  Reported by jack <jackh@gmx.co.uk> in
1742         emacs-manual-bugs@gnu.org.
1744 2017-12-01  Paul Eggert  <eggert@cs.ucla.edu>
1746         Port better to QNX
1748         Problem reported by Elad Lahav on emacs-devel.
1749         * configure.ac: On QNX, default CC to qcc (a GCC wrapper),
1750         and default LDFLAGS to -N2MB so that the initial stack size
1751         is not too small.  Also, fix misspelling of ‘qnxnto’.
1753 2017-11-30  Michael Albinus  <michael.albinus@gmx.de>
1755         Make tramp-test42-auto-load more robust
1757         * test/lisp/net/tramp-tests.el (tramp-test42-auto-load):
1758         Make it more robust.  Don't skip.
1760 2017-11-30  Eli Zaretskii  <eliz@gnu.org>
1762         Avoid assertions in find-composition
1764         * src/font.c (font_range): If called with STRING non-nil and FACE
1765         a NULL pointer, compute face by calling face_at_string_position.
1766         (Bug#29506)
1768         * lisp/composite.el (find-composition): Doc fix.
1770 2017-11-29  Glenn Morris  <rgm@gnu.org>
1772         Restore obsolete method of changing byte-compile-dest-file
1774         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
1775         Restore seven-year obsolete feature that was removed for six months,
1776         since automake uses it.
1778 2017-11-29  Michael Albinus  <michael.albinus@gmx.de>
1780         Some minor Tramp corrections
1782         * lisp/net/tramp.el (tramp-handle-directory-file-name):
1783         Handle several trailing slashes correctly.
1784         (tramp-handle-file-selinux-context): New defun.
1786         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
1787         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
1788         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
1789         Use `tramp-handle-file-selinux-context'.
1791         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
1792         Extend test.
1793         (tramp-test17-insert-directory): Make check more robust.
1794         (tramp-test42-auto-load): Combine several let forms.
1795         (tramp-test42-delay-load, tramp-test42-recursive-load)
1796         (tramp-test42-remote-load-path, tramp-test43-unload): Rename.
1798 2017-11-29  Tino Calancha  <tino.calancha@gmail.com>
1800         * doc/misc/url.texi (http/https): Fix typo
1802 2017-11-29  Glenn Morris  <rgm@gnu.org>
1804         Remove some bogus definition-prefixes from loaddefs
1806         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
1807         Don't register a definition prefix from define-erc-module,
1808         which adds an erc- prefix to its argument.
1810 2017-11-28  Robert Pluim  <rpluim@gmail.com>
1812         Shell-quote wildcards when invoking 'vc-git-grep'
1814         * lisp/vc/vc-git.el (vc-git-grep): Apply shell quoting to
1815         filename wildcards to ensure globbing is done by git rather
1816         than the shell.  (Bug#29303)
1818 2017-11-28  Kaushal Modi  <kaushal.modi@gmail.com>
1820         Update documentation of '.dir-locals-2.el'
1822         See https://lists.gnu.org/r/emacs-devel/2017-11/msg00649.html
1823         for more details.
1824         * lisp/files.el (dir-locals-file-2): Remove unused constant.
1825         * lisp/files.el (dir-locals-file): Mention ".dir-locals-2.el" in
1826         the doc string.
1827         * doc/lispref/variables.texi (Directory Local Variables): Mention
1828         ".dir-locals-2.el".
1829         * etc/NEWS: Replace `dir-locals-file-2' mention with
1830         `dir-locals-file'.
1832 2017-11-27  Noam Postavsky  <npostavs@gmail.com>
1834         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64]: Bump to 22 MiB.
1836 2017-11-27  Glenn Morris  <rgm@gnu.org>
1838         A few small doc fixes for bytecomp.el
1840         * lisp/emacs-lisp/bytecomp.el (emacs-lisp-file-regexp)
1841         (byte-compile-dest-file-function, byte-compile-dest-file): Doc fixes.
1843 2017-11-27  Stefan Monnier  <monnier@iro.umontreal.ca>
1845         * src/lread.c (syms_of_lread): Fix thinko in commit b1573a97e17b5
1847 2017-11-27  Glenn Morris  <rgm@gnu.org>
1849         * lisp/tree-widget.el (tree-widget-end-guide): Escape it.  (Bug#27797)
1851 2017-11-27  Eli Zaretskii  <eliz@gnu.org>
1853         Fix ELisp "Warning Tips"
1855         * doc/lispref/tips.texi (Warning Tips): Clarify when to use
1856         'require' wrapped by 'eval-when-compile'.  (Bug#29462)
1858 2017-11-27  Michael Albinus  <michael.albinus@gmx.de>
1860         Fix Bug#29163
1862         * lisp/net/tramp.el (tramp-autoload-file-name-regexp):
1863         Do not use "\\'" in regexp.  (Bug#29163)
1864         (top) Do not run (tramp-register-autoload-file-name-handlers)
1865         when loading tramp.el.
1867         * test/lisp/net/tramp-tests.el (tramp--test-mock-p): New defun.
1868         (tramp-test32-environment-variables-and-port-numbers)
1869         (tramp-test41-asynchronous-requests): Use it.
1870         (tramp-test42-auto-load): New test.
1871         (tramp-test43-recursive-load, tramp-test44-remote-load-path)
1872         (tramp-test45-delay-load, tramp-test46-unload): Rename.
1874 2017-11-27  Paul Eggert  <eggert@union>
1876         Harden exec_byte_code against redefining 'error'
1878         Problem discovered by configuring with --enable-gcc-warnings on
1879         Ubuntu 17.10 x86-64 with gcc (Ubuntu 7.2.0-8ubuntu3).
1880         * src/bytecode.c (exec_byte_code): Call the C error function
1881         instead of the Lisp one, so that the Emacs interpreter does not go
1882         haywire if the user redefines the Lisp error function.
1884 2017-11-27  Gemini Lasswell  <gazally@runbox.com>
1886         Fix Edebug specs for if-let* and and-let* (Bug#29236)
1888         * test/lisp/emacs-lisp/subr-x-tests.el (if-let*, if-let):
1889         Change Edebug spec to cause Edebug to instrument tests the
1890         results of which are not bound to symbols (the (VALUEFORM)
1891         case).
1892         (and-let*): Change Edebug spec to allow empty body.
1894         *test/lisp/emacs-lisp/subr-x-tests.el:
1895         (subr-x-and-let*-test-group-1): Add missing quote to erroneous
1896         form so Edebug will work on this test.
1898 2017-11-26  Gemini Lasswell  <gazally@runbox.com>
1900         Fix Edebug's handling of dotted specs (bug#6415)
1902         * lisp/emacs-lisp/cl-macs.el (cl-destructuring-bind): Use
1903         cl-macro-list1 instead of cl-macro-list in Edebug spec.
1905         * lisp/emacs-lisp/edebug.el (edebug-after-dotted-spec): Delete
1906         unused variable.
1907         (edebug-dotted-spec): Add docstring.
1908         (edebug-match-specs): Allow &optional and &rest specs to
1909         match nothing at the tail of a dotted form. Handle matches of
1910         dotted form tails which return non-lists.
1912         * test/lisp/emacs-lisp/edebug-tests.el (edebug-tests-dotted-forms):
1913         New test.
1915         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el:
1916         (edebug-test-code-use-destructuring-bind): New function.
1918 2017-11-26  Eli Zaretskii  <eliz@gnu.org>
1920         Improve documentation of "constant" symbols
1922         * src/font.c (syms_of_font) <font-weight-table, font-slant-table>
1923         <font-width-table>:
1924         * src/data.c (syms_of_data) <most-positive-fixnum>
1925         <most-negative-fixnum>:
1926         * src/buffer.c (syms_of_buffer) <enable-multibyte-characters>:
1927         Mention in the doc strings that these variables are read-only.
1929         * doc/lispref/variables.texi (Creating Buffer-Local): Document
1930         that making a constant variable buffer-local signals an error.
1931         * doc/lispref/variables.texi (Constant Variables):
1932         * doc/lispref/errors.texi (Standard Errors): More accurate and
1933         up-to-date documentation of which symbols cannot be assigned
1934         values.
1936 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
1938         maint: shorten https://lists.gnu.org/archive/html/... links
1940 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
1942         Merge from Gnulib
1944         This incorporates:
1945         2017-11-23 stat: work around Solaris bug with tv_nsec < 0
1946         2017-11-12 maint: shorten https://lists.gnu.org/archive/html/... links
1947         * build-aux/config.sub, doc/misc/texinfo.tex, lib/allocator.h:
1948         * lib/fstatat.c, lib/intprops.h, lib/lstat.c, lib/signal.in.h:
1949         * lib/stat-time.h, lib/stdio-impl.h, lib/stdio.in.h:
1950         * lib/timespec.h, m4/alloca.m4, m4/extern-inline.m4:
1951         * m4/faccessat.m4, m4/fstatat.m4, m4/gnulib-common.m4:
1952         * m4/lstat.m4, m4/std-gnu11.m4, m4/sys_types_h.m4:
1953         * m4/vararrays.m4:
1954         Copy from Gnulib.
1956 2017-11-26  Paul Eggert  <eggert@cs.ucla.edu>
1958         Work around GCC bug 80776 on Fedora 27 x86
1960         * src/buffer.c (Fgenerate_new_buffer_name): Pacify GCC 7.2.1
1961         20170915 (Red Hat 7.2.1-2) on i686 with -Wformat-overflow -O2 by
1962         using XINT rather than XFASTINT and by adding an eassume.  This
1963         works around GCC bug 80776.
1965 2017-11-25  Paul Eggert  <eggert@cs.ucla.edu>
1967         Tweak copy-file, rename-file doc
1969         * src/fileio.c (Fcopy_file, Frename_file): Tweak the recent change
1970         slightly, as NEWNAME is treated as a directory name depending only
1971         on the contents of the NEWNAME string, and independently of
1972         whether NEWNAME names a directory (i.e., whether the directory
1973         exists) (Bug#29362).
1975 2017-11-25  Tom Tromey  <tom@tromey.com>
1977         Change font-lock-extend-region-multiline handling in mhtml-mode
1979         Bug#29159
1980         * lisp/textmodes/mhtml-mode.el (mhtml-mode): Remove
1981         font-lock-extend-region-multiline from
1982         font-lock-extend-region-functions.
1983         (mhtml--extend-font-lock-region): Call font-lock-extend-region-multiline.
1985 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
1987         Minor cleanup in tramp-gvfs-handle-file-local-copy
1989         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy):
1990         Move error message up.
1992 2017-11-25  Michael Albinus  <michael.albinus@gmx.de>
1994         Add test for Bug#29423 in Tramp.
1996         * test/lisp/net/tramp-tests.el (tramp-test17-insert-directory):
1997         Add test for Bug#29423.
1999 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
2001         Avoid jumbled order in HTML rendered by shr.el
2003         * lisp/net/shr.el (shr-render-td): Preserve point, as
2004         shr-render-td-1 might move it as a side effect of
2005         save-window-excursion.  (Bug#29348)
2007 2017-11-25  Eli Zaretskii  <eliz@gnu.org>
2009         Make sure 'dired-filename' property is always put by ls-lisp
2011         * lisp/ls-lisp.el (ls-lisp-classify): Do not put the
2012         'dired-filename' text property on the file name here...
2013         (ls-lisp-classify-file): ...put it here instead.  (Bug#29423)
2015 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
2017         A better solution for bug#29347
2019         * src/thread.c (really_call_select): Don't try to take the global
2020         lock if the same thread is already holding it.  (Bug#29347)
2022 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
2024         Avoid a hang after C-g while sit-for on a Unix TTY
2026         * src/thread.c (acquire_global_lock): Don't try to take the global
2027         lock if the same thread is already holding it.  (Bug#29347)
2029 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
2031         Improve the doc string of 'list-packages'
2033         * lisp/emacs-lisp/package.el (list-packages): Describe in the doc
2034         string the columns shown by the command.  (Bug#29420)
2036 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
2038         Improve discoverability of 'defvar' for suppressing warnings
2040         * doc/lispref/compile.texi (Compiler Errors): Add index entries.
2041         * doc/lispref/variables.texi (Defining Variables): Mention that
2042         defvar with no value is used for suppressing compiler warnings.
2043         (Bug#29400)
2045 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
2047         Improve discoverability of 'read-buffer-completion-ignore-case'
2049         * lisp/window.el (switch-to-buffer)
2050         (switch-to-buffer-other-window, switch-to-buffer-other-frame):
2051         Mention 'read-buffer' in the doc string.  (Bug#29389)
2053         * doc/emacs/buffers.texi (Select Buffer): Add a cross-reference to
2054         where 'read-buffer-completion-ignore-case' is documented.
2056 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
2058         Improve documentation of self-insert-uses-region-functions
2060         * lisp/simple.el (self-insert-uses-region-functions): Clarify the
2061         doc string.
2062         * lisp/delsel.el (delete-selection-uses-region-p): Mention
2063         'self-insert-command' in the doc string.  (Bug#29373)
2065         * doc/lispref/text.texi (Commands for Insertion): Mention
2066         'self-insert-uses-region-functions'.
2067         * doc/lispref/modes.texi (Keymaps and Minor Modes): Add a
2068         cross-reference to "Commands for Insertion".
2070 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
2072         Reflect changes in copy-file and rename-file in doc strings
2074         * src/fileio.c (Fcopy_file, Frename_file): Mention in the doc
2075         strings that directory names must end in a slash.  (Bug#29362)
2077 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
2079         * lisp/progmodes/cc-vars.el (c-offsets-alist): Doc fix.  (Bug#29407)
2081 2017-11-24  Eli Zaretskii  <eliz@gnu.org>
2083         Reorder type predicates in ELisp manual
2085         * doc/lispref/objects.texi (Type Predicates): Restore alphabetical
2086         order of listed predicates.  (Bug#29411)
2088 2017-11-23  Eli Zaretskii  <eliz@gnu.org>
2090         Fix backward scrolling in buffers with header-line
2092         * src/window.c (window_scroll_pixel_based): Account for the
2093         header-line when comparing Y coordinate with the last_visible_y.
2094         (Bug#29325)
2096 2017-11-22  Glenn Morris  <rgm@gnu.org>
2098         * lisp/bindings.el (buffer-file-coding-system):
2099         Add explicit permanent-local mark.
2101         * src/fns.c (syms_of_fns) <overriding-plist-environment>: Doc fix.
2103 2017-11-22  Alan Third  <alan@idiocy.org>
2105         Fix incorrect interaction of drag/drop and double click (bug#29121)
2107         * src/nsterm.m (EmacsView::performDragOperation): Drag and drop
2108         doesn't use ns-input-file.
2110 2017-11-22  Glenn Morris  <rgm@gnu.org>
2112         * lisp/menu-bar.el (menu-bar-options-save):
2113         Add display-line-numbers-type.
2115         * lisp/menu-bar.el (menu-bar-options-save):
2116         Add global-display-line-numbers-mode.  (Bug#28396)
2118         * lisp/follow.el (follow-mode): Restore mode line lighter.  (Bug#28495)
2120 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
2122         Extract the common part of ruby-flymake-simple and ruby-flymake-rubocop
2124         * lisp/progmodes/ruby-mode.el (ruby-flymake-simple)
2125         (ruby-flymake-rubocop):
2126         Extract the common part as ruby-flymake--helper.
2127         (ruby--rubocop-flymake-proc): Remove.  Use the first proc
2128         variable instead.
2130 2017-11-22  Dmitry Gutov  <dgutov@yandex.ru>
2132         Add Rubocop Flymake backend
2134         * lisp/progmodes/ruby-mode.el (ruby-flymake-command):
2135         Inline the value.  There are no known substitutes.
2136         (ruby-flymake): Rename to `ruby-flymake-simple' and simplify
2137         the docstring.
2138         (ruby-flymake-use-rubocop-if-available): New option.
2139         (ruby--rubocop-flymake-proc): New variable.
2140         (ruby-rubocop-config): New option.
2141         (ruby-flymake-rubocop, ruby-flymake-auto): New functions.
2142         (ruby-mode): Use `ruby-flymake-auto'.
2144 2017-11-21  Noam Postavsky  <npostavs@gmail.com>
2146         Update nt/INSTALL.W64 (Bug#28601)
2148         * nt/INSTALL.W64 (Download and install MinGW-w64 and MSYS2): Move
2149         suggestion about modifying PATH to...
2150         (Test Emacs): ... here.
2151         (Run configure): Remove the unnecessary setting of PKG_CONFIG_PATH.
2152         (Troubleshooting): New section, includes suggestion to check
2153         PKG_CONFIG_PATH.
2155 2017-11-21  Charles A. Roelli  <charles@aurox.ch>
2157         Remove incorrect NEWS item about VC state indicator (Bug#28817)
2159         * etc/NEWS (VC and related modes): Remove news item about the VC
2160         state indicator.  This should have been done with commit 7882dc6
2161         of 2016-03-06 'Revert "Use colors in the VC mode lines"'.
2163 2017-11-21  Glenn Morris  <rgm@gnu.org>
2165         * lisp/emacs-lisp/byte-run.el (defsubst): Doc fix.
2167 2017-11-21  Alan Mackenzie  <acm@muc.de>
2169         Make c-defun-name analyze more thoroughly a function type which is a struct
2171         This fixes bug #29293.
2173         * lisp/progmodes/cc-cmds.el (c-defun-name): When a struct (etc.) type is
2174         encountered, check whether it is the return type of a function rather than a
2175         declaration of the struct itself.  Similarly adapt the cond arm which deals
2176         with functions properly to recognize struct return types.
2178 2017-11-21  Glenn Morris  <rgm@gnu.org>
2180         Avoid bogus abbreviated file names if HOME changes
2182         * lisp/files.el (abbreviate-file-name):
2183         If HOME changes, ignore `abbreviated-home-dir'.  (Bug#19657#20)
2184         * test/lisp/files-tests.el (files-test-abbreviated-home-dir): New.
2186 2017-11-21  Glenn Morris  <rgm@gnu.org>
2188         * lisp/emacs-lisp/byte-run.el (inline): Give it a doc.
2190 2017-11-21  Jay Kamat  <jaygkamat@gmail.com>  (tiny change)
2192         Fix erc keep-place module with new defaults (Bug#29111)
2194         * lisp/erc/erc-goodies.el (erc-keep-place): Allow erc
2195         keep-place to continue working with
2196         switch-to-buffer-preserve-window-point set to t, the new default.
2198 2017-11-20  Alan Third  <alan@idiocy.org>
2200         Add window divider faces to NS (bug#29353)
2202         * src/nsterm.m (ns_draw_window_divider): Use
2203         window-divider-first-pixel and window-divider-last-pixel faces.
2205 2017-11-20  Stefan Monnier  <monnier@iro.umontreal.ca>
2207         * src/keyboard.c: Undo last change, meant for master only
2209 2017-11-20  Michael Albinus  <michael.albinus@gmx.de>
2211         Fix Bug#29149
2213         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle also
2214         backup file names.
2215         (tramp-handle-find-backup-file-name):
2216         Call `tramp-drop-volume-letter' on the results.  (Bug#29149)
2218 2017-11-20  Martin Rudalics  <rudalics@gmx.at>
2220         Fix misbehavior when drawing three-pixel high horizontal dividers (Bug#29353)
2222         * src/xterm.c (x_draw_window_divider):
2223         * src/w32term.c (w32_draw_window_divider): Fix misbehavior when
2224         drawing three-pixel high horizontal dividers (Bug#29353).
2226         The misbehavior was noted by Keith David Bershatsky and analyzed by Alan
2227         Third.
2229 2017-11-19  Mike Kupfer  <mkupfer@alum.berkeley.edu>
2231         MH-E: don't automatically download external-body parts
2233         * lisp/mh-e/mh-mime.el (mh-mime-display-single): Use
2234         mm-automatic-display-p to verify that a part should be
2235         displayed before doing the inline checks (SF#475).
2237 2017-11-19  Michael Albinus  <michael.albinus@gmx.de>
2239         Further fix for Bug#29291
2241         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
2242         Check for local ACL support.  (Bug#29291)
2244 2017-11-19  Alan Third  <alan@idiocy.org>
2246         Fix divider frame params on NS (bug#29352)
2248         * src/nsfns.m (Fx_create_frame): Set right-divider-width and
2249         bottom-divider-width parameters.
2251 2017-11-19  Paul Eggert  <eggert@cs.ucla.edu>
2253         Spelling fixes
2255         * lisp/help-fns.el (help-fns--analyze-function):
2256         Rename from help-fns--analyse-function.
2257         All uses changed.
2259 2017-11-19  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
2261         * src/keyboard.c: Make xterm-mouse clicks on mode-line work
2263         (read_key_sequence): Recompute first_event
2264         after replay_sequence, since it might have changed (bug#29104).
2266 2017-11-18  Martin Rudalics  <rudalics@gmx.at>
2268         Don't let delete_frame select a tooltip frame (Bug#27647)
2270         * src/frame.c (delete_frame): Don't select a tooltip
2271         frame. (Bug#27647)
2273 2017-11-18  Alan Mackenzie  <acm@muc.de>
2275         Filter obtrusive events in help-read-key-sequence.
2277         This fixes most of bug #29272.
2279         * lisp/help.el (help-read-key-sequence): After a mouse event, pause for 0.01s,
2280         discarding any events (such as <help-echo>) received in this time, before
2281         polling for the double-click (etc.) events which may follow.  This fixes the
2282         infinite loop which occurred whwn <help-echo> events triggered a sit-for
2283         whilst handling menu events.
2285 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
2287         Fix symlink flag in tramp-gvfs-handle-file-attributes
2289         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes):
2290         Set proper symlink file mode flag.
2292 2017-11-18  Michael Albinus  <michael.albinus@gmx.de>
2294         Fix bug in tramp-handle-file-truename
2296         * lisp/net/tramp.el (tramp-handle-file-truename): Expand localname.
2298         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Check also
2299         relative symbolic links.
2301 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
2303         Fix a typo in doc string of electric-indent-functions-without-reindent
2305         * lisp/electric.el (electric-indent-functions-without-reindent):
2306         Doc fix.  (Bug#29304)
2308 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
2310         Avoid assertion violations in echo_area_display
2312         * src/xdisp.c (echo_area_display): Don't try redisplaying the echo
2313         area if the selected-frame's mini-window is nil.  (Bug#27647)
2315 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
2317         Fix case-folding in Occur
2319         * lisp/replace.el (occur-engine): Bind case-fold-search in each
2320         buffer we search.  (Bug#29254)
2322 2017-11-18  OGAWA Hirofumi  <hirofumi@mail.parknet.co.jp>  (tiny change)
2324         Fix quick-calc in C mode with hex values
2326         * lisp/calc/calc-aent.el (math-read-token): Make sure the match
2327         against "0[xX][0-9a-fA-F]+" is found at math-exp-pos.  See
2328         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00174.html
2329         for the details.
2331 2017-11-18  Eli Zaretskii  <eliz@gnu.org>
2333         Improve documentation of dired-next/prev-marked-file
2335         * lisp/dired.el (dired-next-marked-file, dired-prev-marked-file):
2336         Doc fixes.  (Bug#29340)
2338 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
2340         Prevent aborts in line-move-visual
2342         * src/indent.c (line_number_display_width): Avoid assertion
2343         violations in init_iterator when the window's buffer was
2344         temporarily switched without updating window-start.  (Bug#29326)
2346 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
2348         More fixes in src/.gdbinit
2350         * src/.gdbinit (pwinx): Update to match 'struct window'.
2351         (pcursorx): Use "." instead of "->" because the argument is a
2352         struct, not a pointer.
2354 2017-11-17  Robert Pluim  <rpluim@gmail.com>
2356         Document how to enter whitespace when using grep-read-files
2358         * lisp/progmodes/grep.el (lgrep, rgrep, grep-read-files): Explain
2359         how to enter whitespace when using grep-read-files.  (Bug#29303)
2360         * lisp/progmodes/project.el (project-find-regexp): Likewise.
2361         * lisp/vc/vc-git.el (vc-git-grep): Likewise.
2363 2017-11-17  Eli Zaretskii  <eliz@gnu.org>
2365         Fix .gdbinit following lisp.h changes
2367         * src/.gdbinit (xsymname, pwinx, pgx, xbuffer, xcar, xcdr, xlist)
2368         (xprintstr): Adapt to latest changes in Lisp object C structures.
2369         (Bug#29332)
2371 2017-11-15  Charles A. Roelli  <charles@aurox.ch>
2373         * lisp/simple.el (shell-command): Doc fixes.
2375 2017-11-15  Noam Postavsky  <npostavs@gmail.com>
2377         Fix marker adjustment for undo (Bug#29118)
2379         * lisp/simple.el (primitive-undo): Compare marker against absolute
2380         value of POS, because the sign of POS is irrelevant to markers.
2382 2017-11-14  Daniel Pittman  <slippycheeze@google.com>
2384         Fix Bug#28139
2386         * lisp/net/tramp-sh.el: Set TERM and INSIDE_EMACS environment earlier.
2387         (tramp-remote-process-environment): Remove TERM and INSIDE_EMACS.
2388         (tramp-remote-process-environment): Document their special handling.
2389         (tramp-open-shell): Set TERM and INSIDE_EMACS prior to starting the
2390         initial remote shell, so that it is also aware of the environment
2391         in which it is operating.  (Bug#28139)
2393 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
2395         Fix Bug#29291
2397         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl):
2398         Preserve permissions when copying.  (Bug#29291)
2400 2017-11-14  Michael Albinus  <michael.albinus@gmx.de>
2402         Fix Bug#2928
2404         * test/lisp/net/tramp-tests.el (tramp-test25-file-selinux):
2405         Enhance test.  (Bug#29287)
2406         (tramp-test44-delay-load): Fix for older Emacsen.
2408 2017-11-14  Martin Rudalics  <rudalics@gmx.at>
2410         Make 'mouse-drag-and-drop-region' work with 'mouse-autoselect-window' non-nil
2412         * lisp/mouse.el (mouse-drag-and-drop-region): Ignore
2413         'select-window' events to make it work with
2414         'mouse-autoselect-window'.
2416 2017-11-14  Alexander Gramiak  <agrambot@gmail.com>
2418         * etc/PROBLEMS: Remove fixed xterm-mouse-mode problems
2420         See: https://debbugs.gnu.org/cgi/bugreport.cgi?bug=29143#26
2422 2017-11-14  Katsumi Yamaoka  <yamaoka@jpl.org>
2424         Fix cookie handling (bug#29282)
2426         * lisp/url/url-cookie.el (url-cookie-handle-set-cookie):
2427         Regard a Set-Cookie header as it contains a single cookie;
2428         prefer Max-Age to Expires and convert it to Expires;
2429         remove support for old time string styles (bug#29282).
2431 2017-11-13  Gemini Lasswell  <gazally@runbox.com>
2433         Improve documentation of Edebug and macros
2435         * doc/lispref/edebug.texi (Instrumenting Macro Calls): Improve
2436         discussion of when it might be necessary to find and evaluate macro
2437         specifications before instrumenting.
2438         (Specification List): Clarify what "defining form" means to Edebug
2439         and when 'def-form' or 'def-body' should be used instead of 'form'
2440         or 'body'.
2442 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
2444         Port to IBM xlc 12.01
2446         Work around a compiler bug by using a separate enum for alignment.
2447         * src/alloc.c (roundup_size): Declare in a separate enum.
2449 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
2451         Simplify by removing HAVE_STRUCT_ATTRIBUTE_ALIGNED
2453         * configure.ac (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.  No longer
2454         needed, since we no longer rely on __attribute__ ((aligned (8))).
2455         All uses removed.
2456         * src/emacs-module.c (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Remove.
2457         (lisp_to_value): Simplify now that we no longer need to worry
2458         whether HAVE_STRUCT_ATTRIBUTE_ALIGNED is false.
2460 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
2462         Use alignas to fix GCALIGN-related bugs
2464         Use alignas and unions to specify alignments of objects needing
2465         addresses that are at least a multiple of GCALIGNMENT.  Using
2466         these standard C facilities should be safer than relying on ad hoc
2467         and poorly-understood features like GCC’s __attribute__
2468         ((aligned (N))), the root cause for recent porting bugs like
2469         Bug#29040.  The alignas macro was standardized by C11 and Gnulib
2470         supports alignas for pre-C11 platforms.  I have tested this on Sun
2471         Studio 12 sparc (2007) and GCC 4.4.7 x86-64 (2012) as well as on
2472         more recent platforms like GCC 7.2.1 (2017) on Fedora 26 (both
2473         x86-64 and x86).
2474         * lib-src/make-docfile.c (close_emacs_globals): lispsym is now
2475         just an array of struct Lisp_Symbol, since struct Lisp_Symbol is
2476         now properly aligned.  All uses changed.
2477         * src/alloc.c (NEXT_FREE_LISP_STRING): Just use the new u.next
2478         member; this is simpler and safer than casting a pointer that
2479         might not be aligned properly.
2480         (aligned_Lisp_Symbol): Remove.  No longer needed, now that struct
2481         Lisp_Symbol is aligned properly.  All uses replaced with struct
2482         Lisp_Symbol.
2483         * src/lisp.h (GCALIGNED): Remove, as it does not work as expected:
2484         it can cause the natural alignment to be ignored.  All uses
2485         replaced by unions with a ‘char alignas (GCALIGNMENT)’ member as
2486         described below.
2487         (struct Lisp_Symbol, struct Lisp_Cons, struct Lisp_String):
2488         Change definition from ‘struct TAG { MEMBERS };’ to
2489         ‘struct TAG { union { struct { MEMBERS } s; char alignas
2490         (GCALIGNMENT) gcaligned; } u; };’.  This guarantees ‘struct TAG’
2491         to have an alignment that at least max (GCALIGNMENT, N) where N is
2492         its old alignment.  All uses like ‘PTR->MEMBER’ changed to
2493         ‘PTR->u.s.MEMBER’; these uses were supposed to be mostly private
2494         anyway.  Verify that the resulting ‘struct TAG’ is properly
2495         aligned for Emacs.
2496         (union vectorlike_header): New member ‘gcaligned’ to guarantee
2497         that this type, and its containing types like ‘struct Lisp_Subr’,
2498         ‘struct buffer’ and ‘struct thread_state’, are all properly
2499         aligned for Emacs.
2500         (struct Lisp_String): New union member ‘next’, for the benefit
2501         of NEXT_FREE_LISP_STRING.
2502         (union Aligned_Cons, union Aligned_String): Remove.  All uses
2503         replaced by struct Lisp_Cons and struct Lisp_String, since they
2504         are now properly aligned.
2505         (USE_STACK_CONS, USE_STACK_STRING): Simplify now that we can
2506         assume struct Lisp_Cons and struct Lisp_String are properly
2507         aligned.
2509 2017-11-13  Paul Eggert  <eggert@cs.ucla.edu>
2511         Change vectorlike from struct to union
2513         * src/lisp.h (vectorlike_headed): Change from struct to union.
2514         All uses changed.  Since it has only one member, this does not
2515         change semantics.  This is designed to simplify future changes
2516         needed to fix bugs like Bug#29040.  All uses changed.
2518 2017-11-12  Tom Tromey  <tom@tromey.com>
2520         Don't enable cursor-sensor-mode in mhtml-mode
2522         * lisp/textmodes/mhtml-mode.el (mhtml--last-submode): Update doc
2523         string.
2524         (mhtml-mode): Don't call cursor-sensor-mode.
2526 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
2528         * lisp/files.el (abbreviate-file-name): Doc fix.  (Bug#29267)
2530 2017-11-12  João Távora  <joaotavora@gmail.com>
2532         Unbreak interactive run of a flymake test (bug#29267)
2534         See https://debbugs.gnu.org/cgi/bugreport.cgi?bug=19657#20 for the
2535         technique used here.
2537         * test/lisp/progmodes/flymake-tests.el (ruby-backend):
2538         Let-bind abbreviated-home-dir.
2540 2017-11-12  Michael Albinus  <michael.albinus@gmx.de>
2542         Fix Bug#29225
2544         * src/fileio.c (Fset_file_acl): Report error only when
2545         acl_errno_valid returns true.  (Bug#29225)
2547         * test/lisp/net/tramp-tests.el (tramp-test24-file-acl)
2548         (tramp-test25-file-selinux): New tests.
2549         (tramp-test26-file-name-completion, tramp-test27-load)
2550         (tramp-test28-process-file, tramp-test29-start-file-process)
2551         (tramp-test30-interrupt-process, tramp-test31-shell-command)
2552         (tramp-test32-environment-variables)
2553         (tramp-test32-environment-variables-and-port-numbers)
2554         (tramp-test33-explicit-shell-file-name)
2555         (tramp-test34-vc-registered)
2556         (tramp-test35-make-auto-save-file-name)
2557         (tramp-test36-find-backup-file-name)
2558         (tramp-test37-make-nearby-temp-file)
2559         (tramp-test38-special-characters)
2560         (tramp-test38-special-characters-with-stat)
2561         (tramp-test38-special-characters-with-perl)
2562         (tramp-test38-special-characters-with-ls, tramp-test39-utf8)
2563         (tramp-test39-utf8-with-stat, tramp-test39-utf8-with-perl)
2564         (tramp-test39-utf8-with-ls, tramp-test40-file-system-info)
2565         (tramp-test41-asynchronous-requests)
2566         (tramp-test42-recursive-load, tramp-test43-remote-load-path)
2567         (tramp-test44-delay-load, tramp-test45-unload): Rename.
2569 2017-11-12  Alan Mackenzie  <acm@muc.de>
2571         CC Mode: Fix defun-open being recognized as brace-list-open at EOB.
2573         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Add handling
2574         for an open brace at EOB and nested braces inside an unclosed brace block.
2576 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
2578         Merge from Gnulib
2580         This incorporates:
2581         2017-11-11 faccessat: port to macOS (Bug#29231)
2582         2017-11-05 fstatat: pacify GCC on unusual platform
2583         * build-aux/config.guess, build-aux/config.sub:
2584         * doc/misc/texinfo.tex, lib/faccessat.c, lib/fstatat.c:
2585         * lib/unistd.in.h, m4/faccessat.m4, m4/unistd_h.m4:
2586         Copy from Gnulib.
2587         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
2589 2017-11-12  Paul Eggert  <eggert@cs.ucla.edu>
2591         Pacify GCC when configured --with-x-toolkit=no
2593         Without these changes, Emacs does not build on Fedora 26 x86-64
2594         when configured --with-x-toolkit=no --enable-gcc-warnings.
2595         * oldXMenu/Activate.c (XMenuActivate): Add FALLTHROUGH.
2596         * src/xterm.c (x_dispatch_event): Define only if
2597         USE_X_TOOLKIT || USE_MOTIF || USE_GTK.
2599 2017-11-12  Eli Zaretskii  <eliz@gnu.org>
2601         * lisp/find-dired.el (find-grep-dired): Doc fix.  (Bug#29262)
2603 2017-11-12  João Távora  <joaotavora@gmail.com>
2605         Fix more flymake-diag-region eob corner cases and add tests (bug#29201)
2607         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
2608         more eob corner cases.
2610         * test/lisp/progmodes/flymake-tests.el
2611         (eob-region-and-trailing-newline): New test.
2613 2017-11-11  Basil L. Contovounesios  <contovob@tcd.ie>
2615         Keep Man sections in natural order (bug#28998)
2617         * lisp/man.el (Man-build-section-alist): Reverse sections.
2619 2017-11-11  Stefan Monnier  <monnier@iro.umontreal.ca>
2621         * lisp/minibuffer.el: Install a workaround for bug#16274
2623         * lisp/minibuffer.el (completion--nth-completion): Avoid signaling an
2624         error when `md` is applied to another table.
2626 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
2628         Fix comparisons with tip_frame in GTK builds
2630         * src/xterm.c (x_update_begin, x_new_font):
2631         * src/xfns.c (Fx_display_monitor_attributes_list):
2632         * src/frame.c (Fframe_list) [USE_GTK]: Don't consider tip_frame a
2633         tooltip frame unless its 'tooltip' parameter is non-nil.  (Bug#26747)
2635 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
2637         Improve the documentation of M-n for entering file names
2639         * lisp/files.el (find-file, find-file-other-window)
2640         (find-file-other-frame): Mention file-name-at-point-functions in
2641         the doc string.  Reported by Florian Weimer <fw@deneb.enyo.de> in
2642         http://lists.gnu.org/archive/html/emacs-devel/2017-11/msg00224.html.
2644         * doc/emacs/mini.texi (Minibuffer History): Document
2645         file-name-at-point-functions and its effect on M-n when typing
2646         file names in the minibuffer.
2647         * doc/emacs/files.texi (File Names):
2648         * doc/emacs/mini.texi (Minibuffer File): Add a cross-reference to
2649         "Minibuffer History", where special features of M-n regarding
2650         files are described.
2652 2017-11-11  Eli Zaretskii  <eliz@gnu.org>
2654         Fix desktop auto-save timer when linum-mode is used
2656         * lisp/desktop.el (desktop-read): Use toplevel value of
2657         window-configuration-change-hook when deciding whether desktop
2658         auto-saving is enabled.  Suggested by Peter Neidhardt
2659         <pe.neidhardt@googlemail.com>.  (Bug#28945)
2661 2017-11-11  Olaf Rogalsky  <olaf.rogalsky@t-online.de>
2663         Fix "C-h k" in xterm-mouse-mode
2665         * lisp/help.el (help-read-key-sequence): Support "C-h k" for
2666         xterm-mouse-mode by calling read-key-sequence-vector instead of
2667         read-event.  (Bug#29150)
2669 2017-11-11  Paul Eggert  <eggert@cs.ucla.edu>
2671         Fix off-by-1 bug in --enable-checking=stringbytes
2673         Evidently nobody builds Emacs with --enable-checking=all,
2674         which is no surprise as it is so slow as to be unusable nowadays.
2675         Perhaps we should remove the slowest checks, or move them into
2676         another category, or speed them up, or something.
2677         * src/alloc.c (SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Fix off-by-one
2678         error in size calculation, which caused a failure when
2679         --enable-checking=stringbytes was used.  I introduced this bug in
2680         2016-09-08T01:08:45!eggert@cs.ucla.edu "Port flexible array
2681         members to GCC + valgrind".
2683 2017-11-10  Alan Mackenzie  <acm@muc.de>
2685         Correct the indentation of C99's compound literals.
2687         * lisp/progmodes/cc-engine.el (c-looking-at-statement-block): Amend so that
2688         if there is only syntactic whitespace in a brace block, it is regarded as a
2689         statement block.  Also, if there is no semicolon or comma delimiter, treat as
2690         a statement block when there is a keyword.
2691         (c-guess-basic-syntax): CASE 9 test: Regard a brace as starting a brace block
2692         when its contents indicate a brace block.
2694 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
2696         Improve the doc string of 'dired-isearch-filter-filenames'
2698         * lisp/dired-aux.el (dired-isearch-filter-filenames): Doc fix.
2699         (Bug#29215)
2701 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
2703         * lisp/isearch.el (search-invisible): Doc fix.  (Bug#29222)
2705 2017-11-10  Eli Zaretskii  <eliz@gnu.org>
2707         Fix display of line numbers in GTK builds
2709         * src/xdisp.c (should_produce_line_number) [USE_GTK]: Make sure
2710         tip_frame is indeed a tooltip frame, before disabling line numbers
2711         on it.  (Bug#27647)
2713         * src/dispextern.h (tip_frame): Add commentary describing the
2714         kludgey usage of this variable in GTK builds.
2716 2017-11-10  João Távora  <joaotavora@gmail.com>
2718         Fix previous change to flymake-diag-region (bug#29174)
2720         * lisp/progmodes/flymake.el (flymake-diag-region):
2721         Pass line and col to commit.
2723 2017-11-09  João Távora  <joaotavora@gmail.com>
2725         flymake-diag-region really returns nil if region is invalid (bug#29174)
2727         Reported by Lele Gaifax <lele@metapensiero.it>.
2729         * lisp/progmodes/flymake.el (flymake-diag-region): Really
2730         return nil if the region is invalid.
2732 2017-11-09  João Távora  <joaotavora@gmail.com>
2734         Flymake correctly highlights whole last line if eob (bug#29201)
2736         If a line/column pair indicates an end-of-buffer position, flymake
2737         should behave like the case where the last line of the buffer is
2738         referenced without a column indication.  This behavior is currently
2739         to highlight the whole last line.
2741         * lisp/progmodes/flymake.el (flymake-diag-region): Correct
2742         conditions of fallback to the fallback-eol local function.
2744 2017-11-09  João Távora  <joaotavora@gmail.com>
2746         Protect Flymake checkdoc backend against checkdoc errors (bug#29176)
2748         The function checkdoc-current-buffer may error if there are unbalanced
2749         parens, for example, but this shouldn't disable the
2750         elisp-flymake-checkdoc backend.
2752         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc): Use
2753         ignore-errors.
2755 2017-11-09  João Távora  <joaotavora@gmail.com>
2757         Sort entries of the Flymake diagnostics buffer (bug#29175)
2759         Reported by Lele Gaifax <lele@metapensiero.it>.
2761         * lisp/progmodes/flymake.el
2762         (flymake--diagnostics-buffer-entries): Sort results of flymake-diagnostics.
2764 2017-11-09  Alan Mackenzie  <acm@muc.de>
2766         Correctly indent C++14 brace lists which are a second argument to a function.
2768         In particular, don't indent contained brace lists in "staircase" fashion.
2769         This fixes bug #28623.
2771         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): When
2772         testing for being enclosed in parens, recognise also a brace directly
2773         following a comma, as well as a brace being the first thing inside the paren.
2774         Enhance the return value, by indicating when we're directly inside an open
2775         paren.
2776         (c-inside-bracelist-p): Add an extra argument ACCEPT-IN-PARAM which indicates
2777         whether we will accept a bracelist directly inside an open parenthesis.
2778         Simplify the manipulation of PAREN-STATE by dispensing with variable LIM and
2779         using c-pull-open-brace.  Enhance the return value, respecting the new argument.
2780         (c-guess-basic-syntax): Save a copy of the initial parse-state in the new
2781         variable STATE-CACHE.  Use this variable in place of C-STATE-CACHE throughout
2782         the function.  At CASE 7B, call c-inside-bracelist-p with extra argument nil.
2783         At CASE 9, call that function with extra argument t.
2785 2017-11-09  Eli Zaretskii  <eliz@gnu.org>
2787         Fix redisplay of overlay-arrows on GUI frames
2789         * src/xdisp.c (try_window_reusing_current_matrix)
2790         (try_cursor_movement): Disallow these optimizations if the buffer
2791         has overlay arrow(s) shown on the fringe(s).  (Bug#29198)
2793 2017-11-09  João Távora  <joaotavora@gmail.com>
2795         Protect Flymake tests against older Ruby and Perl (bug#29187)
2797         * test/lisp/progmodes/flymake-tests.el (perl-backend): Search
2798         for the error from the bottom.
2799         (ruby-backend): Protect against situation of bug#29187
2801 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2803         Fix URL cookie expiration bug
2805         Problem reported by Damien Cassou (Bug#29223).
2806         * lisp/url/url-cookie.el (url-cookie-expired-p):
2807         Fix typo in previous change, which caused unexpired cookies
2808         to be treated as expired and vice versa.
2810 2017-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2812         Use GCALIGNED properly for GCC
2814         Apparently GCC requires that ‘__attribute__ ((aligned (8)))’ must
2815         immediately follow the ‘struct’ keyword when aligning a structure.
2816         The attribute silently does not work if it follows a tag after the
2817         ‘struct’ keyword.  Who knew?  Anyway, this patch is designed to
2818         fix a SIGSEGV problem reported by John Mastro (Bug#29183).
2819         * lib-src/make-docfile.c (close_emacs_globals):
2820         * src/buffer.c (buffer_defaults, buffer_local_symbols):
2821         * src/lisp.h (DEFUN):
2822         * src/thread.c (main_thread):
2823         Put 'GCALIGNED' immediately after 'struct'.
2825 2017-11-09  Glenn Morris  <rgm@gnu.org>
2827         In f90.el, set fill-paragraph-function to a useful value
2829         * lisp/progmodes/f90.el (f90-mode-map) <menu>: Add fill-paragraph.
2830         (f90-mode): Set fill-paragraph-function.
2831         (f90-fill-paragraph): New command.
2833 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
2835         Fix to 2fddfb7ce7
2837         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
2838           Fix bogus paren wrapping.
2840 2017-11-08  Glenn Morris  <rgm@gnu.org>
2842         * admin/gitmerge.el (gitmerge-resolve-unmerged): Fix doc typo.
2844 2017-11-08  Charles A. Roelli  <charles@aurox.ch>
2846         Further workaround for faulty localtime() under macOS 10.6
2848         * lisp/org/org-clock.el (org-clock--oldest-date): Fix an issue
2849         when compiling on macOS 10.6 with a western time zone (a
2850         continuation of Bug#27736).  In particular, see:
2852         https://debbugs.gnu.org/cgi/bugreport.cgi?bug=27736#74
2854         and the first commit that attempted to work around this problem,
2855         "Workaround for faulty localtime() under macOS 10.6", bd49b6f1 of
2856         2017-09-30.
2858 2017-11-08  Eric Abrahamsen  <eric@ericabrahamsen.net>
2860         Handle object string name in eieio-persistent-convert-list-object
2862         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-convert-list-to-object):
2863           Starting to phase out the printing of object names in
2864           `object-write', handle either case.
2866 2017-11-08  Ryan C. Thompson  <rct@thompsonclan.org>
2868         Fix handling of nil PRED2 arg for completion-table-with-predicate
2870         * lisp/minibuffer.el (completion-table-with-predicate): Don't act as
2871         if strict is non-nil when pred2 is nil (Bug#27841).
2872         * test/lisp/minibuffer-tests.el
2873         (completion-table-with-predicate-test): Add a test for Bug#27841.
2875 2017-11-07  K. Handa  <handa@gnu.org>
2877         Describe Lao rendering problem
2879         * etc/PROBLEMS: Describe a workaround for the problem of Lao rendering
2880         by OpenTyype font.
2882 2017-11-07  K. Handa  <handa@gnu.org>
2884         Fix docstring of arabic-shaper-ZWNJ-handling
2886         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Adjusted
2887         the doctstring for addition of :set (bug#28312).
2889 2017-11-07  Antonin Houska  <ah@melesmeles.cz>  (tiny change)
2891         Handle single-line comments correctly (Bug#26049)
2893         * lisp/newcomment.el (comment-region-internal): Previously, the
2894         comment text had to contain at least one line break character for the
2895         ending extra line to be added.  Make the behavior more consistent by
2896         looking for end of line instead.
2897         (comment-region-internal): Remove trailing white space from the
2898         comment's initial line.
2900 2017-11-07  Glenn Morris  <rgm@gnu.org>
2902         * test/lisp/net/tramp-tests.el (tramp-test16-file-expand-wildcards):
2903         Clean up properly.
2905 2017-11-06  Stefan Monnier  <monnier@iro.umontreal.ca>
2907         * etc/PROBLEMS: Add URL to relevant issues for xterm+evil bug
2909 2017-11-06  Martin Rudalics  <rudalics@gmx.at>
2911         Document new treatment of 'comment-auto-fill-only-comments'
2913         * doc/lispref/text.texi (Auto Filling): Add reference to Emacs
2914         manual.  Add description of 'comment-auto-fill-only-comments'.
2915         * etc/NEWS: Mention new treatment of
2916         'comment-auto-fill-only-comments'.
2918 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
2920         Do not load Tramp unless `tramp-mode' is non-nil
2922         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Load Tramp only if
2923         `tramp-mode' is non-nil.
2924         (tramp-unload-file-name-handlers): Unload also
2925         `tramp-autoload-file-name-handler'.
2927         * test/lisp/net/tramp-tests.el (tramp-test42-delay-load): Extend test.
2929 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
2931         Prefer `customize-set-variable' in tramp.texi
2933         * doc/misc/tramp.texi (Configuration, Default Method, Default User)
2934         (Default Host, Remote shell setup, Auto-save and Backup)
2935         (Ad-hoc multi-hops, Frequently Asked Questions):
2936         Prefer `customize-set-variable' over `custom-set-variables'.
2938 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
2940         Fix last change in hscroll_window_tree
2942         * src/xdisp.c (hscroll_window_tree): When hscroll suspension is
2943         being disabled, set the frame's garbaged flag less eagerly.
2944         (Bug#29002)
2946 2017-11-05  Philipp Stephani  <phst@google.com>
2948         Ediff: add some missing documentation
2950         * lisp/vc/ediff.el (ediff-files, ediff-files3, ediff-buffers)
2951         (ediff-buffers3, ediff-merge-directories)
2952         (ediff-merge-directories-with-ancestor)
2953         (ediff-merge-directory-revisions)
2954         (ediff-merge-directory-revisions-with-ancestor)
2955         (ediff-windows-wordwise, ediff-windows-linewise)
2956         (ediff-regions-wordwise, ediff-regions-linewise)
2957         (ediff-merge-files, ediff-merge-files-with-ancestor)
2958         (ediff-merge-buffers, ediff-merge-buffers-with-ancestor)
2959         (ediff-merge-revisions, ediff-merge-revisions-with-ancestor)
2960         (ediff-patch-file, ediff-revision): Document missing arguments.
2961         (ediff-patch-buffer, ediff-revision): Add second space after
2962         period.
2963         (ediff-files-command, ediff3-files-command, ediff-merge-command)
2964         (ediff-merge-with-ancestor-command, ediff-directories-command)
2965         (ediff-directories3-command, ediff-merge-directories-command): Add
2966         documentation for the command line functions.
2968 2017-11-05  Justin Timmons  <justinmtimmons@gmail.com>  (tiny change)
2970         Support python virtualenv on w32 (Bug#24464)
2972         According to the virtualenv docs only POSIX systems follow the
2973         structure "/path/to/venv/bin/", while windows systems use
2974         "/path/to/venv/Scripts" for the location of the binary files, most
2975         importantly including the python interpreter (see:
2976         https://virtualenv.pypa.io/en/stable/userguide/#windows-notes).
2977         * lisp/progmodes/python.el (python-shell-calculate-exec-path): Use the
2978         "/path/to/venv/Scripts" for `windows-nt' machines.
2980 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
2982         Improve dired deletion error handling (Bug#28797)
2984         * lisp/dired.el (dired-internal-do-deletions): Use
2985         `error-message-string' to produce a human readable error message.
2987 2017-11-05  Noam Postavsky  <npostavs@gmail.com>
2989         Don't replace user input when completion prefix is empty (Bug#18951)
2991         * lisp/pcomplete.el (pcomplete-parse-arguments): Only replace user
2992         input if we produced a non-empty common completion stub.
2994 2017-11-05  Eli Zaretskii  <eliz@gnu.org>
2996         Return non-nil from gnutls-available-p under GnuTLS 2.x
2998         * doc/misc/emacs-gnutls.texi (Help For Users): Update the
2999         documentation of 'gnutls-available-p'.
3001         * etc/NEWS (GnuTLS): Mention the change in the value returned by
3002         'gnutls-available-p'.
3004         * src/gnutls.c (Fgnutls_available_p): Return non-nil when GnuTLS
3005         2.x is available.  (Bug#29147)
3007 2017-11-05  João Távora  <joaotavora@gmail.com>
3009         Fix Flymake help-echo functions across windows (bug#29142)
3011         * lisp/progmodes/flymake.el (flymake--highlight-line): Use
3012         with-selected-window.
3013         (flymake-goto-next-error): Call help-echo with a window and an
3014         overlay.
3016 2017-11-05  João Távora  <joaotavora@gmail.com>
3018         Add tests for Flymake backends for Ruby and Perl
3020         * test/lisp/progmodes/flymake-tests.el (perl-backend)
3021         (ruby-backend): New tests.
3022         (warning-predicate-rx-perl, warning-predicate-function-perl):
3023         Delete tests.
3025         * test/lisp/progmodes/flymake-resources/test.pl: Include an
3026         error the test file.
3028         * test/lisp/progmodes/flymake-resources/test.rb: file.
3030 2017-11-05  João Távora  <joaotavora@gmail.com>
3032         Add a Flymake backend for Perl
3034         Define a simple backend in perl-mode.el, which cperl-mode.el also
3035         uses.
3037         * lisp/progmodes/cperl-mode.el (cperl-mode): Add to
3038         flymake-diagnostic-functions.
3040         * lisp/progmodes/flymake-proc.el
3041         (flymake-proc-allowed-file-name-masks): Disable legacy backend
3042         for perl files.
3044         * lisp/progmodes/perl-mode.el (perl-flymake-command): New
3045         defcustom.
3046         (perl--flymake-proc): New buffer-local variable.
3047         (perl-flymake): New function.
3048         (perl-mode): Add to flymake-diagnostic-functions.
3050 2017-11-05  João Távora  <joaotavora@gmail.com>
3052         Add a Flymake backend for Ruby
3054         * lisp/progmodes/ruby-mode.el (ruby-flymake-command): New
3055         defcustom.
3056         (ruby--flymake-proc): New buffer-local variable.
3057         (ruby-flymake): New function.
3058         (ruby-mode): Add flymake-diagnostic-functions.
3060 2017-11-05  Lele Gaifax  <lele@metapensiero.it>
3062         Add a Flymake backend for Python (bug#28808)
3064         Implement new Flymake backend with related customizable settings.
3066         * lisp/progmodes/python.el (python-flymake-command)
3067         (python-flymake-command-output-pattern)
3068         (python-flymake-msg-alist): New defcustom.
3069         (python--flymake-parse-output): New function, able to parse
3070         python-flymake-command output accordingly to
3071         python-flymake-command-output-pattern.
3072         (python-flymake): New function implementing the backend
3073         interface using python--flymake-parse-output for the real
3074         work.
3075         (python-mode): Add python-flymake to flymake-diagnostic-functions.
3077 2017-11-05  Michael Albinus  <michael.albinus@gmx.de>
3079         Allow "%" in Tramp host names
3081         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name): Hexify also host.
3083         * lisp/net/tramp.el (tramp-host-regexp): Allow "%" in host names.
3085 2017-11-04  Noam Postavsky  <npostavs@users.sourceforge.net>
3087         Use hybrid malloc for FreeBSD (Bug#28308)
3089         FreeBSD aarch64 does not provide sbrk, so gmalloc cannot be used; when
3090         using system malloc dumping does not work correctly (allocated data is
3091         invalid after dumping).
3092         * configure.ac: Set hybrid_malloc for freebsd.
3093         * src/gmalloc.c (gdefault_morecore) [!HAVE_SBRK]: Don't call sbrk.
3095 2017-11-04  Charles A. Roelli  <charles@aurox.ch>
3097         Add html-, mhtml- and python-mode support to semantic symref
3099         * lisp/cedet/semantic/symref/grep.el
3100         (semantic-symref-filepattern-alist): Fix the entry for
3101         'html-mode', which used a regexp-like syntax where only glob
3102         syntax is permitted.  As a result, 'xref-find-references' (M-?)
3103         can now find references in HTML files.  Also duplicate the same
3104         entry for the sake of 'mhtml-mode', and add a new one for
3105         'python-mode'.
3106         (semantic-symref-derive-find-filepatterns): In the documentation,
3107         clarify that returned patterns must follow the glob syntax.  Fix
3108         an 'if' test that always evaluates to nil.
3109         (semantic-symref-tool-grep):
3110         (semantic-symref-perform-search): Fix typos.
3112 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
3114         Improve documentation of 'window-scroll-functions'
3116         * doc/lispref/windows.texi (Window Hooks): Clarify the values of
3117         arguments of 'window-scroll-functions' functions.
3119         * src/xdisp.c (syms_of_xdisp) <window-scroll-functions>: Doc fix.
3121 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
3123         Fix subtle problems in tabulated-list-mode with line numbers
3125         * lisp/emacs-lisp/tabulated-list.el
3126         (tabulated-list-watch-line-number-width): Call
3127         tabulated-list-init-header instead of tabulated-list-revert.
3128         (tabulated-list-window-scroll-function): New function.
3129         (tabulated-list-mode): Put 'tabulated-list-window-scroll-function'
3130         on the buffer-local 'window-scroll-functions' list.
3132 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
3134         Make gdb-non-stop-setting default to nil on MS-Windows
3136         * lisp/progmodes/gdb-mi.el (gdb-non-stop-setting): Now nil on
3137         MS-Windows.
3139 2017-11-04  Mike Gulick  <mike.gulick@mathworks.com>  (tiny change)
3141         Fix gdb-mi prompt after "attach PID" command
3143         * lisp/progmodes/gdb-mi.el (gdbmi-bnf-console-stream-output): Set
3144         gdb-first-done-or-error non-nil.  (Bug#29020)
3146 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
3148         Fix doc string of 'window-configuration-change-hook'
3150         * src/window.c (syms_of_window) <window-configuration-change-hook>:
3151         Doc fix.  (Bug#29049)
3153 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
3155         Improve documentation of window hooks
3157         * doc/lispref/windows.texi (Window Hooks): Fix the description of
3158         window-configuration-change-hook.  (Bug#29049)
3159         <run-window-scroll-functions, run-window-configuration-change-hook>:
3160         Document these functions.
3162 2017-11-04  Eli Zaretskii  <eliz@gnu.org>
3164         Fix hscroll suspension after cursor motion
3166         * src/xdisp.c (hscroll_window_tree): Trigger a thorough redisplay
3167         of the window when temporary suspension of hscrolling is
3168         disabled.  (Bug#29002)
3170 2017-11-03  Alan Mackenzie  <acm@muc.de>
3172         Introduce a function to CC Mode which displays the current function name
3174         Remove an erroneous interactive specification from two functions.
3176         * lisp/progmodes/cc-cmds.el (c-display-defun-name): New command.
3177         (c-defun-name, c-cpp-define-name): Remove interactive specification.
3179         * lisp/progmodes/cc-mode.el (c-mode-base-map): Add binding C-c C-z for the new
3180         command.
3182         * doc/misc/cc-mode.texi (Other Commands): Add documentation for the new
3183         command.
3185 2017-11-03  Eli Zaretskii  <eliz@gnu.org>
3187         Fix typos in ediff-wind.el
3189         * lisp/vc/ediff-wind.el (ediff-setup-windows-multiframe-merge):
3190         Fix typos in commentary.  (Bug#29138)
3192 2017-11-03  João Távora  <joaotavora@gmail.com>
3194         Examine tex-chktex--process in the correct buffer
3196         As in other Flymake backends, the process sentinel might run in
3197         arbitrary buffers where this variable's value doesn't make sense.
3199         For a way to trigger a problem due to this, see discussion starting in
3200         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00645.html
3202         * lisp/textmodes/tex-mode.el (tex-chktex): Use
3203         with-current-buffer.
3205 2017-11-03  Stephen Leake  <stephen_leake@stephe-leake.org>
3207         * nt/INSTALL.W64: Update to current mingw64 install instructions
3209 2017-11-03  João Távora  <joaotavora@gmail.com>
3211         Don't resignal errors in flymake-diag-region
3213         * lisp/progmodes/flymake.el (flymake-diag-region): Use
3214         flymake-log instead of flymake-error.
3216 2017-11-03  João Távora  <joaotavora@gmail.com>
3218         New xref-quit-and-goto-xref command bound to TAB (bug#28814)
3220         This is like xref-goto-xref, but quits the *xref* window just before
3221         the user jump to ref.
3223         * lisp/progmodes/xref.el (xref--show-location): Handle 'quit
3224         value for SELECT.
3225         (xref-goto-xref): Take optional QUIT arg.
3226         (xref-quit-and-goto-xref): New command.
3227         (xref--xref-buffer-mode-map): Bind "Q" and "TAB" to
3228         xref-quit-and-goto-xref.
3230         * doc/emacs/maintaining.texi (Xref Commands): Describe new bindings in
3231         *xref*.
3233         * etc/NEWS (Xref): Describe new binding.
3235 2017-11-03  João Távora  <joaotavora@gmail.com>
3237         Allow split-window-sensibly to split threshold in further edge case
3239         As a fallback, and to avoid creating a frame, split-window-sensibly
3240         would previously disregard split-height-threshold if the window to be
3241         split is the frame's root window.
3243         This change generalizes that: it disregards the threshold if the
3244         window to be split is the frame's only _usable_ window (it is either
3245         the only one, as before, or all the other windows are dedicated to
3246         some buffer and thus cannot be touched).
3248         This is required for the fix to bug#28814.
3250         * lisp/window.el (split-height-threshold): Adjust doc to match
3251         split-window-sensibly.
3252         (split-window-sensibly): Also disregard threshold if all other
3253         windows are dedicated.
3255 2017-11-03  João Távora  <joaotavora@gmail.com>
3257         Honor window-switching intents in xref-find-definitions (bug#28814)
3259         When there is more than one xref to jump to, and an *xref* window
3260         appears to help the user choose, the original intent to open a
3261         definition in another window or frame is remembered when the choice to
3262         go to or show a reference is finally made.
3264         * lisp/progmodes/xref.el (xref--show-pos-in-buf): Rewrite.
3265         (xref--original-window-intent): New variable.
3266         (xref--original-window): Rename from xref--window and move up
3267         here for clarity.
3268         (xref--show-pos-in-buf): Rewrite.  Don't take SELECT arg here.
3269         (xref--show-location): Handle window selection decision here.
3270         (xref--window): Rename to xref--original-window.
3271         (xref-show-location-at-point): Don't attempt window management here.
3272         (xref--show-xrefs): Ensure display-action intent is saved.
3274 2017-11-03  Paul Pogonyshev  <pogonyshev@gmail.com>
3276         * lisp/emacs-lisp/generator.el (iter-do): Add a debug declaration.
3278 2017-11-03  Stefan Monnier  <monnier@iro.umontreal.ca>
3280         * lisp/progmodes/flymake.el (flymake-start): Fix dead buffer case
3282         Don't try to flymake-start within a buffer that doesn't exist any more.
3284 2017-11-03  Basil L. Contovounesios  <contovob@tcd.ie>
3286         Fix buffer name comparison in async shell-command
3288         * lisp/simple.el (shell-command): Keep track of output-buffer
3289         by its name, not by its object.  (Bug#28997)
3291 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
3293         Change GCALIGNMENT back to an integer literal
3295         * src/lisp.h (GCALIGNMENT): Change it back to a macro
3296         that expands to a literal integer constant, for older GCC.
3297         I had mistakenly thought that only MSVC had the problem.
3298         Problem repored by Eli Zaretskii (Bug#29040#69).
3300 2017-11-03  Paul Eggert  <eggert@cs.ucla.edu>
3302         * src/lisp.h (GCALIGNED): Clarify comment (Bug#29040).
3304 2017-11-03  Hong Xu  <hong@topbug.net>
3306         Improve the doc of eshell-cmpl-* custom variables (Bug#25069)
3308         * lisp/eshell/em-cmpl.el (eshell-cmpl--custom-variable-docstring): New
3309         function to generate the docstring for custom variables derived from
3310         pcomplete-* variables.
3311         (eshell-cmpl-file-ignore, eshell-cmpl-dir-ignore)
3312         (eshell-cmpl-ignore-case, eshell-cmpl-autolist)
3313         (eshell-cmpl-suffix-list, eshell-cmpl-recexact)
3314         (eshell-cmpl-man-function, eshell-cmpl-compare-entry-function)
3315         (eshell-cmpl-expand-before-complete, eshell-cmpl-cycle-completions)
3316         (eshell-cmpl-cycle-cutoff-length, eshell-cmpl-restore-window-delay)
3317         (eshell-command-completion-function, eshell-cmpl-command-name-function)
3318         (eshell-default-completion-function, eshell-cmpl-use-paring): Use it
3319         to set the docstring.
3321 2017-11-02  Alan Third  <alan@idiocy.org>
3323         Fix mouse-scrollbar offset on GNUstep and old macOS (bug#29053)
3325         * src/nsterm.m (EmacsScroller::mouseDown,
3326         EmacsScroller::mouseDragged): Take scroller buttons into account when
3327         calculating scroller knob position.
3329 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
3331         Merge from Gnulib
3333         This incorporates:
3334         2017-10-29 timespec: prefer ‘assume’ to ‘assure’
3335         2017-10-27 timespec.h: use "assure" to avoid a spurious warning
3336         2017-10-09 getopt-posix: Fix build failure if ac_cv_header_getopt_h=no
3337         * build-aux/config.guess, build-aux/config.sub:
3338         * lib/timespec.h, lib/unistd.in.h:
3339         Copy from Gnulib.
3341 2017-11-02  Paul Eggert  <eggert@cs.ucla.edu>
3343         Fix alignment portability problems
3345         Do not assume that the natural alignment of Lisp objects is a
3346         multiple of GCALIGNMENT.  This improves on the portability of the
3347         recent fix for Bug#29040.
3348         * lib-src/make-docfile.c (close_emacs_globals):
3349         * src/buffer.c (buffer_defaults, buffer_local_symbols):
3350         * src/lisp.h (DEFUN):
3351         * src/thread.c (main_thread):
3352         Use GCALIGNED, not alignas (GCALIGNMENT).
3353         * src/alloc.c (COMMON_MULTIPLE):
3354         Move back here from lisp.h, since it is no longer used elsewhere.
3355         * src/lisp.h (GCALIGNMENT): No longer a macro, since we need not
3356         worry about MSVC.  Omit no-longer-needed consistency check.
3357         * src/thread.c (THREAD_ALIGNMENT): Remove.
3359 2017-11-02  Simen Heggestøyl  <simenheg@gmail.com>
3361         Fix completion of colon after CSS property (Bug#29056)
3363         * lisp/textmodes/css-mode.el (css-completion-at-point): Don't insert
3364         ": ;" after completing a CSS property unless the rest of the line is
3365         empty.
3367 2017-11-02  Stefan Monnier  <monnier@iro.umontreal.ca>
3369         * src/alloc.c (sweep_symbols): Tweak last change
3371         Avoid the double-free without the extra check.  Add an explanatory comment.
3373 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
3375         In frame parameters documentation mention desktop saving/restoring
3377         * doc/lispref/frames.texi (Frame Parameters): Mention that
3378         applications have to care about which parameters they want to
3379         get saved and restored by the desktop library.
3381 2017-11-02  Martin Rudalics  <rudalics@gmx.at>
3383         Don't have frameset save the 'client' parameter (Bug#29067)
3385         * lisp/frameset.el (frameset-persistent-filter-alist): Never
3386         save 'client' parameter (Bug#29067).
3388 2017-11-02  Gemini Lasswell  <gazally@runbox.com>
3390         Handle generic variables in cl-defgeneric Edebug spec
3392         *lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix Edebug spec to
3393         match (setf name) and replace incorrect cl-lambda-list with listp
3394         (Bug#27747).
3396 2017-11-02  Noam Postavsky  <npostavs@gmail.com>
3398         Give a more sensible message if file-attributes fails (Bug#29070)
3400         * lisp/server.el (server-ensure-safe-dir): Don't claim the directory
3401         is a file if we fail to get anything from `file-attributes'.
3403 2017-11-01  Andreas Schwab  <schwab@linux-m68k.org>
3405         Avoid wrong value from file-attributes on Linux kernel before 3.6
3407         * src/dired.c (file_attributes): Handle unsupported fstat on O_PATH
3408         descriptors.  (bug#29070)
3410 2017-11-01  Noam Postavsky  <npostavs@gmail.com>
3412         Fix customization of debugger-print-function (Bug#29077)
3414         * lisp/emacs-lisp/debug.el (debugger-print-function): The :options
3415         keyword has no effect for :type 'function, use :type '(choice ...)
3416         instead.
3418 2017-10-31  Eli Zaretskii  <eliz@gnu.org>
3420         Avoid duplicate calls to xfree for the same pointer
3422         * src/alloc.c (sweep_symbols): Avoid freeing an already freed
3423         pointer to a symbol's buffer-local value.  (Bug#29066)
3425 2017-10-31  Phil Sainty  <psainty@orcon.net.nz>
3427         Don't clobber docstrings of explicitly-defined mode hook variables
3429         * lisp/emacs-lisp/derived.el (define-derived-mode):
3430         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): When defining the
3431         mode hook variable, do not clobber pre-existing docstrings.
3433 2017-10-31  Martin Rudalics  <rudalics@gmx.at>
3435         Avoid fullscreen ediff control frames by default (Bug#29026)
3437         * lisp/vc/ediff-wind.el (ediff-control-frame-parameters):
3438         Add parameter to avoid fullscreen control frames (Bug#29026).
3440 2017-10-31  Katsumi Yamaoka  <yamaoka@jpl.org>
3442         Fix the bug#24034 change (revno 9eb028f) causing infloop (bug#29047)
3444         * lisp/net/shr.el (shr-fill-line): Copy only face and image-displayer
3445         properties to gaps (bug#29047).
3447 2017-10-30  Eli Zaretskii  <eliz@gnu.org>
3449         Fix a typo in the ELisp manual
3451         * doc/lispref/functions.texi (Obsolete Functions): Fix a typo.
3452         (Bug#29068)
3454 2017-10-30  Martin Rudalics  <rudalics@gmx.at>
3456         Fix doc and doc-strings for minibuffer window related functions (Bug#28978)
3458         These fixes were suggested by Drew Adams.
3460         * src/window.c (Fminibuffer_selected_window): Disambiguate
3461         doc-string.
3462         * doc/lispref/minibuf.texi (Intro to Minibuffers)
3463         (Minibuffer Windows, Recursive Mini, Minibuffer Misc):  Avoid
3464         the term "currently active minibuffer window".  Disambiguate
3465         documentation of `minibuffer-selected-window'.
3467 2017-10-30  Alan Mackenzie  <acm@muc.de>
3469         Fix "Args out of range" error in c-determine-limit.  Fixes bug #28598.
3471         * lisp/progmodes/cc-engine.el (c-determine-limit-get-base): If the candidate
3472         position for BASE is below point-min, scan forward to the end of the current
3473         literal.
3474         (c-determine-limit): Add an extra arm to the final cond form, testing for BASE
3475         being at point-min.
3477 2017-10-30  Stefan Monnier  <monnier@iro.umontreal.ca>
3479         * lisp/progmodes/perl-mode.el: Fix electric indentation with RET
3481         (perl-electric-noindent-p): The `eolp' check should not apply to RET.
3482         Reported in https://emacs.stackexchange.com/questions/36337.
3484 2017-10-29  Tom Tromey  <tom@tromey.com>
3486         Extend mhtml submode region when in comment
3488         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Extend
3489         submode when start happens to be in a comment.
3491 2017-10-29  Tom Tromey  <tom@tromey.com>
3493         Fix mthml submode lighting at end of buffer
3495         * lisp/textmodes/mhtml-mode.el (mhtml--submode-lighter): Handle end of
3496         buffer correctly.
3498 2017-10-29  Tom Tromey  <tom@tromey.com>
3500         Remember more variables in mhtml-mode
3502         * lisp/textmodes/mhtml-mode.el (mhtml--crucial-variable-prefix): Add
3503         "completion-" and "major-mode".
3504         (mhtml--variable-prefix): Remove "major-mode".
3506 2017-10-29  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
3508         * etc/NEWS (EUDC): Deprecate BBDB 2.x backward compatibility.
3510 2017-10-29  Martin Rudalics  <rudalics@gmx.at>
3512         Fix minibuffer window related docs and strings (Bug#28978)
3514         * src/frame.c (Vdefault_minibuffer_frame): Fix doc-string.
3515         * src/window.c (Fminibuffer_selected_window): Fix doc-string.
3516         * doc/lispref/frames.texi (Buffer Parameters): Rewrite
3517         description of `minibuffer' parameter.
3518         * doc/lispref/minibuf.texi (Minibuffer Windows): Reorder
3519         entries and partly rewrite section.
3520         (Minibuffer Misc): Clarify description of
3521         `minibuffer-selected-window'.
3522         * etc/NEWS: Mention new semantics of 'minibuffer' frame
3523         parameter.
3525 2017-10-29  Mark Oteiza  <mvoteiza@udel.edu>
3527         Add ChkTeX flymake backend for latex-mode
3529         * lisp/textmodes/tex-mode.el (tex-flymake): New custom group.
3530         (tex-chktex-program, tex-chktex-extra-flags): New custom variables.
3531         (latex-mode): Add backend to flymake-diagnostic-functions.
3532         (tex-chktex--process): New variable.
3533         (tex-chktex-command, tex-chktex): New functions.
3535 2017-10-29  Glenn Morris  <rgm@gnu.org>
3537         Fix doc typos
3539         * lisp/simple.el (line-move-ignore-invisible):
3540         * lisp/sort.el (sort-regexp-fields):
3541         * lisp/cedet/ede.el (project-add-file):
3542         * lisp/gnus/message.el (message-bogus-recipient-p):
3543         * lisp/international/mule.el (define-coding-system):
3544         * lisp/progmodes/ebrowse.el (ebrowse-member-buffer-object-menu):
3545         * lisp/progmodes/xscheme.el (xscheme-allow-output-p)
3546         (scheme-interaction-mode, scheme-debugger-mode)
3547         (xscheme-yank-pop, xscheme-yank-push): Doc fixes.
3549 2017-10-29  Glenn Morris  <rgm@gnu.org>
3551         Fix some duplicate word typos
3553         * doc/misc/ede.texi (ede-target):
3554         * doc/misc/flymake.texi (Using Flymake):
3555         * doc/misc/gnus.texi (The namazu Engine): Fix typos.
3557 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
3559         * doc/lispref/commands.texi (Adjusting Point): Fix wording. (Bug#29042)
3561 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
3563         Avoid segfaults in 64-bit Windows builds
3565         * src/lisp.h (COMMON_MULTIPLE): Move here from alloc.c.
3566         * src/thread.c (THREAD_ALIGNMENT): New macro.
3567         (main_thread): Use THREAD_ALIGNMENT to align propertly.  (Bug#29040)
3569 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
3571         Fix conversion of pixel coordinates to buffer position
3573         * src/dispnew.c (buffer_posn_from_coords): Adapt to
3574         auto-hscroll-mode == current-line.
3576 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
3578         Fix doc strings in desktop.el
3580         * lisp/desktop.el (desktop-auto-save-timeout)
3581         (desktop-auto-save-set-timer): Doc fixes.  (Bug#28945)
3583 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
3585         Add Index to ERT manual
3587         * doc/misc/ert.texi: Add @syncodeindex directives.
3588         (Index): New node.
3589         (Top): Add Index to the top-level menus.
3590         Add index entries to all nodes.
3592 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
3594         Make manuals and NEWS consistent
3596         * etc/NEWS: Fix markings on several entries, and rearrange others
3597         as needed.
3599         * doc/emacs/programs.texi (Hideshow): Document the new
3600         outline-like bindings.
3601         * doc/emacs/search.texi (Query Replace): Document 'u' and 'U'.
3603 2017-10-28  Martin Rudalics  <rudalics@gmx.at>
3605         Don't allow (minibuffer-window-active-p nil) to return t
3607         * lisp/window.el (minibuffer-window-active-p): Return t
3608         only if WINDOW is a live window.
3610 2017-10-28  Eli Zaretskii  <eliz@gnu.org>
3612         Clarify obsolescence message for 'whitespace-tab'
3614         * lisp/whitespace.el (whitespace-tab): Make the obsolescence
3615         message more clear about the replacement.
3617 2017-10-28  Glenn Morris  <rgm@gnu.org>
3619         Fix some duplicate words typos
3621         * lisp/erc/erc.el (erc-hide-current-message-p):
3622         * lisp/progmodes/flymake-proc.el (flymake-proc-diagnostic-type-pred):
3623         * doc/lispref/display.texi (Bidirectional Display, Delayed Warnings):
3624         * doc/lispref/functions.texi (Defining Functions):
3625         * doc/lispref/os.texi (Terminal-Specific):
3626         * doc/misc/sem-user.texi (Analyzer Debug):
3627         * doc/misc/srecode.texi (Special Variables): Fix typos.
3629 2017-10-28  Glenn Morris  <rgm@gnu.org>
3631         * lisp/button.el (button-activate): Fix doc typo.
3633         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Fix doc typo.
3635 2017-10-28  Glenn Morris  <rgm@gnu.org>
3637         Fix some doc typos
3639         * lisp/calendar/todo-mode.el (todo-next-item)
3640         (todo-previous-item, todo-toggle-item-header):
3641         * lisp/window.el (move-to-window-group-line):
3642         * src/editfns.c (Fformat):
3643         * test/lisp/calendar/todo-mode-tests.el (todo-test-move-item05):
3644         Fix doc typos.
3646 2017-10-27  Ken Brown  <kbrown@cornell.edu>
3648         Fix startup display on Cygwin
3650         * src/xterm.c (x_make_frame_visible) [CYGWIN]: Restore code that
3651         forces input to be read.  (Bug#24091)
3653 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
3655         * src/fileio.c (Fset_default_file_modes): Fix typo in doc string.
3657         * lisp/dired.el (dired-find-alternate-file): Doc fix.  (Bug#28963)
3659 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
3661         Improve documentation of how faces are applied to display stings
3663         * doc/lispref/display.texi (Displaying Faces): Describe how the
3664         faces of the "underlying" text affect overlay and display strings.
3665         (Display Margins): Add a cross-reference to "Displaying Faces".
3667 2017-10-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
3669         Improve pixel-scroll-mode
3671         Scroll vertically by number of pixels returned by
3672         'frame-char-height' with or without horizontally scrolled.
3673         (Bug#28922)
3675         * lisp/pixel-scroll.el (pixel-resolution-fine-flag): When t, scroll
3676         by number of pixels returned by 'frame-char-height'.
3677         (pixel-scroll-up): Scroll by 'frame-char-height'. Fix algorithm to
3678         move cursor to avoid unexpected jump.
3679         (pixel-scroll-down): Scroll by 'frame-char-height'.
3680         (pixel-bob-at-top-p): Consider number of pixels that is about to
3681         scroll.
3682         (pixel-posn-y-at-point): Consider existence of an overlay string.
3683         Return nil when horizontally scrolled.
3684         (pixel-point-at-top-p): Consider number of pixels that is about to
3685         scroll. Use different algorithm when horizontally scrolled.
3686         (pixel-point-at-bottom-p): Consider number of pixels that is about
3687         to scroll. Return nil when horizontally scrolled.
3688         (pixel-scroll-pixel-down): Move cursor when horizontally scrolled.
3689         (pixel--whistlestop-line-up): Change cosmetics and move cursor when
3690         horizontally scrolled.
3691         (pixel-line-height): Call 'pixel-visual-line-height' instead of
3692         'line-pixel-height'.
3693         (pixel-visual-line-height): New function to return height in pixels
3694         of text line where cursor is with or without horizontally scrolled,
3695         considering response of display engine.
3696         (pixel-visible-pos-in-window): New function to return position of
3697         a char shown on text line where cursor is on screen with or without
3698         horizontally scrolled.
3700 2017-10-27  Daniel Lublin  <daniel@lublin.se>  (tiny change)
3702         Support Certification Authority Authorization in dns-mode.el
3704         * lisp/textmodes/dns-mode.el (dns-mode-types): Add "CAA".
3705         (Bug#28911)
3707 2017-10-27  Eli Zaretskii  <eliz@gnu.org>
3709         Improve documentation of set-default-file-modes
3711         * src/fileio.c (Fset_default_file_modes): Doc fix.  (Bug#28875)
3713         * doc/lispref/files.texi (Changing Files): Clarify how the bits in
3714         the argument of set-default-file-modes are used for setting file
3715         permissions.
3717 2017-10-27  Ulf Jasper  <ulf.jasper@web.de>
3719         Fix documentation of `newsticker-new-item-functions' (bug#29023).
3721         * lisp/net/newst-backend.el (newsticker-new-item-functions),
3722         (newsticker-new-item-functions-sample),
3723         (newsticker-download-enclosures): Fix docstring, rename
3724         variable feed to feedname (bug#29023).
3726         * doc/misc/newsticker.texi (Automatic Processing)
3727         (Automatic Processing): Fix documentation of
3728         `newsticker-new-item-functions' (bug#29023).
3730 2017-10-27  Tino Calancha  <tino.calancha@gmail.com>
3732         Require seq in rmc.el
3734         * lisp/emacs-lisp/rmc.el: Require seq (Bug#28975).
3735         * test/lisp/emacs-lisp/rmc-tests.el (test-read-multiple-choice): Add test.
3737 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
3739         Make an example code introduced in the Gnus info work (bug#29008)
3741         You can find it in the bottom of (info "(gnus)Foreign Groups").
3742         NOTE: this change is worth being merged to the trunk.
3744         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-emacs-bug-group):
3745         Allow a string for bug# (bug#29008).
3747 2017-10-27  Katsumi Yamaoka  <yamaoka@jpl.org>
3749         Enable gnus-read-ephemeral-* to run multiple times (bug#29008)
3751         NOTE: *DO NOT* merge this change to the trunk.
3753         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-gmane-group)
3754         (gnus-read-ephemeral-bug-group): Make it work for any number of times
3755         for the case `url-automatic-caching' is set (bug#29008).
3757 2017-10-27  Paul Eggert  <eggert@cs.ucla.edu>
3759         Port thread.c to OpenBSD ARM
3761         Problem reported by Jeremie Courreges-Anglas (Bug#29005).
3762         * src/thread.c (main_thread): Align to GCALIGNMENT.
3764 2017-10-26  Alan Mackenzie  <acm@muc.de>
3766         Fix another "wrong side of point" error in CC Mode.
3768         This fixes (a follow-up to) bug #28850.
3769         A internal generated form for scanning text to fontify had a LIMIT parameter.
3770         It also locally bound LIMIT to a value possibly beyond the original LIMIT,
3771         allowing point to move beyond the original LIMIT, and to create the wrong side
3772         error.  Fix it by checking point is not beyond LIMIT in the outer context
3773         before using it.
3775         * lisp/progmodes/cc-fonts.el (c-make-font-lock-search-form): Add a new
3776         parameter CHECK-POINT which, when non-nil, directs the function to generate a
3777         check on point.
3778         (c-make-font-lock-context-search-function): Invoke the above function with new
3779         argument value t.
3781 2017-10-26  Michael Albinus  <michael.albinus@gmx.de>
3783         Fix Bug#28959
3785         * lisp/net/tramp.el (tramp-handle-find-backup-file-name):
3786         Use `tramp-tramp-file-p' rather than `tramp-file-name-p'.  Add
3787         hop to backup file name.  (Bug#28959)
3789         * test/lisp/net/tramp-tests.el (tramp-test34-find-backup-file-name):
3790         New test.
3791         (tramp-test35-make-nearby-temp-file)
3792         (tramp-test36-special-characters)
3793         (tramp-test36-special-characters-with-stat)
3794         (tramp-test36-special-characters-with-perl)
3795         (tramp-test36-special-characters-with-ls, tramp-test37-utf8)
3796         (tramp-test37-utf8-with-stat, tramp-test37-utf8-with-perl)
3797         (tramp-test37-utf8-with-ls, tramp-test38-file-system-info)
3798         (tramp-test39-asynchronous-requests)
3799         (tramp-test40-recursive-load, tramp-test41-remote-load-path)
3800         (tramp-test42-delay-load, tramp-test43-unload): Rename.
3802 2017-10-26  Paul Eggert  <eggert@cs.ucla.edu>
3804         Fix duplicate .o file on QNX
3806         * configure.ac (CYGWIN_OBJ): Leave empty on QNX.
3807         Problem reported by Elad Lahav in:
3808         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00750.html
3810 2017-10-26  Dmitry Gutov  <dgutov@yandex.ru>
3812         Fix two js indentation problems
3814         Fix intentation problems reported in
3815         https://github.com/mooz/js2-mode/issues/463.
3816         * lisp/progmodes/js.el (js--continued-expression-p):
3817         Check syntax state after /.
3818         (js--multi-line-declaration-indentation):
3819         Check syntax state before "const".
3821 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
3823         Update documentation for windows build
3825         * admin/nt/dist-build/README-scripts: New File.
3827 2017-10-25  Alan Mackenzie  <acm@muc.de>
3829         Fix a "wrong side of point" error in CC Mode.  Fixes bug #28850.
3831         The cause was a scanning over a bracket pair taking us beyond the supplied
3832         LIMIT parameter in c-forward-declarator.
3834         * lisp/progmodes/cc-engine.el (c-forward-declarator): Add three checks (<
3835         (point) limit) whilst dealing with tokens after the declared identifier.
3837         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Don't supply a LIMIT
3838         argument to `c-forward-declarator' (twice), since we want to fontify up till
3839         the end of a declarator, not an arbitrary jit-lock chunk end.
3841 2017-10-25  Stefan Monnier  <monnier@iro.umontreal.ca>
3843         Fix autoload of flymake from elisp-mode during bootstrap (bug#28994)
3845         * lisp/loadup.el: add `progmodes` to load-path so we can find flymake.el.
3846         * lisp/kmacro.el: Require `replace` since we use query-replace-map.
3847         * lisp/replace.el: Require `text-mode` since we use text-mode-map.
3849 2017-10-25  Alan Third  <alan@idiocy.org>
3851         Fix non-native fullscreen on NS (bug#28872)
3853         * src/nsterm.m (EmacsView::updateFrameSize): Handle case where
3854         FRAME_TOOLBAR_HEIGHT returns a negative number.  Force WM to set size
3855         of frame.
3857 2017-10-25  Michael Albinus  <michael.albinus@gmx.de>
3859         Fix Bug#28982
3861         * admin/MAINTAINERS: Add test/lisp/url/url-tramp-tests.el.
3863         * lisp/url/url-tramp.el (url-tramp-convert-url-to-tramp)
3864         (url-tramp-convert-tramp-to-url): Adapt to recent Tramp changes.
3866         * test/lisp/url/url-tramp-tests.el: New file.  (Bug#28982)
3868 2017-10-25  Phillip Lord  <phillip.lord@russet.org.uk>
3870         Fix windows build errors
3872         * admin/nt/dist-build/build-zips.sh: Correct name of zip file, build
3873           64 bit first
3875 2017-10-25  Noam Postavsky  <npostavs@gmail.com>
3877         Fix compile warning for non-w32 builds
3879         Since 2017-07-25 "ls-lisp: Add an unload function and enable lexical
3880         binding", the non-w32 builds would treat the undeclared
3881         w32-collate-ignore-punctuation variable as lexical.
3882         * lisp/ls-lisp.el (top-level): Declare it as a dynamic variable.
3884 2017-10-25  David Glasser  <glasser@davidglasser.net>  (tiny change)
3886         Display commit in package description, if available (Bug#28637)
3888         MELPA includes a :commit field in its
3889         packages (https://github.com/melpa/package-build/pull/6).  You can use
3890         this to tell if MELPA has processed a recently-merged change.  This
3891         commit adds that metadata to the package description buffer.
3893         * lisp/emacs-lisp/package.el: Display commit in package description.
3895 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
3897         Port to QNX
3899         Simplified version of a patch proposed by Elad Lahav in:
3900         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00716.html
3901         which is based on a previous patch I proposed in:
3902         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00707.html
3903         * configure.ac (opsys, CFLAGS, LIBS_SYSTEM, hybrid_malloc)
3904         (system_alloc, FIRST_PTY_LETTER, CYGWIN_OBJ):
3905         Set appropriately for QNX.
3906         * src/unexelf.c [__QNX__]: Include <sys/elf.h> instead of <elf.h>.
3907         (unexec): Check for sbrk failure, and fall back on old BSS end.
3909 2017-10-24  Paul Eggert  <eggert@cs.ucla.edu>
3911         * configure.ac: Tweak libcurses diagnostic.
3913 2017-10-24  Phillip Lord  <phillip.lord@russet.org.uk>
3915         Scripts to automate windows binary distribution
3917         * admin/nt/dist-build/README-windows-binaries,
3918           admin/nt/dist-build/build-dep-zips.py,
3919           admin/nt/dist-build/build-zips.sh: New Files
3921 2017-10-24  Gemini Lasswell  <gazally@runbox.com>
3923         Fix Edebug specs for map-let and with-maps-do
3925         * lisp/emacs-lisp/map.el (map-let): Fix Edebug spec (bug#24777).
3926         * test/lisp/emacs-lisp/map-tests.el (with-maps-do): Fix Edebug spec.
3928 2017-10-24  Michael Albinus  <michael.albinus@gmx.de>
3930         * test/lisp/net/tramp-tests.el (tramp-test41-delay-load): New test.
3932         (tramp-test42-unload): Rename.
3934 2017-10-24  Glenn Morris  <rgm@gnu.org>
3936         * admin/authors.el (authors-canonical-author-name):
3937         Ignore name issues in "lax" ChangeLogs.
3939         * test/lisp/progmodes/sql-tests.el
3940         (sql-tests-postgres-list-databases-error): Silence compiler.
3942 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
3944         Further work on Bug#28889
3946         * lisp/net/tramp.el (tramp-set-syntax): New defun.
3947         (tramp-syntax): Use it.  Change :package-version.  (Bug#28889)
3949 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
3951         Improve Tramp backward compatibility
3953         * lisp/net/tramp-compat.el (tramp-compat-tramp-file-name-slots):
3954         New defmacro.
3955         * lisp/net/tramp.el (with-parsed-tramp-file-name): Use it.
3957 2017-10-23  Michael Albinus  <michael.albinus@gmx.de>
3959         Improve backward compatibility of tramp-tests.el
3961         * test/lisp/net/tramp-tests.el (tramp--test-emacs26-p): Fix docstring.
3962         (tramp-test41-unload): Skip unless Emacs >= 26.
3964 2017-10-23  Martin Rudalics  <rudalics@gmx.at>
3966         Fix some ‘window-normalize-’ prefixed functions (Bug#28947)
3968         * lisp/window.el (window-normalize-buffer): Fix case where
3969         BUFFER-OR-NAME is a string specifying a dead buffer.  Fix
3970         doc-string (Bug#28947).
3971         (window-normalize-frame, window-normalize-window): Fix
3972         doc-strings (Bug#28947).
3974 2017-10-23  Paul Eggert  <eggert@cs.ucla.edu>
3976         Port to OpenIndiana
3978         Problem reported by Nelson H. F. Beebe (Bug#28893).
3979         Also see Bug#23748, Bug#9736, and Bug#5735.
3980         * configure.ac (tputs_library): Prefer libcurses to libtermcap,
3981         since OpenIndiana libtermcap lacks tparm.
3983 2017-10-22  Alexander Gramiak  <agrambot@gmail.com>
3985         Don't fill keywords after Emacs Lisp docstring
3987         This approach does mean that keywords that have spaces before them
3988         inside of docstrings aren't filled, but I think this is should be fine
3989         until Bug#28937 is fixed.
3991         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Add a colon to
3992         paragraph-start unconditionally, but require that it follows at least
3993         one space.  (Bug#24622)
3994         * test/lisp/emacs-lisp/lisp-tests.el: New tests for Bug#24622 and
3995         Bug#7751.
3997 2017-10-22  Alan Mackenzie  <acm@muc.de>
3999         Refactor c-forward-token-2 with new function c-forward-over-token-and-ws.
4001         Use the new function directly in several places where c-forward-token-2
4002         wouldn't move over the last token in the buffer.  This caused an infinite loop
4003         in c-restore-<>-properties.
4005         * lisp/progmodes/cc-engine.el (c-forward-over-token-and-ws): New function,
4006         extracted from c-forward-token-2.
4007         (c-forward-token-2): Refactor, calling the new function.
4008         (c-restore-<>-properties): Fix infinite loop.
4009         (c-forward-<>-arglist-recur, c-in-knr-argdecl)
4010         (c-looking-at-or-maybe-in-bracelist): Call the new function directly in place
4011         of c-forward-token-2.
4013         * lisp/progmodes/cc-cmds.el (c-defun-name) Call the new function directly in
4014         place of c-forward-token-2.
4016         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): Call the new
4017         function directly in place of c-forward-token-2.
4019 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
4021         Avoid unnecessary rounding errors in timestamps
4023         Avoid the rounding errors of float-time when it’s easy.  E.g.,
4024         replace (< (float-time a) (float-time b)) with (time-less-p a b).
4025         * lisp/desktop.el (desktop-save):
4026         * lisp/ecomplete.el (ecomplete-add-item):
4027         * lisp/epg.el (epg-wait-for-completion):
4028         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
4029         * lisp/image-dired.el (image-dired-get-thumbnail-image)
4030         (image-dired-create-thumb-1):
4031         * lisp/info.el (info-insert-file-contents):
4032         * lisp/ls-lisp.el (ls-lisp-format-time):
4033         * lisp/net/ange-ftp.el (ange-ftp-file-newer-than-file-p)
4034         (ange-ftp-verify-visited-file-modtime):
4035         * lisp/net/rcirc.el (rcirc-ctcp-sender-PING):
4036         * lisp/textmodes/remember.el (remember-store-in-mailbox):
4037         * lisp/url/url-cookie.el (url-cookie-expired-p):
4038         Bypass float-time to avoid rounding errors.
4040         * lisp/files.el (dir-locals-find-file):
4042 2017-10-22  Paul Eggert  <eggert@cs.ucla.edu>
4044         Fix xdg timestamp error on 32-bit Emacs
4046         * lisp/xdg.el (xdg-thumb-mtime): Return an Emacs timestamp,
4047         not an integer.  This avoids signaling an error on 32-bit
4048         Emacs, where timestamps typically do not fit into fixnums
4049         (Bug#28921).
4051 2017-10-22  John Williams  <jrw@pobox.com>  (tiny change)
4053         Test that advice doesn't trigger bytecomp warnings (Bug#28803)
4055         * test/lisp/emacs-lisp/bytecomp-tests.el
4056         (bytecomp-tests--test-no-warnings-with-advice): New test.
4058 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
4060         Another fix for unsafe directory error message (Bug#865)
4062         * lisp/server.el (server-ensure-safe-dir): Put file owner's uid, not
4063         current user's for the wrong owner case.  Show expanded file name in
4064         error message.
4066 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
4068         Handle https url for debbugs mbox (Bug#28831)
4070         In 2017-09-13 "Prefer HTTPS to FTP and HTTP in documentation",
4071         gnus-bug-group-download-format-alist was updated to use https for the
4072         debbugs.gnu.org mbox links, but gnus-read-ephemeral-bug-group assumed
4073         http links.
4074         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group): Use
4075         url-parse functions to get the host name, instead of ad-hoc regexps.
4077 2017-10-21  Noam Postavsky  <npostavs@gmail.com>
4079         Ignore string properties when saving eshell history (Bug#28700)
4081         * lisp/eshell/em-hist.el (eshell-write-history): Remove properties
4082         before inserting history strings.
4083         (eshell-read-history): Remove obsolete comment.
4084         * test/lisp/eshell/em-hist-tests.el (eshell-write-readonly-history):
4085         New test.
4087 2017-10-21  Michael Albinus  <michael.albinus@gmx.de>
4089         Fix Bug#28889
4091         * lisp/net/tramp.el: Change autoload cookie to tramp-autoload cookie.
4092         (tramp-completion-file-name-regexp-default)
4093         (tramp-completion-file-name-handler-alist)
4094         (tramp-completion-file-name-handler): Remove autoload cookie.
4095         (tramp-initial-completion-file-name-regexp): Remove.
4096         (tramp-autoload-file-name-regexp): New defconst.
4097         (tramp-register-autoload-file-name-handlers): Use it.
4098         (with-parsed-tramp-file-name): Adapt docstring.  Compute
4099         `tramp-file-name' slots.  (Bug#28889)
4101 2017-10-21  Glenn Morris  <rgm@gnu.org>
4103         Update describe-function for recent Fdocumentation change
4105         * lisp/help-fns.el (describe-function-1):
4106         Handle Fdocumentation returning either void or invalid.
4108 2017-10-21  Charles A. Roelli  <charles@aurox.ch>
4110         Make flymake's mouse-wheel interaction portable (Bug#28732)
4112         * lisp/progmodes/flymake.el (flymake--mode-line-format): Bind
4113         'mouse-wheel-down-event' and 'mouse-wheel-up-event' instead of
4114         'mouse-4' and 'mouse-5'.  Update the tooltip text accordingly, and
4115         remove a stray newline in it.
4117 2017-10-21  Nick Helm  <nick@tenpoint.co.nz>
4119         Prevent eldoc from changing the mode line
4121         * lisp/emacs-lisp/eldoc.el (eldoc-minibuffer-message): Don't
4122         change the mode line if it is not displayed.  (Bug#28697)
4124 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
4126         Fix doc strings in simple.el
4128         * lisp/simple.el (shell-command-saved-pos)
4129         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
4131 2017-10-21  Phil Sainty  <psainty@orcon.net.nz>
4133         Avoid creating inconsistent buffer states in term-char-mode
4135         * lisp/term.el (term-mode, term-char-mode, term-line-mode)
4136         (term-emulate-terminal): Make buffer read-only in 'term-char-mode',
4137         except for the process filter's output.  Use 'read-only-mode-hook' to
4138         track and restore the user-set state of 'buffer-read-only' for
4139         'term-line-mode'.  (Bug#24837)
4140         (term-char-mode-buffer-read-only): New user option.
4141         (term-line-mode-buffer-read-only): New buffer-local variable.
4142         (term-line-mode-buffer-read-only-update): New function.
4143         (term-char-mode, term-line-mode): Use 'term-set-goto-process-mark'
4144         in pre-command-hook, and 'term-goto-process-mark-maybe' in
4145         post-command-hook to counter-act unexpected changes to point when
4146         using 'term-char-mode'.
4147         (term-char-mode-point-at-process-mark): New user option.
4148         (term-goto-process-mark): New buffer-local variable.
4149         (term-set-goto-process-mark): New function.
4150         (term-goto-process-mark-maybe): New function.
4151         (term-process-mark): New function.
4153         * etc/NEWS: Mention the new behavior and user options.
4155 2017-10-21  Bahodir Mansurov  <bahodir@mansurov.org>  (tiny change)
4157         New input method 'usbek-cyrillic'
4159         * lisp/leim/quail/cyrillic.el (uzbek-cyrillic): New input method.
4160         (Bug#28848)
4162         * etc/NEWS: Mention the new input method.
4164 2017-10-21  Eli Zaretskii  <eliz@gnu.org>
4166         Document 'minibuffer-with-setup-hook'
4168         * doc/lispref/minibuf.texi (Minibuffer Misc): Document
4169         minibuffer-with-setup-hook.  (Bug#28877)
4171 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4173         Simplify make-progress-reporter vs float-time
4175         * lisp/subr.el (make-progress-reporter): Remove no-longer-needed
4176         doc and code for the case where float-time is not supported,
4177         since float-time is always present now.
4179 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4181         Fix two more minor Gnus typos
4183         * lisp/gnus/mail-source.el (mail-source-delete-old-incoming):
4184         The old code had two minor bugs: first, it multiplied by 1/65536
4185         instead of by 1/86400.  Second, it called current-time twice and
4186         glued part of the two results together, resulting in a race.
4187         Fix both bugs by simplifying the code and using
4188         time-to-number-of-days.
4190 2017-10-21  Paul Eggert  <eggert@cs.ucla.edu>
4192         Fix two minor Gnus typos
4194         * lisp/gnus/gnus-sum.el (gnus-summary-import-article):
4195         Remove unused local, and fix use of local that was never assigned to.
4197 2017-10-21  Glenn Morris  <rgm@gnu.org>
4199         Tweak Fdocumentation's error for an undefined function
4201         * src/doc.c (Fdocumentation): Restore the pre-25 behavior
4202         of signalling a void-function error for an undefined function.
4203         This seems cleaner than Emacs 25's "invalid-function: nil" error,
4204         which was (probably) an unintended consequence of changes to
4205         Findirect_function.
4207 2017-10-21  Glenn Morris  <rgm@gnu.org>
4209         Tweak format of list of old files in NEWS header
4211         * etc/NEWS: Stop list of old NEWS files growing without limit.
4212         * admin/admin.el (set-version): Handle either NEWS header format.
4214 2017-10-20  Stefan Monnier  <monnier@iro.umontreal.ca>
4216         * lisp/help-fns.el (describe-function-1):
4217         Fix help-fns-test-dangling-alias.  (Bug#28918)
4219         (cherry picked from commit e1d42f8f4a945669ff8b5159a569cb4b18f56e18)
4221 2017-10-20  Glenn Morris  <rgm@gnu.org>
4223         Fix flymake's loading of subr-x
4225         * lisp/progmodes/flymake.el, test/lisp/progmodes/flymake-tests.el:
4226         No need to load subr-x at run-time.
4228 2017-10-20  Michael Albinus  <michael.albinus@gmx.de>
4230         Fix Bug#28896
4232         * lisp/net/tramp-adb.el (tramp-adb-handle-rename-file):
4233         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
4234         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file): Handle FILENAME
4235         being a directory.  (Bug#28896)
4237         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
4238         (tramp-test12-rename-file): Test also FILENAME being a directory.
4240 2017-10-20  João Távora  <joaotavora@gmail.com>
4242         Skip a Flymake test for old gcc versions
4244         Fixes: 28906
4246         * test/lisp/progmodes/flymake-tests.el
4247         (different-diagnostic-types): Skip this test for gcc versions
4248         < 5.
4250 2017-10-20  Eli Zaretskii  <eliz@gnu.org>
4252         Make :align-to account for display-line-numbers
4254         These changes also update the various bundled packages to use
4255         new feature, and better support customizations of the line-number
4256         face.
4257         * src/xdisp.c (calc_pixel_width_or_height): Improve commentary.
4258         Make :align-to count from the end of the line-number display when
4259         the offset or the width form reference that of the text area.
4260         (Bug#28855)
4262         * src/indent.c (Fline_number_display_width): Implement support for
4263         the PIXELWISE argument being 'columns'.  Update the doc string.
4264         (syms_of_indent): New symbol 'columns'.
4266         * lisp/ruler-mode.el (ruler-mode-window-col, ruler-mode-ruler):
4267         Call line-number-display-width with last argument 'columns'.
4269         * lisp/proced.el (proced-header-line): Call
4270         line-number-display-width with 2nd arg 'columns', which also fixes
4271         a problem when display-line-numbers is nil.
4273         * lisp/emacs-lisp/tabulated-list.el
4274         (tabulated-list-line-number-width): Call line-number-display-width
4275         with 2nd arg 'columns.
4276         (tabulated-list-entry-lnum-width): Remove unneeded defvar.
4277         (tabulated-list-print, tabulated-list-print-entry): No need to
4278         account for the value of tabulated-list-entry-lnum-width.
4279         (tabulated-list--current-lnum-width): New defvar.
4280         (tabulated-list-watch-line-number-width): New function.
4281         (tabulated-list-mode): Bind tabulated-list--current-lnum-width
4282         locally, and set up tabulated-list-watch-line-number-width as
4283         pre-redisplay-functions hook.
4285         * doc/lispref/display.texi (Size of Displayed Text): Document the
4286         'columns' value of the PIXELWISE argument.
4287         (Pixel Specification): Update and improve the documentation of the
4288         supported forms.
4290 2017-10-20  João Távora  <joaotavora@gmail.com>
4292         Augment Flymake API for third-party extensions
4294         See
4295         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00619.html
4297         * doc/misc/flymake.texi (Flymake error types): Rewrite
4298         example.
4299         (Flymake utility functions): Augment with new API.
4301         * lisp/progmodes/flymake.el (flymake-diagnostics): New function.
4302         (flymake--diag-accessor): New helper macro.
4303         (flymake-diagnostic-buffer, flymake-diagnostic-text)
4304         (flymake-diagnostic-beg, flymake-diagnostic-end)
4305         (flymake-diagnostic-backend): Accessors for diagnostic objects.
4306         (flymake--overlays): Use flymake-diagnostic property.
4307         (flymake--highlight-line): Simplify.  Only set
4308         flymake-diagnostic property.
4309         (flymake--handle-report, flymake-goto-next-error): Use
4310         flymake-diagnostic property.
4311         (flymake-show-diagnostic): Use diagnostic object.
4312         (flymake--diagnostics-buffer-entries): Use
4313         flymake-diagnostics.
4315 2017-10-20  Glenn Morris  <rgm@gnu.org>
4317         Improve treatment of Fortran's "class default"
4319         * lisp/progmodes/f90.el (f90-start-block-re, f90-no-block-limit):
4320         Handle "class default".  (Bug#28786)
4321         * test/automated/f90.el (f90-test-bug25039): Add "class default".
4323 2017-10-20  João Távora  <joaotavora@gmail.com>
4325         Flymake backends must check proc obsoleteness in source buffer
4327         Flymake backends that rely on sentinels running asynchronously and
4328         checking buffer-local variables that hold running processes should
4329         check for obsoleteness in the correct buffers, otherwise a (harmless)
4330         warning might be triggered.
4332         * doc/misc/flymake.texi (An annotated example backend):
4333         Check buffer-local proc in the current buffer.
4335         * lisp/progmodes/elisp-mode.el (elisp-flymake-byte-compile):
4336         Check buffer-local proc in the current buffer.
4338 2017-10-19  Michael Albinus  <michael.albinus@gmx.de>
4340         Skip an rsync test in tramp-tests.el
4342         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards):
4343         Skip for "rsync".
4345 2017-10-19  Martin Rudalics  <rudalics@gmx.at>
4347         On Windows default a frame's border width to zero (Bug#28873)
4349         * src/w32fns.c (Fx_create_frame): Default `border-width' to zero
4350         as everywhere else, see Bug#28873.
4352 2017-10-19  Paul Eggert  <eggert@cs.ucla.edu>
4354         Spelling fixes
4356         * lisp/cedet/semantic/analyze/refs.el:
4357         (semantic-analyze-proto-impl-toggle): Fix recently-introduced
4358         misspelling of pop-to-buffer-same-window.
4360 2017-10-19  Bastian Beischer  <bastian.beischer@gmail.com>  (tiny change)
4362         Use pop-to-buffer-same-window instead of switch-to-buffer
4364         * lisp/cedet/semantic/decorate/include.el
4365         (semantic-decoration-include-visit):
4366         Use pop-to-buffer-same-window instead of switch-to-buffer
4367         (bug#28645).
4369         * lisp/cedet/semantic/analyze/refs.el
4370         (semantic-analyze-proto-impl-toggle): Same.
4372         * lisp/cedet/semantic/senator.el (senator-go-to-up-reference):
4373         Same.
4375         * lisp/cedet/semantic/mru-bookmark.el (semantic-mrub-visit):
4376         Same.
4378         * lisp/cedet/semantic/complete.el (semantic-complete-jump):
4379         Same.
4381 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
4383         Fix the MSDOS build.
4385         * msdos/sed1v2.inp (GETADDRINFO_A_LIBS, LIBLCMS2, XDBE_LIBS)
4386         (XDBE_FLAGS, HYBRID_MALLOC, LIBSYSTEMD_CFLAGS)
4387         (LIBSYSTEMD_LIBS): Edit to empty.
4388         (LIBRESOLV, DEPFLAGS, MKDEPDIR, YMF_PASS_LDFLAGS)
4389         (PRE_EDIT_LDFLAGS, POST_EDIT_LDFLAGS): Remove editing.
4390         Remove editing of lines that are no longer present in
4391         src/Makefile.in.
4392         * msdos/sed2v2.inp (NEED_MKTIME_INTERNAL)
4393         (NEED_MKTIME_WORKING): Define to 1.
4394         (HAVE_STRUCT_DIRENT_D_TYPE): Define to 1 for
4395         DJGPP >= 2.05.
4396         (HAVE_STRUCT_ATTRIBUTE_ALIGNED): Define to 1.
4397         Define PACKAGE_VERSION, not VERSION.
4398         (FLEXIBLE_ARRAY_MEMBER): Define to empty.
4399         (HAVE_DECL_*_UNLOCKED): Define to 0.
4400         (HAVE___BUILTIN_FRAME_ADDRESS): Define to 1.
4401         (PENDING_*): Don't define, as Gnulib no longer supports that.
4402         Instead, define _IOERR as it is in libc/file.h.
4403         * msdos/sed3v2.inp: Use $(CURDIR) instead of $(shell cd) to
4404         determine the current directory.
4405         (UPDATE_MANIFEST, UTILITIES): Don't edit.
4406         * msdos/sedlisp.inp (FIND_DELETE): Edit to "-delete".
4407         * msdos/sedlibmk.inp (AUTO_DEPEND): Define to yes.
4408         (HYBRID_MALLOC): Edit to empty.
4409         (am__cd): Don't edit.
4410         (../config.status): Replaces $(top_builddir)/config.status.
4411         Define OMIT_GNULIB_MODULE_foo = true for modules not built for
4412         MS-DOS.  Convert GL_GENERATE_xxx_H_TRUE and
4413         GL_GENERATE_xxx_H_FALSE into values of GL_GENERATE_xxx_H.
4414         * msdos/mainmake.v2 (src): Use 'compile-one-process', and make
4415         the command line shorter to fit into 126-char limit of
4416         command.com.
4417         * config.bat: Generate src/deps/*.d files.  Rename more files
4418         like djtar on plain DOS would.
4419         Don't rename src/dir.h: it is long gone.  Edit
4420         lib/gnulib.mk.in using the same scripts as for
4421         lib/Makefile.in.
4422         * msdos/depfiles.bat: Create *.d files, not *.Po.
4424         * src/thread.c (Fmake_thread) [!THREADS_ENABLED]: Improve the
4425         error message.
4426         * src/thread.h [MSDOS]: Include <signal.h>.
4427         * src/sysselect.h (select) [MSDOS]: Undefine, to avoid
4428         compilation errors.
4429         * src/sysdep.c (block_interrupt_signal, restore_signal_mask):
4430         Expose to MSDOS build.
4431         * src/process.c (update_processes_for_thread_death)
4432         [!subprocess]: No-op implementation.
4433         [HAVE_SETRLIMIT]: Move inclusion of sys/resource.h and
4434         declaration of nofile_limit outside "#ifdef subprocesses", as
4435         it's needed for MSDOS.
4436         * src/msdos.c (faccessat): Declare fullname[].
4437         * src/msdos.h (ENOTSUP): Define to be identical to ENOSYS.
4438         Include termhooks.h.
4439         * src/conf_post.h [WINDOWSNT]: Include ms-w32.h only on
4440         WINDOWSNT, not DOS_NT.
4442         * admin/admin.el (set-version): Set version on PACKAGE_VERSION.
4444 2017-10-18  Eli Zaretskii  <eliz@gnu.org>
4446         Fix line number display after 'widen'
4448         * src/xdisp.c (maybe_produce_line_number): Don't use data cached
4449         by line-number-mode on the first redisplay after the buffer is
4450         widened.  (Bug#28879)
4452 2017-10-18  Alan Third  <alan@idiocy.org>
4454         Remove resizable attribute on macOS undecorated frames (bug#28512)
4456         * src/nsterm.m (FRAME_DECORATED_FLAGS): Remove Cocoa specific #define.
4457         (initFrameFromEmacs): Remove Cocoa specific window style attributes.
4459 2017-10-18  Martin Rudalics  <rudalics@gmx.at>
4461         Fix handling of `border-width' in `frameset--restore-frame' (Bug#28873)
4463         * lisp/frameset.el (frameset--restore-frame): Don't process
4464         `border-width' parameter via ‘modify-frame-parameters’
4465         (Bug#28873).
4467 2017-10-18  Tino Calancha  <tino.calancha@gmail.com>
4469         Mention how to send CC to > 1 address in a bug report
4471         * admin/notes/bugtracker (* More detailed information):
4472         mention how to CC to more than 1 address (Bug#28833).
4474 2017-10-18  Paul Eggert  <eggert@cs.ucla.edu>
4476         Improve format-time-string doc
4478         * doc/lispref/os.texi (Time Parsing): Fix some errors in the
4479         documentation for format-time-string.  Document ^, #, %s, and %z
4480         with colons.  Say that unrecognized sequences are output as-is.
4481         * src/editfns.c (Fformat_time_string): %S can stand for 60.
4482         Also mention unrecognized sequences.
4484 2017-10-17  Eli Zaretskii  <eliz@gnu.org>
4486         Improve documentation of 'line-number-display-width'
4488         * doc/lispref/display.texi (Size of Displayed Text): Document the
4489         additional 2 columns used for line-number display.
4491         * src/indent.c (Fline_number_display_width): Doc fix.  (Bug#28248)
4493 2017-10-17  İ. Göktuğ Kayaalp  <self@gkayaalp.com>
4495         Implement vc-default-dir-extra-headers for vc-rcs
4497         Add a do-nothing implementation for vc-rcs to suppress the message which
4498         the default function adds to the vc-dir buffer (Bug#28570).
4499         * lisp/vc/vc-rcs.el (vc-rcs-dir-extra-headers): New function.
4501 2017-10-17  Martin Rudalics  <rudalics@gmx.at>
4503         In NEWS give advice on use of `switch-to-buffer' (Bug#28645)
4505         * etc/NEWS: Mention that applications should prefer
4506         `pop-to-buffer-same-window' to `switch-to-buffer'.  (Bug#28645)
4508 2017-10-17  Tino Calancha  <tino.calancha@gmail.com>
4509             Noam Postavsky  <npostavs@gmail.com>
4511         Dont update primary selection with winner-undo
4513         * lisp/winner.el (winner-set):
4514         Dont update primary selection when select-enable-primary
4515         is non-nil (Bug#28631).
4517 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
4519         Work around ImageMagick bug 825
4521         This should fix several bugs reported recently against Emacs
4522         (Bug#28518, Bug#28626, Bug#28632, Bug#28633, Bug#28770).
4523         * src/image.c (imagemagick_load_image):
4524         Do not call MagickWandTerminus.
4526 2017-10-17  Noam Postavsky  <npostavs@gmail.com>
4528         Document rectangle-preview option more (Bug#27974)
4530         * lisp/rect.el (string-rectangle):
4531         * etc/NEWS.25: Mention `rectangle-preview'.
4533 2017-10-17  Paul Eggert  <eggert@cs.ucla.edu>
4535         Do not reject https://gnu.org in commit messages
4537         * build-aux/git-hooks/commit-msg: Do not reject commit messages
4538         containing http: or ftp: URLs to gnu.org or fsf.org.  Instead,
4539         rewrite the messages to use https: URLs.
4541 2017-10-16  Gemini Lasswell  <gazally@runbox.com>
4543         Fix Edebug spec for cl-defun (bug#24255)
4545         * lisp/emacs-lisp/cl-macs.el: Modify the Edebug spec for
4546         `cl-lambda-list' to support destructuring argument lists.
4547         (cl-defun, cl-defmacro): Fix spelling errors in docstrings.
4548         * lisp/textmodes/rst.el: Remove alternate version of Edebug
4549         specs for `cl-lambda-list' and `cl-type-spec'.
4551 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
4553         Fix errors in kmacro.el post-command-hook
4555         * lisp/kmacro.el (kmacro-step-edit-active): Initialize to nil to
4556         avoid 'void-variable' errors.  (Bug#28818)
4557         * test/lisp/kmacro-tests.el
4558         (kmacro-tests-step-edit-cleans-up-hook): Now succeeds.  (Bug#18708)
4560 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
4562         Fix range-error in image-dired.el
4564         * lisp/image-dired.el (image-dired-create-thumb-1): Avoid
4565         overflowing an Emacs integer on 32-bit hosts.  (Bug#28809)
4567 2017-10-16  Eli Zaretskii  <eliz@gnu.org>
4569         Fix 'line-number-display-width' in hscrolled windows
4571         * src/indent.c (line_number_display_width): Make sure a line
4572         number is generated even when the first line of the window is
4573         completely hscrolled out of view.  (Bug#28854)
4575 2017-10-16  Michael Albinus  <michael.albinus@gmx.de>
4577         Fix error in tramp-smb-handle-insert-directory
4579         * lisp/net/tramp-smb.el (tramp-smb-handle-insert-directory):
4580         Insert size information only when FULL-DIRECTORY-P is non-nil.
4582 2017-10-16  Andy Moreton  <andrewjmoreton@gmail.com>
4584         Don't reject PBM header whitespace unnecessarily
4586         * lisp/image.el (image-type-header-regexps):
4587         Allow two or more CRs or LFs in initial whitespace sequences.  See:
4588         http://netpbm.sourceforge.net/doc/pbm.html
4590 2017-10-16  Paul Eggert  <eggert@cs.ucla.edu>
4592         Fix regression in display of PPM images
4594         Problem reported by Roland Winkler (Bug#28824#35).
4595         Based on a patch proposed by Andy Moreton (Bug#28824#38).
4596         * src/image.c (pbm_scan_index): New function.
4597         (pbm_load): Use it to decode raw data correctly when its top bit
4598         is set.
4600 2017-10-16  Eric Abrahamsen  <eric@ericabrahamsen.net>
4602         Require subr-x when compiling nnimap.el
4604         * lisp/gnus/nnimap.el (require): For the when-let* macro.
4606 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
4608         Fix ert-test finding by symbol (Bug#28849)
4610         In 2017-07-28 "* lisp/subr.el (define-symbol-prop): New function", the
4611         symbol used for ert tests in load-history was changed from
4612         `ert-deftest' to `ert--test', but a couple of other places were not
4613         updated accordingly.
4614         * lisp/emacs-lisp/ert.el (ert-find-test-other-window): Pass
4615         `ert--test' as the TYPE to `find-function-do-it'.
4616         (top-level): Use `ert--test' as the key to the
4617         `find-function-regexp-alist' entry.
4619 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
4621         Don't remember old debugger window (Bug#17882)
4623         * lisp/emacs-lisp/debug.el (debug): Unset debugger-previous-window
4624         when `debugger-will-be-back' is nil.
4626 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
4628         Disable python native completion on w32 (Bug#28580)
4630         * lisp/progmodes/python.el
4631         (python-shell-completion-native-disabled-interpreters): For windows-nt
4632         systems, put an empty string to match interpreters.
4634 2017-10-15  Noam Postavsky  <npostavs@gmail.com>
4636         Let select-frame-by-name choose any frame when called from lisp (Bug#25521)
4638         * lisp/frame.el (select-frame-by-name): Choose from the whole list of
4639         frames in the non-interactive part, if not found on the current
4640         display.
4642 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
4644         * lisp/dired-aux.el (dired-create-directory): Doc fix.
4646 2017-10-15  Eli Zaretskii  <eliz@gnu.org>
4648         Avoid compilation warnings in optimized builds
4650         * src/process.c (Fmake_network_process):
4651         * src/image.c (xbm_scan, gif_load):
4652         * src/fileio.c (Frename_file):
4653         * src/data.c (Fmake_local_variable):
4654         * src/buffer.c (fix_start_end_in_overlays):
4655         * lib-src/etags.c (process_file_name): Mark variables with UNINIT
4656         to avoid compiler warnings in optimized builds.
4658 2017-10-15  K. Handa  <handa@gnu.org>
4660         Improve customization of arabic-shaper-ZWNJ-handling.
4662         Make the effect of customizing arabic-shaper-ZWNJ-handling appear
4663         immediately.
4664         * lisp/language/misc-lang.el (arabic-shaper-ZWNJ-handling): Add :set
4665         value.
4666         * src/composite.c (Fclear_composition_cache): New function.
4667         (syms_of_composite): Defsubr it.
4669 2017-10-15  Charles A. Roelli  <charles@aurox.ch>
4671         Improve customization type of 'mouse-drag-and-drop-region'
4673         * lisp/mouse.el (mouse-drag-and-drop-region): Provide a more
4674         precise customization type.
4676 2017-10-15  Paul Eggert  <eggert@day>
4678         Encourage https: in commit messages
4680         * CONTRIBUTE: Prefer https: when citing.
4681         * build-aux/git-hooks/commit-msg:
4682         Diagnose http: and ftp: URLs to FSF or GNU hosts.
4684 2017-10-14  Martin Rudalics  <rudalics@gmx.at>
4686         Fix wording in Elisp manual's child frames section (Bug#28819)
4688         * doc/lispref/frames.texi (Child Frames): Fix wording (Bug#28819).
4690 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
4692         Another fix for C mode fontification of w32 source files
4694         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
4695         "CALLBACK", to correctly fontify functions with this attribute.
4697 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
4699         Fix fontification of ALIGN_STACK functions
4701         * .dir-locals.el (c-mode) <c-noise-macro-names>: Add
4702         "ALIGN_STACK", to correctly fontify functions with this attribute.
4704 2017-10-14  Eli Zaretskii  <eliz@gnu.org>
4706         Make sure thread stack is properly aligned on MS-Windows
4708         * src/systhread.c: Include w32term.h instead of windows.h.
4709         (w32_beginthread_wrapper): Add ALIGN_STACK attribute, to ensure
4710         the thread's stack is correctly aligned.
4711         * src/w32term.h (ALIGN_STACK): Update commentary.
4713 2017-10-14  Paul Eggert  <eggert@cs.ucla.edu>
4715         Do not under-align pseudovectors
4717         Problem reported by Fabrice Popineau in:
4718         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00357.html
4719         Also see diagnosis by Eli Zaretskii in:
4720         https://lists.gnu.org/archive/html/emacs-devel/2017-10/msg00476.html
4721         * src/alloc.c (vector_alignment):
4722         Now a multiple of alignof (max_align_t).
4724 2017-10-13  Simen Heggestøyl  <simenheg@gmail.com>
4726         Fix indentation bug in multi-line CSS selectors
4728         * lisp/textmodes/css-mode.el (css--colon-inside-selector-p): Fix
4729         indentation of multi-line CSS selectors that include both a
4730         pseudo-class and parenthesis.
4732         * test/manual/indent/css-mode.css: Add test for the above change.
4734 2017-10-13  Andreas Schwab  <schwab@linux-m68k.org>
4736         gnutls_mac_get_nonce_size has been added in gnutls 3.3
4738         * src/gnutls.c (HAVE_GNUTLS_MAC_GET_NONCE_SIZE)
4739         [GNUTLS_VERSION_NUMBER >= 0x030300]: Define.
4740         (gnutls_mac_get_nonce_size): Depend on
4741         HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
4742         (Fgnutls_macs): Use 0 for :mac-algorithm-noncesize if
4743         !HAVE_GNUTLS_MAC_GET_NONCE_SIZE.
4745 2017-10-13  Paul Eggert  <eggert@cs.ucla.edu>
4747         * CONTRIBUTE: Suggest American English.
4749 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
4751         Fix this-command-keys for "M-x foo" commands
4753         * src/keyboard.c (Fset__this_command_keys): Don't assume KEYS is a
4754         unibyte string.  (Bug#28798)
4756 2017-10-12  Paul Eggert  <eggert@cs.ucla.edu>
4758         Let rename-file rename dirs across filesystems
4760         Problem diagnosed by Andreas Schwab (Bug#28792#65).
4761         This fixes a bug that I introduced in
4762         2017-09-10T22:39:24@eggert@cs.ucla.edu
4763         "Fix race with rename-file etc. with dir NEWNAME".
4764         * src/fileio.c (Frename_file): Copy a source directory across
4765         file system boundaries even if its name does not end in slash.
4767 2017-10-12  João Távora  <joaotavora@gmail.com>
4769         Simplify Flymake user documentation
4771         Fix some confusing parts of Flymake user documentation, like a
4772         repeated listing of situations leading to a syntax check.
4773         Documentation is now divided into three chapters only: "Using
4774         Flymake", "Extending Flymake", and a chapter for the legacy backend.
4776         Obsolete mention of "errors" and "lines" is replaced by
4777         "diagnostics/problems" and "regions" where appropriate.
4779         * doc/misc/flymake.texi (Overview of Flymake): Delete chapter.
4780         (Using Flymake): Merge with chapter "Overview of Flymake".
4781         (Installing Flymake): Delete chapter.
4782         (Flymake mode, Running the syntax check)
4783         (Navigating to error lines): Delete sections.
4784         (Syntax check statuses): Review and augment with x-references.
4785         (Backend exceptions): Mention shortcut in menu.
4787         * lisp/progmodes/flymake.el (flymake-menu): Tweak minor mode
4788         menu to not speak of "errors".
4789         (flymake-goto-next-error, flymake-goto-prev-error): Fix
4790         wording.
4792 2017-10-12  Eli Zaretskii  <eliz@gnu.org>
4794         * etc/NEWS: Mention the new version of Org.
4796 2017-10-12  Noam Postavsky  <npostavs@gmail.com>
4798         Don't use (format "%s" ...) for string copying (Bug#28774)
4800         As of 2017-10-04 'Speed up (format "%s" STRING) and the like', (format
4801         "%s" STRING) no longer produces a new string.
4802         * lisp/ido.el (ido-completions): Use `copy-sequence' to make a new
4803         string, so that we can add text properties to (copies of) symbol
4804         names.
4806 2017-10-11  Alan Third  <alan@idiocy.org>
4808         Make frame-list-z-order on NS match Windows behaviour (bug#28788)
4810         * src/nsfns.m (Fns_frame_list_z_order): If terminal isn't a frame,
4811         ignore it rather than returning nil.
4813 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
4815         Bump Emacs version to 26.0.90
4817         * README:
4818         * configure.ac:
4819         * msdos/sed2v2.inp:
4820         * nt/README.W32: Bump Emacs version.
4822 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
4824         Update authors.el
4826         * admin/authors.el (authors-valid-file-names)
4827         (authors-renamed-files-alist): Additions.
4829 2017-10-11  Nicolas Petton  <nicolas@petton.fr>
4831         * admin/authors.el (authors-aliases): Additions.
4833         * ChangeLog.3: Update.
4835 2017-10-11  Radon Rosborough  <radon.neon@gmail.com>
4837         Fix docstring style for 'functionp'
4839         * src/eval.c (functionp): Make docstring start with verb.
4840         (Bug#28781)
4842 2017-10-11  Michael Albinus  <michael.albinus@gmx.de>
4844         Format shell commands in tramp.texi
4846         * doc/misc/tramp.texi (Obtaining Tramp, Remote shell setup):
4847         Format shell commands better.
4849 2017-10-10  João Távora  <joaotavora@gmail.com>
4851         Unbreak the button in the Flymake diagnostics buffer again
4853         Adding the 'keymap' property enabled RET but broke the mouse-action.
4855         * lisp/progmodes/flymake.el
4856         (flymake--diagnostics-buffer-entries): Use 'action' instead of 'keymap'.
4858 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
4860         Add mode map to Flymake diagnostic button
4862         * lisp/progmodes/flymake.el (flymake--diagnostics-buffer-entries): Add
4863         keymap propery.
4865 2017-10-10  João Távora  <joaotavora@gmail.com>
4867         Tweak the Flymake diagnostics buffer again
4869         * lisp/progmodes/flymake.el
4870         (flymake-diagnostics-buffer-mode-map): Don't bind [mouse-1].
4871         (flymake-show-diagnostic): Rename from
4872         flymake-show-diagnostic-at-point.  Really use another window.
4873         (flymake-goto-diagnostic): Rename from
4874         flymake-goto-diagnostic-at-point.
4875         (flymake--diagnostics-buffer-entries): Use a button just for
4876         the message bit.
4878 2017-10-10  Mark Oteiza  <mvoteiza@udel.edu>
4880         Simplify Flymake diagnostics buffer UX
4882         Don't create text-buttons unnecessarily, just bind RET and SPC in the
4883         diagnostics buffer to a command that figures out which diagnostic it
4884         was invoked on.
4886         * lisp/progmodes/flymake.el
4887         (flymake--diagnostics-buffer-mode-keymap): Renamed from
4888         flymake--diagnostics-buffer-button-keymap.
4889         (flymake-show-diagnostic-at-point): Don't take a button.
4890         (flymake-goto-diagnostic-at-point): Don't pass button to
4891         flymake-show-diagnostic-at-point.
4892         (flymake--diagnostics-buffer-entries): Simplify.
4894 2017-10-10  João Távora  <joaotavora@gmail.com>
4896         First stab at a Flymake diagnostics buffer
4898         The diagnostics buffer summarizes the diagnostics of a buffer in a
4899         tabulated list and is permanently updated after each Flymake check.
4901         * lisp/progmodes/flymake.el (flymake--handle-report): Call
4902         flymake-show-diagnostics-buffer under certain conditions.
4903         (flymake-menu, flymake--diagnostics-buffer-source)
4904         (flymake--diagnostics-buffer-button-keymap)
4905         (flymake-show-diagnostic-at-point)
4906         (flymake-goto-diagnostic-at-point)
4907         (flymake--diagnostics-buffer-entries)
4908         (flymake-diagnostics-buffer-mode)
4909         (flymake--diagnostics-buffer-name)
4910         (flymake-show-diagnostics-buffer): New definitions.
4912 2017-10-10  João Távora  <joaotavora@gmail.com>
4914         * etc/NEWS (Flymake): Rewrite entry.
4916 2017-10-10  Eli Zaretskii  <eliz@gnu.org>
4918         Improve the Flymake manual
4920         * doc/misc/flymake.texi: Add a 'coding' cookie.  Add a
4921         @syncodeindex directive for @vindex.  Use 2 spaces between
4922         sentences.  Lower-case @cindex entries.
4923         (Overview of Flymake): Fix use of @itemize and @pxref.  Fix
4924         punctuation and markup.
4925         (Backend exceptions): Use @emph instead of @dfn.  Add more
4926         indexing.
4927         (Customizable variables, Extending Flymake): Improve wording.
4928         (Flymake error types): Fix usage of @itemize.  Improve wording.
4929         (Backend functions): Fix punctuation.  Fix markup.  Add a
4930         cross-reference to ELisp manual.
4931         (Flymake utility functions): Add a cross-reference to ELisp manual.
4932         (An annotated example backend): Fix punctuation and typos.
4933         (Flymake mode, Running the syntax check)
4934         (Navigating to error lines, Backend exceptions)
4935         (Customizable variables, Flymake error types, Backend functions)
4936         (Flymake utility functions, Proc customization variables)
4937         (Locating a master file, Locating the buildfile)
4938         (Starting the syntax check process, Parsing the output)
4939         (Interaction with other modes): Fix indexing.  Add index entries
4940         for functions, variables, and concepts.
4942 2017-10-10  João Távora  <joaotavora@gmail.com>
4944         Fix two Flymake bugs
4946         * lisp/progmodes/flymake.el (define-fringe-bitmap): Protect
4947         against --without-x.
4948         (flymake--mode-line-format): Ensure mode-line's mouse-4 and mouse-5 work
4949         in their own windows.
4951 2017-10-10  João Távora  <joaotavora@gmail.com>
4953         Don't log "emergencies" in the Flymake legacy backend
4955         * lisp/progmodes/flymake-proc.el (flymake-proc--panic)
4956         (flymake-proc-legacy-flymake): Don't log "emergencies"
4958 2017-10-10  João Távora  <joaotavora@gmail.com>
4960         Add full documentation on new Flymake API
4962         Also, as a minor addition to this API, set flymake-text
4963         on the diagnostic overlay.  This enables a good example in
4964         the section "Customization Flymake annotations".
4966         * doc/misc/flymake.texi (Overview of Flymake)
4967         (Syntax check statuses): Rework.
4968         (Backend exceptions): Rename from "Troubleshooting"
4969         (Customizable variables): Add flymake-start-on-flymake-mode. Rework.
4970         (Extending Flymake): Write chapter.
4971         (Customizing Flymake annotations, Flymake backends)
4972         (Flymake utility functions, An annotated example backend):
4973         New sections and subsections
4975         * lisp/progmodes/flymake.el (flymake-diagnostic-functions)
4976         (flymake-diagnostic-types-alist): Rework docstring.
4977         (flymake--highlight-line): Set and use flymake-text property in overlay.
4978         (flymake-goto-next-error, flymake-goto-prev-error): Fix funny quotes.
4980 2017-10-10  João Távora  <joaotavora@gmail.com>
4982         Fix some Flymake docstrings and messages
4984         * lisp/progmodes/flymake.el
4985         (flymake-start-on-flymake-mode): fix typo.
4986         (flymake-mode): Add docstring.
4987         (flymake-mode-line-format): Fix help-echo indications. mouse-2
4988         describes flymake-mode.
4990 2017-10-10  João Távora  <joaotavora@gmail.com>
4992         Make three new Flymake commands for debugging common problems
4994         * lisp/progmodes/flymake.el (flymake-running-backends)
4995         (flymake-disabled-backends)
4996         (flymake-reporting-backends): Make interactive.
4997         (flymake--collect): Take optional arg.
4999 2017-10-09  Nicolas Petton  <nicolas@petton.fr>
5001         * admin/authors.el (authors-renamed-files-alist): addition.
5003 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
5005         Fix PWD check on DOS_NT
5007         * src/sysdep.c (get_current_dir_name_or_unreachable):
5008         Do not consider a file name like "a:b" to be absolute on DOS_NT.
5010 2017-10-09  Paul Eggert  <eggert@cs.ucla.edu>
5012         Fix unlikely overflows with wd length
5014         * src/sysdep.c (get_current_dir_name_or_unreachable):
5015         Avoid integer overflow if working directory name is absurdly long.
5016         When allocating memory for getcwd, do not exceed MAXPATHLEN.
5018 2017-10-09  Stefan Monnier  <monnier@iro.umontreal.ca>
5020         * lisp/gnus/message.el: Improve last commit
5022         (message-clone-locals): Don't mistakenly match other variables whose
5023         name happens to include "message-default-charset".
5025 2017-10-09  Ken Olum  <kdo@cosmos.phy.tufts.edu>
5027         Fix problems when editing raw undecoded message (Bug#28671)
5029         * lisp/mail/rmailedit.el (rmail-cease-edit): If rmail-old-mime-state
5030         is set, meaning that we are editing the raw message, do not
5031         encode it again.  Delete old body after, not before, inserting
5032         new, to avoid moving marker at beginning of next message.
5034 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
5036         Avoid encoding errors in message.el
5038         * lisp/gnus/message.el (message-clone-locals): Don't clone
5039         message-default-charset.  (Bug#25645)
5041 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
5043         Improve doc string and prompt of 'grep-read-files'
5045         * lisp/progmodes/grep.el (grep-read-files): Clarify in the doc
5046         string and in the prompt that shell wildcards can be used.
5047         Suggested by Allen Li <vianchielfaura@gmail.com>.  (Bug#28615)
5049 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
5051         Avoid assertion violations when line numbers are displayed
5053         * src/xdisp.c (redisplay_window): Clear the window's desired glyph
5054         matrix before calling try_window with the same starting point.
5055         This avoids assertion violations when switching from a buffer
5056         without line numbers to a buffer with line numbers.  (Bug28710)
5058 2017-10-09  João Távora  <joaotavora@gmail.com>
5060         Be lazy when starting Flymake checks
5062         Don't start the check immediately if the buffer is not being
5063         displayed.  Wait until it is, using window-configuration-change-hook.
5065         This enables the user to batch-enable flymake-mode on many buffers and
5066         not have that operation exhaust system resources for checking each
5067         one.  Likewise, an editing or save operation in a currently
5068         non-displayed buffer does not immediately start a check.
5070         * lisp/progmodes/flymake.el (flymake-start-on-flymake-mode):
5071         Rename from flymake-start-syntax-check-on-find-file.
5072         (flymake-start-syntax-check-on-find-file): Obsolete alias for
5073         flymake-start-on-flymake-mode.
5074         (flymake-start): Redesign.  Affect the global post-command-hook
5075         and local window-configuraiton-change-hook.
5076         (flymake--schedule-timer-maybe)
5077         (flymake-after-change-function, flymake-after-save-hook): Pass
5078         t to flymake-start.
5080         * test/lisp/progmodes/flymake-tests.el (flymake-tests--call-with-fixture)
5081         (dummy-backends, recurrent-backend): Start flymake check
5082         explicitly and immediately.
5084 2017-10-09  Eli Zaretskii  <eliz@gnu.org>
5086         Fix last change in frameset.el
5088         * lisp/frameset.el (frameset-filter-font-param): Fix a thinko in
5089         filtering the 'font' parameter.  (Bug#17352)
5091 2017-10-09  Martin Rudalics  <rudalics@gmx.at>
5093         Describe how window dividers can replicate vertical borders (Bug#27830)
5095         * doc/emacs/frames.texi (Scroll Bars): Describe how window
5096         dividers can be used to replicate vertical borders when scroll
5097         bars are disabled (Bug#27830).
5098         * doc/emacs/frames.texi (Window Dividers): Mention their use
5099         in replicating vertical borders.
5101 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
5103         Add line-number faces to the display-line-numbers group
5105         See https://lists.gnu.org/r/emacs-devel/2017-10/msg00151.html
5106         and its resulting thread.
5108         * lisp/display-line-numbers.el (display-line-numbers): Add to the
5109         convenience group.
5110         * lisp/faces.el (line-number):
5111         (line-number-current-line): Add to the display-line-numbers group.
5113 2017-10-09  Alexander Gramiak  <agrambot@gmail.com>
5115         Increase xterm click count only within double-click-fuzz
5117         * lisp/xt-mouse.el (xterm-mouse-event): Save the last click's position
5118         and check it against the current click's position.  (Bug#28658)
5120 2017-10-08  Alan Third  <alan@idiocy.org>
5122         Change pause in fullscreen toggling for NS port (bug#28496)
5124         * lisp/frame.el (toggle-frame-fullscreen): Replace sit-for with
5125         sleep-for, and reduce time.
5127 2017-10-08  Michael Albinus  <michael.albinus@gmx.de>
5129         Handle PARENTS properly in tramp-*-handle-make-directory
5131         * lisp/net/tramp-adb.el (tramp-adb-handle-make-directory):
5132         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-make-directory):
5133         Handle PARENTS properly.
5135         * test/lisp/net/tramp-tests.el (tramp-test13-make-directory):
5136         Extend test.
5138 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
5140         Improve test for unreachable dirs
5142         * src/sysdep.c (get_current_dir_name_or_unreachable):
5143         New function, with most of the old contents of
5144         emacs_get_current_dir_name.
5145         (emacs_get_current_dir_name): Use it.  Use a simpler
5146         test for unreachable directory strings, and also apply
5147         it to getcwd etc. (Bug#27871)
5149 2017-10-08  Paul Eggert  <eggert@cs.ucla.edu>
5151         * src/xsmfns.c (x_session_initialize): Fix memory leak.
5153 2017-10-08  K. Handa  <handa@gnu.org>
5155         New option for handling ZWNJ in Arabic text rendering
5157         Provide a new option 'arabic-shaper-ZWNJ-handling' that controls how
5158         to display ZWNJ in Arabic text rendering (Bug#28339).
5159         * lisp/language/misc-lang.el: Register arabic-shape-gstring in
5160         composition-function-table.
5161         (arabic-shaper-ZWNJ-handling): New variable.
5162         (arabic-shape-log): New variable.
5163         (arabic-shape-gstring): New function.
5164         * lisp/composite.el (lgstring-remove-glyph): New function.
5166 2017-10-08  Noam Postavsky  <npostavs@gmail.com>
5168         Make python prettify symbols into a defvar (Bug#28713)
5170         * lisp/progmodes/python.el (python-prettify-symbols-alist): New
5171         variable.
5172         (python--prettify-symbols-alist): Make into obsolete alias for
5173         `python-prettify-symbols-alist'.
5175 2017-10-07  Alan Third  <alan@idiocy.org>
5177         Fix fullscreen crash on macOS (bug#28496)
5179         * lisp/frame.el (toggle-frame-fullscreen): Wait for animation to
5180         complete on macOS.
5182 2017-10-07  Alan Third  <alan@idiocy.org>
5184         Fix crash when closing fullscreen frame on macOS (bug#28661)
5186         * src/nsterm.m (EmacsView::windowWillResize): Return new frame size
5187         unmodified if the frame isn't live.
5189 2017-10-07  Michael Albinus  <michael.albinus@gmx.de>
5191         Support gio tool in Tramp
5193         "gvfs-<command>" utilities have been deprecated in GVFS 1.31.1.  We
5194         must use "gio <command>" tool instead.
5196         * lisp/net/tramp-gvfs.el (tramp-gvfs-gio-mapping): New defconst.
5197         (tramp-gvfs-handle-file-notify-add-watch): Support also "gio monitor"
5198         (tramp-gvfs-gio-tool-p): New defun.
5199         (tramp-gvfs-send-command): Use it.  Call gio tool if available.
5201 2017-10-07  João Távora  <joaotavora@gmail.com>
5203         Fix flymake-goto-next-error when message has %-constructs
5205         * lisp/progmodes/flymake.el (flymake-goto-next-error): Fix
5206         message call.  Add missing period in docstring.
5208 2017-10-07  Piotr Trojanek  <piotr.trojanek@gmail.com>
5210         * src/gnutls.c (syms_of_gnutls): Remove duplicated call to DEFSYM.
5212 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
5214         Move the entry about 'format' into Incompatible Lisp Changes
5216         * etc/NEWS: Move the entry about 'format' refraining from allocating
5217         new strings into Incompatible Lisp Changes.  (Bug#28625)
5219 2017-10-07  Eli Zaretskii  <eliz@gnu.org>
5221         Fix glitches in displaying TTY menus
5223         * src/dispnew.c (update_frame_line): Accept an additional argument
5224         UPDATING_MENU_P; if non-zero, home the cursor before updating a
5225         frame's line.  All callers changed.
5226         (update_frame_1): Accept an additional argument UPDATING_MENU_P,
5227         and pass it to update_frame_line.  All callers changed.
5228         (update_frame_with_menu): Call update_frame_1 with last argument
5229         non-zero.  (Bug#17497)
5231 2017-10-06  Gemini Lasswell  <gazally@runbox.com>
5233         Create new Edebug spec for docstrings and use it in closures
5235         Since (:documentation FORM) can be used to create a docstring
5236         when lexical-binding is on, allow for that possibility in Edebug
5237         specs (bug#24773).
5238         * lisp/emacs-lisp/edebug.el: Define an Edebug spec for docstrings
5239         called lambda-doc and modify the Edebug specs for defun and
5240         defmacro to use it.
5241         (edebug-instrument-function): Check for generic functions first,
5242         to fix bug where edebug-step-in didn't work on methods now that
5243         cl-defgeneric has an Edebug spec.
5244         * lisp/subr.el (lambda): Modify Edebug spec to use lambda-doc.
5245         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Add Edebug spec
5246         (bug#27747).
5247         (cl-defmethod): Use lambda-doc in Edebug spec.
5248         * lisp/emacs-lisp/cl-macs.el: Modify Edebug spec for
5249         cl-declarations-or-string to use lambda-doc, and modify Edebug
5250         spec for cl-lambda-expr to use cl-declarations-or-string.
5251         * lisp/emacs-lisp/pcase.el (pcase-lambda): Modify Edebug spec to
5252         use lambda-doc, as well as &define and def-body which are
5253         necessary for using Edebug on code wrapped by lambda.
5254         * lisp/emacs-lisp/generator.el (iter-defun, iter-lambda): Add
5255         Edebug specs.
5257 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
5259         Avoid byte-compilation warnings in message.el
5261         * lisp/gnus/message.el: Require 'subr-x' when compiling, to
5262         avoid compiler warnings.
5264 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
5266         Fix bug in recent styled_format change
5268         Problem reported by Kaushal Modi in:
5269         https://lists.gnu.org/r/emacs-devel/2017-10/msg00141.html
5270         * src/editfns.c (styled_format): Fix bug where USE_SAFE_ALLOCA was
5271         not always followed by SAFE_FREE.  This bug was introduced in my
5272         patch 2017-09-26T23:31:57Z!eggert@cs.ucla.edu entitled "Avoid some
5273         unnecessary copying in Fformat etc."
5275 2017-10-06  João Távora  <joaotavora@gmail.com>
5277         Cleanup emacs-lisp-mode's use of Flymake
5279         * lisp/progmodes/elisp-mode.el (elisp-flymake--checkdoc-1):
5280         Delete.
5281         (elisp-flymake-checkdoc): Incorporate old
5282         elisp-flymake--checkdoc-1.
5283         (elisp-flymake--byte-compile-done): Simplify.  Don't cleanup
5284         here.
5285         (elisp-flymake-byte-compile): Remove spurious interactive spec.
5286         Simplify.  Cleanup on every possible exit.
5288 2017-10-06  João Távora  <joaotavora@gmail.com>
5290         Fix @include directive in Flymake doc
5292         * doc/misc/flymake.texi: Don't @include a relative path.
5294 2017-10-06  Mark Oteiza  <mvoteiza@udel.edu>
5296         Move read-multiple-choice to its own library
5298         * lisp/emacs-lisp/rmc.el: New file.
5299         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Remove.
5300         * lisp/gnus/message.el:
5301         * lisp/net/nsm.el: Change required library.
5303 2017-10-06  Piotr Trojanek  <piotr.trojanek@gmail.com>
5305         * src/process.c (syms_of_process): Remove duplicated call to DEFSYM.
5307         Fixes: Bug#28721
5309 2017-10-06  Lele Gaifax  <lele@metapensiero.it>
5311         Fix typos in Flymake documentation
5313         * doc/misc/flymake.texi (Syntax check statuses)
5314         (Adding support for a new syntax check tool)
5315         (Implementation overview, Locating the buildfile): Fix typos.
5317         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn)
5318         (flymake-proc--find-possible-master-files):Fix typos.
5319         (flymake-proc--panic)
5320         (flymake-proc-legacy-flymake): Fix function reference in doc.
5322         * lisp/progmodes/flymake.el (flymake-error)
5323         (flymake-diagnostic-functions): Fix typos.
5324         (flymake-diagnostic-types-alist): Rephrase and fix typos.
5325         (flymake--backend-state): Fix typos and rephrase.
5326         (flymake--handle-report): Delete empty line.
5327         (flymake--disable-backend)
5328         (flymake--run-backend): Fix typos.
5329         (flymake-goto-next-error, flymake-goto-prev-error): Rephrase.
5331 2017-10-06  Eli Zaretskii  <eliz@gnu.org>
5333         Revert last change in 'shr-descend'
5335         * lisp/net/shr.el (shr-descend): Revert the part of the last
5336         change which introduced calls to shr-indirect-call into this
5337         function.  Add a comment explaining the rationale for that.
5338         (Bug#28402)
5340 2017-10-06  João Távora  <joaotavora@gmail.com>
5342         Don't error when turning on Flymake with no known backends
5344         Leave it to the mode line indicator to inform the user that there
5345         is still some configuration to do.
5347         * lisp/progmodes/flymake.el (flymake-mode): Simplify.
5349 2017-10-06  João Távora  <joaotavora@gmail.com>
5351         Delete a Flymake obsolete alias that can't possibly work
5353         The function `flymake-ler-make-ler' can't possibly work as an backward
5354         compatible interface to existing extensinos (even purely hypothetical
5355         ones, since none are known).  This is because every diagnostic
5356         considered by Flymake has to passed to a report-fn function.
5358         * lisp/progmodes/flymake.el (flymake-ler-make-ler): Delete.
5360 2017-10-06  Paul Eggert  <eggert@cs.ucla.edu>
5362         Fix bug with unmounted directory on GNU/Linux
5364         * src/sysdep.c (emacs_get_current_dir_name): Do not use
5365         get_current_dir_name result unless it is absolute (Bug#27871).
5368 2017-10-05  Nicolas Petton  <nicolas@petton.fr>
5370         Update authors.el
5372         * admin/authors.el (authors-renamed-files-alist)
5373         (authors-valid-file-names): Additions.
5375 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
5377         Fix dynamic binding wrapper in iter-lambda (bug#25965)
5379         * lisp/emacs-lisp/generator.el (cps--make-dynamic-binding-wrapper):
5380         Remove extra evaluation of form.
5381         * test/lisp/emacs-lisp/generator-tests.el
5382         (cps-iter-lambda-with-dynamic-binding): New test.
5384 2017-10-05  Rasmus  <rasmus@gmx.us>
5386         Update Org to v9.1.2
5388         Please note this is a bugfix release.  See etc/ORG-NEWS for details.
5390 2017-10-05  Alan Mackenzie  <acm@muc.de>
5392         Fix irregularities with CC Mode fontification, particularly with "known types"
5394         * lisp/progmodes/cc-fonts.el (c-font-lock-declarators): Introduce a new
5395         optional parameter, template-class.  In "class <X = Y>", fontify "Y" as a
5396         type.
5397         (c-font-lock-single-decl): New variable template-class, set to non-nil when we
5398         have a construct like the above.  Pass this as argument to
5399         c-font-lock-declarators.
5400         (c-font-lock-cut-off-declarators): Check more rigorously that a declaration
5401         being processed starts before the function's starting position.
5402         (c-complex-decl-matchers): Remove the redundant clause which fontified "types
5403         preceded by, e.g., "struct"".
5405         * lisp/progmodes/cc-langs.el (c-template-typename-kwds)
5406         (c-template-typename-key): New lang defconsts and defvar.
5408 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
5410         Fix breakage due to recent change in tabulated-list-print-entry
5412         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
5413         Update the doc string.
5414         (tabulated-list-print-entry): Revert to using only 2 arguments.
5415         Update the doc string.
5416         (tabulated-list-entry-lnum-width): New defvar.
5417         (tabulated-list-print): Compute the width of line-number display
5418         once, then store that value in tabulated-list-entry-lnum-width,
5419         for tabulated-list-printer to use.  (Bug#28704)
5421 2017-10-05  Gemini Lasswell  <gazally@runbox.com>
5423         * lisp/ses.el (ses-print-cell): Fix alignment of text cells.  (Bug#27653)
5425 2017-10-05  Alexander Gramiak  <agrambot@gmail.com>
5427         Set xterm click count to 1 even with no last click
5429         * lisp/xt-mouse.el (xterm-mouse-event): Move the check for
5430         the last click so that click-count is initialized properly.
5431         Handle the value of t for double-click-time.
5432         (Bug#28658)
5434 2017-10-05  Vasilij Schneidermann  <mail@vasilij.de>
5436         Support indirection for all shr-tag-* calls
5438         The 'shr-external-rendering-functions' variable was previously only
5439         honored in the shr-descend function, now all direct calls to the
5440         shr-tag-* functions have been replaced by a call to
5441         'shr-indirect-call' which tries using an alternative rendering
5442         function first.
5444         * lisp/net/shr.el (shr-indirect-call): New helper function.
5445         (shr-descend, shr-tag-object, shr-tag-video):
5446         (shr-collect-extra-strings-in-table): Fix callers to call via
5447         shr-indirect-call.  (Bug#28402)
5449 2017-10-05  Eli Zaretskii  <eliz@gnu.org>
5451         Speed up list-packages when 'visual' line numbers are displayed
5453         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-printer):
5454         Update the doc string.
5455         (tabulated-list-print-entry): Accept an additional optional
5456         argument INDENT.  Update the doc string.
5457         (tabulated-list-print): Compute the width of line-number display
5458         once, then call tabulated-list-printer with that value as 3rd
5459         argument.  (Bug#28704)
5461 2017-10-05  João Távora  <joaotavora@gmail.com>
5463         Misc. minor adjustments to Flymake
5465         - Add a half-decent minor-mode menu;
5466         - Fix "waiting for backends" mode line message;
5467         - Adjust the flymake-diag-region API;
5468         - Autoload the flymake-log macro;
5469         - Auto-disable the legacy backend in more situations;
5470         - Fix a couple of warnings in legacy backend.
5472         * lisp/progmodes/flymake-proc.el
5473         (flymake-proc--diagnostics-for-pattern): Use new
5474         flymake-diag-region.
5476         * lisp/progmodes/flymake-proc.el
5477         (flymake-proc-legacy-flymake): Do error when no
5478         buffer-file-name or not writable.
5479         (flymake-proc-legacy-flymake)
5480         (flymake-proc-simple-cleanup): Don't reference flymake-last-change-time
5482         * lisp/progmodes/flymake.el (flymake-diag-region):
5483         Autoload.  Take buffer as first argument.
5485         * lisp/progmodes/flymake.el (flymake-switch-to-log-buffer):
5486         New command.
5487         (flymake-menu): Add a simple menu.
5488         (flymake--mode-line-format): Use menu.  Fix message.  Switch to
5489         log buffer when clicking exceptional warnings.
5491 2017-10-05  Johan Bockgård  <bojohan@gnu.org>
5493         Fix search for ~/.Xdefaults-HOSTNAME
5495         * src/xrdb.c (get_environ_db): Fix typo when handling
5496         ~/.Xdefaults-HOSTNAME (Bug#28708).
5498 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
5500         Speed up (format "%s" STRING) and the like
5502         Although the Lisp manual said that ‘format’ returns a
5503         newly-allocated string, this was not true for a few cases like
5504         (format "%s" ""), and fixing the documentation to allow reuse of
5505         arguments lets us improve performance in common cases like
5506         (format "foo") and (format "%s" "foo") (Bug#28625).
5507         * doc/lispref/strings.texi (Formatting Strings):
5508         * etc/NEWS:
5509         Say that the result of ‘format’ might not be newly allocated.
5510         * src/callint.c (Fcall_interactively):
5511         * src/dbusbind.c (XD_OBJECT_TO_STRING):
5512         * src/editfns.c (Fmessage, Fmessage_box):
5513         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
5514         Just use Fformat or Fformat_message, as that’s simpler and no
5515         longer makes unnecessary copies.
5516         * src/editfns.c (styled_format): Remove last argument, as it
5517         is no longer needed: all callers now want it to behave as if it
5518         were true.  All remaining callers changed.  Make this function
5519         static again.  Simplify the function now that we no longer
5520         need to worry about whether the optimization is allowed.
5522 2017-10-04  Alan Mackenzie  <acm@muc.de>
5524         Fontify untyped function declarations in C Mode correctly.
5526         Also correct two bugs where deleting WS at a BOL could leave an untyped
5527         function declaration unfontified.
5529         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Don't set the flag
5530         "top-level" when we're in a macro.
5531         (c-forward-decl-or-cast-1): Recognize top-level "foo(bar)" or "foo()" in C
5532         Mode as a implicitly typed function declaration.
5533         (c-just-after-func-arglist-p): Don't get confused by "defined (foo)" inside a
5534         macro.  It's not a function plus arglist.
5536         * lisp/progmodes/cc-langs.el (c-cpp-expr-functions-key): New defconst and
5537         defvar.
5539         * lisp/progmodes/cc-mode.el (c-fl-decl-end): After c-forward-declarator, move
5540         over any following parenthesis expression (i.e. parameter list).
5541         (c-change-expand-fl-region): When c-new-END is at a BOL, include that line in
5542         the returned region, to cope with deletions at column 0.
5544 2017-10-04  Michael Albinus  <michael.albinus@gmx.de>
5546         * lisp/net/tramp.el (tramp-tramp-file-p): Use `string-match-p'.
5548         Reported by Clément Pit-Claudel <cpitclaudel@gmail.com>.
5550 2017-10-04  Eli Zaretskii  <eliz@gnu.org>
5552         Avoid crashes on C-g when several threads wait for input
5554         * src/thread.h (m_getcjmp): New member of 'struct thread_state'.
5555         (getcjmp): Define to current thread's 'm_getcjmp'.
5556         * src/thread.c (maybe_reacquire_global_lock): Switch to main
5557         thread, since this is called from a SIGINT handler, which always
5558         runs in the context of the main thread.
5559         * src/lisp.h (sys_jmp_buf, sys_setjmp, sys_longjmp): Move the
5560         definitions before thread.h is included, as thread.h now uses
5561         sys_jmp_buf.
5562         * src/keyboard.c (getcjmp): Remove declaration.
5563         (read_char): Don't call maybe_reacquire_global_lock here.
5564         (handle_interrupt): Call maybe_reacquire_global_lock here, if
5565         invoked from the SIGINT handler, to make sure
5566         quit_throw_to_read_char runs with main thread's Lisp bindings and
5567         uses the main thread's jmp_buf buffer.  (Bug#28630)
5569 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
5571         Warn if --without-pop is now the default
5573         * configure.ac (with_pop): Set to no-by-default if defaulting to "no".
5574         Warn about the change if defaulting to "no".  Update URLs.
5576 2017-10-04  Paul Eggert  <eggert@cs.ucla.edu>
5578         --with-pop is now the default only on MS-Windows
5580         Problem reported by N. Jackson (Bug#28597).
5581         This improves an earlier suggestion by Robert Pluim (Bug#28597#47).
5582         * INSTALL, configure.ac, etc/NEWS:
5583         Make --with-pop the default only on native MS-Windows.
5585 2017-10-03  Michael Albinus  <michael.albinus@gmx.de>
5587         Add support for `file-system-info' in Tramp
5589         * lisp/net/tramp.el (tramp-file-name-for-operation):
5590         Add `file-system-info'.
5592         * lisp/net/tramp-adb.el (tramp-adb-handle-file-system-info): New defun.
5593         (tramp-adb-file-name-handler-alist): Use it.
5595         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-system-attributes)
5596         (tramp-gvfs-file-system-attributes-regexp): New defconst.
5597         (tramp-gvfs-handle-file-system-info): New defun.
5598         (tramp-gvfs-file-name-handler-alist): Use it.
5599         (tramp-gvfs-get-directory-attributes): Fix property name.
5600         (tramp-gvfs-get-root-attributes): Support also file system attributes.
5602         * lisp/net/tramp-sh.el (tramp-sh-handle-file-system-info): New defun.
5603         (tramp-sh-file-name-handler-alist): Use it.
5604         (tramp-sh-handle-insert-directory): Insert size information.
5605         (tramp-get-remote-df): New defun.
5607         * lisp/net/tramp-smb.el (tramp-smb-handle-file-system-info): New defun.
5608         (tramp-smb-file-name-handler-alist): Use it.
5609         (tramp-smb-handle-insert-directory): Insert size information.
5611         * test/lisp/net/tramp-tests.el (tramp-test37-file-system-info):
5612         New test.
5613         (tramp-test38-asynchronous-requests)
5614         (tramp-test39-recursive-load, tramp-test40-remote-load-path)
5615         (tramp-test41-unload): Rename.
5617 2017-10-03  João Távora  <joaotavora@gmail.com>
5619         Merge branch 'scratch/flymake-refactor-clean-for-emacs-26' into emacs-26
5621 2017-10-03  João Távora  <joaotavora@gmail.com>
5623         Start rewriting Flymake manual
5625         Missing the parts pertaining to the new customization API.
5627         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
5628         (Installing Flymake): Delete most of this.
5629         (Running the syntax check): Mention flymake-start.
5630         (Navigating to error lines): Rewrite.
5631         (Viewing error messages): Commente out.
5632         (Syntax check statuses, Troubleshooting): Rewrite a bit.
5633         (Customizable variables): New section under "Using
5634         Flymake".  Don't mention any proc variables here.
5635         (Configuring Flymake): Delete
5636         (Proc backend): New chapter
5637         (Proc customization variables): New chapter.
5639         * doc/misc/flymake.texi (Overview of Flymake): Rewrite a bit.
5640         (Installing Flymake): Mostly scratch. Flymake comes with Emacs.
5641         (Running the syntax check): Simplify.
5642         (Viewing error messages): Dekete,
5643         (Syntax check statuses): Rewrite.
5644         (Troubleshooting): Simplify.
5645         (Customizable variables): Rewrite.
5646         (Extending Flymake): New chapter, empty for now.
5647         (The legacy Proc backend): New chapter.
5648         (Proc customizable variables)
5649         (Adding support for a new syntax check tool)
5650         (Implementation overview)
5651         (Making a temporary copy)
5652         (Locating a master file)
5653         (Getting the include directories)
5654         (Locating the buildfile)
5655         (Starting the syntax check process)
5656         (Parsing the output)
5657         (Interaction with other modes)
5658         (Example---Configuring a tool called via make)
5659         (Example---Configuring a tool called directly): Rewrite a bit.
5661 2017-10-03  João Távora  <joaotavora@gmail.com>
5663         Minimal tweak as an attempt to future-proof Flymake API
5665         Discussed with Stefan that this should allow Flymake to request more
5666         from backends in the future, while also allowing backends to report
5667         more accurately.
5669         * lisp/progmodes/elisp-mode.el (elisp-flymake-checkdoc)
5670         (elisp-flymake-byte-compile): Adjust to new API.
5672         * lisp/progmodes/flymake-proc.el ()
5673         (flymake-proc-legacy-flymake): Adjust to new API.
5675         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
5676         Review API again.
5677         (flymake--handle-report): Allow other keys.  Change ACTION to
5678         REPORT-ACTION.
5680 2017-10-03  João Távora  <joaotavora@gmail.com>
5682         Integrate Flymake elisp checkers into elisp-mode.el directly
5684         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Use
5685         elisp-flymake-checkdoc and elisp-flymake-byte-compile.
5686         (elisp-flymake--checkdoc-1, elisp-flymake-checkdoc)
5687         (elisp-flymake--byte-compile-done)
5688         (elisp-flymake--byte-compile-process)
5689         (elisp-flymake-byte-compile): Rename from flymake-elisp
5690         counterparts in deleted flymake-elisp.el
5691         (elisp-flymake--batch-compile-for-flymake): New helper.
5692         (checkdoc-create-error-function)
5693         (checkdoc-autofix-flag)
5694         (checkdoc-generate-compile-warnings-flag)
5695         (checkdoc-diagnostic-buffer): Forward declare.
5697         * lisp/progmodes/flymake-elisp.el: Delete.
5699 2017-10-03  João Távora  <joaotavora@gmail.com>
5701         Hook Flymake onto proper checkdoc and byte-compile interfaces
5703         The interfaces in bytecomp.el and checkdoc.el are mostly boilerplate,
5704         with little knowledge of actual internals or thought given to the
5705         usefulness of said interfaces in contexts other than Flymake's.
5707         * lisp/emacs-lisp/bytecomp.el
5708         (byte-compile-log-warning-function): New variable.
5709         (byte-compile-log-warning): Use it.
5710         (byte-compile--log-warning-for-byte-compile): New function.
5712         * lisp/emacs-lisp/checkdoc.el
5713         (checkdoc-create-error-function): New variable.
5714         (checkdoc-create-error): Use it.
5715         (checkdoc--create-error-for-checkdoc): New function.xo
5717         * lisp/progmodes/flymake-elisp.el (flymake-elisp--checkdoc-1):
5718         Use checkdoc-create-error-function.
5719         (flymake-elisp--batch-byte-compile): Use
5720         byte-compile-log-warning-function.
5722 2017-10-03  João Távora  <joaotavora@gmail.com>
5724         Tweak Flymake autoloads and dependencies
5726         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Add to
5727         flymake-diagnostic-functions here.
5729         * lisp/progmodes/flymake-elisp.el[top]: Don't add to
5730         emacs-lisp-mode-hook.  Don't call flymake-elisp-setup-backends in
5731         every buffer.  (flymake-elisp-checkdoc) (flymake-elisp-byte-compile):
5732         Autoload.  (flymake-elisp-setup-backends): Remove.
5734         * lisp/progmodes/flymake.el: Add some top-level comments.
5735         (flymake-make-diagnostic)
5736         (flymake-mode, flymake-mode-on, flymake-mode-off): Add autoloads
5738         Where to fixup this shit?
5740 2017-10-03  João Távora  <joaotavora@gmail.com>
5742         Capitalize "Flymake" in docstrings and comments
5744         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
5745         (flymake-elisp-setup-backends): Capitalize "Flymake"
5747         * lisp/progmodes/flymake-proc.el:
5748         (flymake-proc-reformat-err-line-patterns-from-compile-el)
5749         (flymake-proc--panic, flymake-proc-legacy-flymake)
5750         (flymake-start-syntax-check, flymake-proc-compile)
5751         (define-obsolete-variable-alias): Capitalize "Flymake"
5753         * lisp/progmodes/flymake.el (flymake-fringe-indicator-position)
5754         (flymake-make-diagnostic, flymake-delete-own-overlays)
5755         (flymake-diagnostic-functions)
5756         (flymake-diagnostic-types-alist, flymake-is-running)
5757         (flymake-make-report-fn, flymake-mode-on, flymake-mode-off)
5758         (flymake-goto-next-error, flymake-goto-prev-error): Capitalize "Flymake"
5760 2017-10-03  João Távora  <joaotavora@gmail.com>
5762         Flymake backends can report multiple times per check
5764         Rewrote a significant part of the Flymake backend API.  Flymake now
5765         ignores the return value of backend functions: a function can either
5766         returns or errors.  If it doesn't error, a backend is no longer
5767         constrained to call REPORT-FN exactly once.  It may do so any number
5768         of times, cumulatively reporting diagnostics.  Flymake keeps track of
5769         outdated REPORT-FN instances and disconsiders obsolete reports.
5770         Backends should avoid reporting obsolete data by canceling any
5771         ongoing processing at every renewed call to the backend function.
5773         Consolidated flymake.el internal data structures to require less
5774         buffer-local variables.  Adjusted Flymake's mode-line indicator to the
5775         new semantics.
5777         Adapted and simplified the implementation of elisp and legacy
5778         backends, fixing potential race conditions when calling backends in
5779         rapid succession.
5781         Added a new test for a backend that calls REPORT-FN multiple
5782         times.  Simplify test infrastructure.
5784         * lisp/progmodes/flymake-elisp.el (flymake-elisp-checkdoc)
5785         (flymake-elisp-byte-compile): Error instead of returning nil
5786         if not in emacs-lisp-mode.
5787         (flymake-elisp--byte-compile-process): New buffer-local variable.
5788         (flymake-elisp-byte-compile): Mark (and kill) previous process
5789         obsolete process before starting a new one.  Don't report if
5790         obsolete process.
5792         * lisp/progmodes/flymake-proc.el
5793         (flymake-proc--current-process): New buffer-local variable.
5794         (flymake-proc--processes): Remove.
5795         (flymake-proc--process-filter): Don't bind
5796         flymake-proc--report-fn.
5797         (flymake-proc--process-sentinel): Rewrite.  Don't report if
5798         obsolete process.
5799         (flymake-proc-legacy-flymake): Rewrite.  Mark (and kill)
5800         previous process obsolete process before starting a new
5801         one.  Integrate flymake-proc--start-syntax-check-process
5802         helper.
5803         (flymake-proc--start-syntax-check-process): Delete.
5804         (flymake-proc-stop-all-syntax-checks): Don't use
5805         flymake-proc--processes, iterate buffers.
5806         (flymake-proc-compile):
5808         * lisp/progmodes/flymake.el (subr-x): Require it
5809         explicitly.
5810         (flymake-diagnostic-functions): Reword docstring.
5811         (flymake--running-backends, flymake--disabled-backends)
5812         (flymake--diagnostics-table): Delete.
5813         (flymake--backend-state): New buffer-local variable and new defstruct.
5814         (flymake--with-backend-state, flymake--collect)
5815         (flymake-running-backends, flymake-disabled-backends)
5816         (flymake-reporting-backends): New helpers.
5817         (flymake-is-running): Use flymake-running-backends.
5818         (flymake--handle-report): Rewrite.
5819         (flymake-make-report-fn): Ensure REPORT-FN runs in the correct
5820         buffer or not at all.
5821         (flymake--disable-backend, flymake--run-backend): Rewrite.
5822         (flymake-start): Rewrite.
5823         (flymake-mode): Set flymake--backend-state.
5824         (flymake--mode-line-format): Rewrite.
5826         * test/lisp/progmodes/flymake-tests.el
5827         (flymake-tests--wait-for-backends): New helper.
5828         (flymake-tests--call-with-fixture): Use it.
5829         (included-c-header-files): Fix whitespace.
5830         (flymake-tests--diagnose-words): New helper.
5831         (dummy-backends): Rewrite for new semantics.  Use cl-letf.
5832         (flymake-tests--assert-set): Use quote.
5833         (recurrent-backend): New test.
5835 2017-10-03  João Távora  <joaotavora@gmail.com>
5837         Flymake uses proper idle timers
5839         Also, flymake-no-changes-timeout can be set to nil to disable
5840         automatic periodic checks.  But even in that situation the idle timer
5841         still runs at a reduced rate to detect changes in the variable and
5842         revert that decision.
5844         * lisp/progmodes/flymake.el (flymake-no-changes-timeout): Improve doc.
5845         (flymake-last-change-time): Delete.
5846         (flymake--schedule-timer-maybe): New helper.
5847         (flymake-after-change-function): Use it.
5848         (flymake-on-timer-event): Delete
5849         (flymake-mode): Don't scheduler timer.
5851 2017-10-03  João Távora  <joaotavora@gmail.com>
5853         Flymake variable flymake-diagnostic-functions now a special hook
5855         * lisp/progmodes/flymake-proc.el: Use add-hook to affect
5856         flymake-diagnostic-functions.
5858         * lisp/progmodes/flymake-elisp.el
5859         (flymake-elisp-setup-backends): Use add-hook.
5861         * lisp/progmodes/flymake.el (flymake-diagnostic-functions):
5862         Revise docstring.
5863         (flymake-start): Use run-hook-wrapped.
5865 2017-10-03  João Távora  <joaotavora@gmail.com>
5867         Batch of minor Flymake cleanup actions agreed to with Stefan
5869         Discussed with Stefan, in no particular order
5871         - Remove aliases for symbols thought to be internal to flymake-proc.el
5872         - Don’t need :group in defcustom and defface in flymake.el
5873         - Fix docstring of flymake-make-diagnostic
5874         - Fix docstring of flymake-diagnostic-functions to clarify keywords.
5875         - Mark overlays with just the property ’flymake, not ’flymake-overlay
5876         - Tune flymake-overlays for performance
5877         - Make flymake-mode-on and flymake-mode-off obsolete
5878         - Don’t use hash-table-keys unless necessary.
5879         - Copyright notice in flymake-elisp.
5881         Added some more
5883         - Clarify docstring of flymake-goto-next-error
5884         - Clarify a comment in flymake--run-backend complaining about ert-deftest.
5885         - Prevent compilation warnings in flymake-proc.el
5886         - Remove doctring from obsolete aliases
5888         Now the changelog:
5890         * lisp/progmodes/flymake-elisp.el: Proper copyright notice.
5892         * lisp/progmodes/flymake-proc.el (flymake-warning-re)
5893         (flymake-proc-diagnostic-type-pred)
5894         (flymake-proc-default-guess)
5895         (flymake-proc--get-file-name-mode-and-masks): Move up to
5896         beginning of file to shoosh compiler warnings
5897         (define-obsolete-variable-alias): Delete many obsolete aliases.
5899         * lisp/progmodes/flymake.el (flymake-error-bitmap)
5900         (flymake-warning-bitmap, flymake-note-bitmap)
5901         (flymake-fringe-indicator-position)
5902         (flymake-start-syntax-check-on-newline)
5903         (flymake-no-changes-timeout, flymake-gui-warnings-enabled)
5904         (flymake-start-syntax-check-on-find-file, flymake-log-level)
5905         (flymake-wrap-around, flymake-error, flymake-warning)
5906         (flymake-note): Don't need :group in these defcustom and defface.
5907         (flymake--run-backend): Clarify comment
5908         (flymake-mode-map): Remove.
5909         (flymake-make-diagnostic): Fix docstring.
5910         (flymake--highlight-line, flymake--overlays): Identify flymake
5911         overlays with just ’flymake.
5912         (flymake--overlays): Reverse order of invocation for
5913         cl-remove-if-not and cl-sort.
5914         (flymake-mode-on)
5915         (flymake-mode-off): Make obsolete.
5916         (flymake-goto-next-error, flymake-goto-prev-error): Fix docstring.
5917         (flymake-diagnostic-functions): Clarify keyword arguments in
5918         docstring.
5920         Maybe squash in that one where I remove many obsoletes
5922 2017-10-03  João Távora  <joaotavora@gmail.com>
5924         Explicitly add a(n empty) keymap for Flymake
5926         Too early to decide what will be in it, if anything.  Though "M-n" and
5927         "M-p" would be great.
5929         * lisp/progmodes/flymake-ui.el (flymake-mode-map): New variable
5931 2017-10-03  João Távora  <joaotavora@gmail.com>
5933         Flymake uses some new fringe bitmaps
5935         Also fix behaviour whereby flymake wouldn't react to a change in the
5936         variable.
5938         * lisp/progmodes/flymake-ui.el (flymake-error-bitmap)
5939         (flymake-warning-bitmap): Update bitmaps.
5940         (flymake-note-bitmap): New defcustom.
5941         (flymake-double-exclamation-mark): New bitmap.
5942         (flymake-error, flymake-warning, flymake-note)
5943         (flymake--highlight-line): 'bitmap property must be a symbol.
5944         Also set default face to flymake-error.
5945         (flymake--fringe-overlay-spec): Bitmap property can be a
5946         variable symbol.
5948 2017-10-03  João Távora  <joaotavora@gmail.com>
5950         Remove old flymake-display-err-menu-for-current-line, it's useless
5952         See https://lists.gnu.org/r/emacs-devel/2017-09/msg00949.html
5954         * lisp/progmodes/flymake-ui.el
5955         (flymake-popup-current-error-menu): Remove.
5957 2017-10-03  João Távora  <joaotavora@gmail.com>
5959         Treat Flymake errors as just another type of diagnostic
5961         * lisp/progmodes/flymake.el (flymake--diag-errorp): Remove.
5962         (flymake--handle-report, flymake-popup-current-error-menu):
5963         Don't use it.
5965 2017-10-03  João Távora  <joaotavora@gmail.com>
5967         Fix three Flymake bugs when checking C header files
5969         The first of these problems is longstanding: if an error-less B.h is
5970         included from error-ridden A.h, flymake's legacy parser will panic
5971         (and disable itself) since it sees a non-zero exit for a clean file.
5972         To fix this, recommend returning 'true' in the documentation for the
5973         check-syntax target.
5975         Another problem was introduced by the parser rewrite.  For error
5976         patterns spanning more than one line, point may be left in the middle
5977         of a line and thus render other patterns useless.  Those patterns were
5978         written for the old line-by-line parser.  To make them useful again,
5979         move to the beginning of line in those situations.
5981         The third problem was also longstanding and happened on newer GCC's:
5982         The "In file included from" prefix confused
5983         flymake-proc-get-real-file-name.  Fix this.
5985         Also updated flymake--diag-region to fallback to highlighting a full
5986         line less often.
5988         Add automatic tests to check this.
5990         * lisp/progmodes/flymake-proc.el
5991         (flymake-proc--diagnostics-for-pattern): Fix bug when patterns
5992         accidentally spans more than one line.  Don't create
5993         diagnostics without error messages.
5994         (flymake-proc-real-file-name-considering-includes): New
5995         helper.
5996         (flymake-proc-allowed-file-name-masks): Use it.
5998         * lisp/progmodes/flymake.el (flymake-diag-region): Make COL
5999         argument explicitly optional.  Only fall back to full line in extreme
6000         cases.
6002         * test/lisp/progmodes/flymake-tests.el
6003         (included-c-header-files): New test.
6004         (different-diagnostic-types): Update.
6006         * test/lisp/progmodes/flymake-resources/Makefile
6007         (check-syntax): Always return success (0) error code.
6008         (CC_OPTS): Add -Wextra
6010         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c
6011         (main): Rewrite comments.
6013         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
6014         Include some dummy header files.
6016         * test/lisp/progmodes/flymake-resources/no-problems.h: New file.
6018         * test/lisp/progmodes/flymake-resources/some-problems.h: New file.
6020         * doc/misc/flymake.texi (Example---Configuring a tool called
6021         via make): Recommend adding "|| true" to the check-syntax target.
6023 2017-10-03  João Távora  <joaotavora@gmail.com>
6025         Add interactive flymake-start function
6027         * lisp/progmodes/flymake.el (flymake-on-timer-event)
6028         (flymake-after-change-function, flymake-mode): Call
6029         flymake-start.
6030         (flymake-start): Rename from flymake--start-syntax-check.
6032 2017-10-03  João Távora  <joaotavora@gmail.com>
6034         A couple of Flymake backends for emacs-lisp-mode
6036         Loading flymake-elisp.el doesn't setup flymake-mode to turn on
6037         automatically, but it affects emacs-lisp-mode-hook so that
6038         flymake-diagnostic-functions is setup with a suitable buffer-local
6039         value.  The variable flymake-diagnostic-funtions in every live
6040         emacs-lisp-mode buffer is also adjusted.
6042         * lisp/progmodes/flymake.el (top): Require flymake-elisp.
6044         * lisp/progmodes/flymake-elisp.el: New file.
6046 2017-10-03  João Távora  <joaotavora@gmail.com>
6048         Fancy Flymake mode-line construct displays status
6050         Imitates compilation-mode's mode-line a bit, and uses its faces.
6052         * lisp/progmodes/flymake.el
6053         (flymake-error, flymake-warning, flymake-note): Add
6054         mode-line-face to these flymake error types.
6055         (flymake-note): Notes don't need a noisy fringe bitmap.
6056         (flymake-lighter): Delete.
6057         (flymake--update-lighter): Delete.
6058         (flymake--mode-line-format): New function and variable.
6059         (flymake--diagnostics-table): New buffer-local variable.
6060         (flymake--handle-report): Don't update "lighters".  Affect
6061         flymake--diagnostics-table.
6062         (flymake--run-backend): Init flymake--diagnostics-table for backend.
6063         (flymake-mode): Use flymake--mode-line-format.
6064         (flymake-mode): Don't update lighter.
6065         (flymake--highlight-line): Be more careful when overriding a
6066         nil default overlay property.
6068 2017-10-03  João Távora  <joaotavora@gmail.com>
6070         Tweak Flymake commands flymake-goto-[next/prev]-error
6072         Add filters, useful for backends like the upcoming
6073         flymake-elisp-checkdoc backend, for example, which litters everything
6074         with low-priority notes.
6076         Also re-implement wraparound for flymake-goto-next-error. Manual
6077         mentions this, so it's probably a good idea to keep it.  Added a new
6078         customization variable flymake-wrap-around to control it.
6080         * lisp/progmodes/flymake.el (flymake-goto-prev-error)
6081         (flymake-goto-next-error): Accept FILTER argument.
6082         (flymake-wrap-around): New variable.
6083         (flymake-goto-next-error): Wrap around according to flymake-wrap-around.
6085         * test/lisp/progmodes/flymake-tests.el
6086         (different-diagnostic-types, dummy-backends): Pass FILTER to
6087         flymake-goto-prev-error.
6088         (different-diagnostic-types)
6089         (dummy-backends): Use flymake-wrap-around.
6091 2017-10-03  João Távora  <joaotavora@gmail.com>
6093         Flymake's flymake-proc.el backend slightly easier to debug
6095         Misc cleanup in flymake-proc.el
6097         Improve description of what this file contains.
6099         Better name for the backend function.  Fix the case where it is run
6100         interactively.
6102         Keep the output buffer alive iff the external process panics.
6104         * lisp/progmodes/flymake-proc.el
6105         (flymake-proc-legacy-flymake): Rename from
6106         flymake-proc-start-syntax-check.  Allow running interactively.
6107         (flymake-start-syntax-check): Obsolete alias for
6108         flymake-proc-legacy-flymake.
6109         (flymake-proc-start-syntax-check): Delete.
6110         (flymake-diagnostic-functions): Include flymake-proc-legacy-flymake
6111         (flymake-proc--process-sentinel): Keep output buffer alive.
6112         Clarify with comments.
6113         (flymake-proc--diagnostics-for-pattern)
6114         (flymake-proc--process-sentinel)
6115         (flymake-proc--safe-delete-directory)
6116         (flymake-proc--start-syntax-check-process): Use condition-case-unless-debug.
6118 2017-10-03  João Távora  <joaotavora@gmail.com>
6120         Simplify Flymake logging and erroring
6122         Use display-warning and a dedicated *Flymake log* buffer.
6124         To ease readability, flymake log messages are now prefixed with a
6125         common prefix and the buffer that originated them.
6127         Some situations of over-zealous logging are fixed.
6129         Use byte-compiler info, if available, to determine whence the
6130         flymake-related log message is coming.
6132         * lisp/progmodes/flymake-proc.el
6133         (flymake-proc--diagnostics-for-pattern): Improve log message.
6134         (flymake-proc--panic): Always flymake-log an error
6135         (flymake-proc--safe-delete-file)
6136         (flymake-proc--safe-delete-directory):
6137         Downgrade warning
6138         (flymake-proc-start-syntax-check): Simplify slightly.
6139         (flymake-proc--start-syntax-check-process): Simplify.
6140         (flymake-proc--init-find-buildfile-dir)
6141         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
6142         No need to warn twice.
6144         * lisp/progmodes/flymake.el (flymake-log): Convert to macro.
6145         (flymake--log-1): New helper.
6146         (flymake-log-level): Deprecate.
6147         (flymake-error): New helper.
6148         (flymake-ler-make-ler, flymake--handle-report, flymake-mode):
6149         Use flymake-error.
6150         (flymake-on-timer-event)
6151         (flymake--handle-report, flymake--disable-backend)
6152         (flymake--run-backend, flymake-start, flymake-mode-on)
6153         (flymake-mode-off, flymake-after-change-function)
6154         (flymake-after-save-hook, flymake-find-file-hook): Adjust
6155         flymake-log calls.
6157         * test/lisp/progmodes/flymake-tests.el
6158         (flymake-tests--call-with-fixture): Only log errors.
6160 2017-10-03  Philipp Stephani  <phst@google.com>
6162         Work around deprecation of gtk_style_context_get_background_color
6164         * src/gtkutil.c (xg_check_special_colors): Replace call to
6165         gtk_style_context_get_background_color with its definition.
6167 2017-10-03  João Távora  <joaotavora@gmail.com>
6169         New Flymake API variable flymake-diagnostic-functions
6171         Lay groundwork for multiple active backends in the same buffer.
6173         Backends are lisp functions called when flymake-mode sees fit.  They
6174         are responsible for examining the current buffer and telling
6175         flymake.el, via return value, if they can syntax check it.
6176         Backends should return quickly and inexpensively, but they are also
6177         passed a REPORT-FN argument which they may or may not call
6178         asynchronously after performing more expensive work.
6180         REPORT-FN's calling convention stipulates that a backend calls it with
6181         a list of diagnostics as argument, or, alternatively, with a symbol
6182         denoting an exceptional situation, usually some panic resulting from a
6183         misconfigured backend.  In keeping with legacy behaviour,
6184         flymake.el's response to a panic is to disable the issuing backend.
6186         The flymake--diag object representing a diagnostic now also keeps
6187         information about its source backend.  Among other uses, this allows
6188         flymake to selectively cleanup overlays based on which backend is
6189         updating its diagnostics.
6191         * lisp/progmodes/flymake-proc.el (flymake-proc--report-fn):
6192         New dynamic variable.
6193         (flymake-proc--process): New variable.
6194         (flymake-can-syntax-check-buffer): Remove.
6195         (flymake-proc--process-sentinel): Simplify.  Use
6196         unwind-protect.  Affect flymake-proc--processes here.
6197         Bind flymake-proc--report-fn.
6198         (flymake-proc--process-filter): Bind flymake-proc--report-fn.
6199         (flymake-proc--post-syntax-check): Delete
6200         (flymake-proc-start-syntax-check): Take mandatory
6201         report-fn.  Rewrite.  Bind flymake-proc--report-fn.
6202         (flymake-proc--process-sentinel): Rewrite and simplify.
6203         (flymake-proc--panic): New helper.
6204         (flymake-proc--start-syntax-check-process): Record report-fn
6205         in process.  Use flymake-proc--panic.
6206         (flymake-proc-stop-all-syntax-checks): Use mapc.  Don't affect
6207         flymake-proc--processes here.  Record interruption reason.
6208         (flymake-proc--init-find-buildfile-dir)
6209         (flymake-proc--init-create-temp-source-and-master-buffer-copy):
6210         Use flymake-proc--panic.
6211         (flymake-diagnostic-functions): Add
6212         flymake-proc-start-syntax-check.
6213         (flymake-proc-compile): Call
6214         flymake-proc-stop-all-syntax-checks with a reason.
6216         * lisp/progmodes/flymake.el (flymake-backends): Delete.
6217         (flymake-check-was-interrupted): Delete.
6218         (flymake--diag): Add backend slot.
6219         (flymake-delete-own-overlays): Take optional filter arg.
6220         (flymake-diagnostic-functions): New user-visible variable.
6221         (flymake--running-backends, flymake--disabled-backends): New
6222         buffer-local variables.
6223         (flymake-is-running): Now a function, not a variable.
6224         (flymake-mode-line, flymake-mode-line-e-w)
6225         (flymake-mode-line-status): Delete.
6226         (flymake-lighter):  flymake's minor-mode "lighter".
6227         (flymake-report): Delete.
6228         (flymake--backend): Delete.
6229         (flymake--can-syntax-check-buffer): Delete.
6230         (flymake--handle-report, flymake--disable-backend)
6231         (flymake--run-backend, flymake--run-backend):  New helpers.
6232         (flymake-make-report-fn): Make a lambda.
6233         (flymake--start-syntax-check): Iterate
6234         flymake-diagnostic-functions.
6235         (flymake-mode): Use flymake-lighter.  Simplify.  Initialize
6236         flymake--running-backends and flymake--disabled-backends.
6237         (flymake-find-file-hook): Simplify.
6239         * test/lisp/progmodes/flymake-tests.el
6240         (flymake-tests--call-with-fixture): Use flymake-is-running the
6241         function.  Check if flymake-mode already active before activating it.
6242         Add a thorough test for flymake multiple backends
6244         * lisp/progmodes/flymake.el (flymake--start-syntax-check):
6245         Don't use condition-case-unless-debug, use condition-case
6247         * test/lisp/progmodes/flymake-tests.el
6248         (flymake-tests--assert-set): New helper macro.
6249         (dummy-backends): New test.
6251 2017-10-03  João Távora  <joaotavora@gmail.com>
6253         More Flymake cleanup before advancing to backend redesign
6255         Diagnostics are reported for buffers, not necessarily files.  It’s the
6256         backend’s responsibility to compute the buffer where the diagnostic is
6257         applicable.  For now, this has to match the buffer where flymake-mode
6258         is active and which is at the origin of the backend call.
6260         flymake.el knows nothing about line/column diagnostics (except for
6261         backward-compatible flymake-ler-make-ler, which must yet be tested).
6262         It’s also the backend’s reponsibility to compute a BEG and END
6263         positions for the diagnostic in the relevant buffer.
6265         * lisp/progmodes/flymake-proc.el
6266         (flymake-proc--diagnostics-for-pattern): Convert LINE/COL to
6267         region here.  Check file buffer here.
6268         (flymake-proc--process-sentinel): Don’t kill output buffer if
6269         high enough log level.
6271         * lisp/progmodes/flymake.el (flymake-diag-region): Make this a utility
6272         function.  (flymake--highlight-line): Diagnostic has region now.
6273         (flymake-popup-current-error-menu): Don’t add file and line numbers to
6274         already this silly menu.  (flymake--fix-line-numbers): Remove.
6275         (flymake-report): No need to fix diagnostics here.
6277 2017-10-03  João Távora  <joaotavora@gmail.com>
6279         Protect Flymake's eager checks against commands like fill-paragraph
6281         If flymake-start-syntax-check-on-newline is t, check should start as
6282         soon as a newline is seen by after-change-functions.  But don't rush
6283         it: since the buffer state might not be final, we might end up with
6284         invalid diagnostic regions after some commands silently insert and
6285         delete newlines (looking at you, fill-paragraph).
6287         * lisp/progmodes/flymake.el (flymake-after-change-function): Pass
6288         `deferred' to flymake--start-syntax-check.
6289         (flymake--start-syntax-check): Take optional `deferred' arg.
6291 2017-10-03  João Távora  <joaotavora@gmail.com>
6293         Flymake highlights GCC info/notes as detected by flymake-proc.el
6295         * lisp/progmodes/flymake-proc.el
6296         (flymake-proc--diagnostics-for-pattern): Rewrite (using cl-loop) to
6297         honour more sophisticated flymake-proc-diagnostic-type-pred.
6298         (flymake-warning-re): Is now an obsolete alias for
6299         flymake-proc-diagnostic-type-pred.
6300         (flymake-proc-diagnostic-type-pred): Rename and augment from
6301         flymake-proc-warning-predicate.  (flymake-proc-warning-predicate):
6302         Delete.
6304         * lisp/progmodes/flymake.el (flymake-note): New face.
6305         (flymake-diagnostic-types-alist): Simplify.
6306         (flymake-note): New overlay category.
6307         (flymake--lookup-type-property): Only lookup single keys, not lists.
6308         (flymake--diag-errorp): Rewrite.
6309         (flymake--highlight-line): Use flymake--lookup-type-property.
6311         * test/lisp/progmodes/flymake-tests.el
6312         (different-diagnostic-types): Rename from errors-and-warnings.
6313         Check notes.
6314         (flymake-tests--call-with-fixture): Use
6315         flymake-proc-diagnostic-type-pred.
6317 2017-10-03  João Távora  <joaotavora@gmail.com>
6319         Flymake checks file names before considering diagnostics
6321         The error patterns for gcc picked up errors for the Makefile itself,
6322         for example.  These shouldn't count as actual errors.
6324         * lisp/progmodes/flymake.el (flymake-report): Check
6325         matching file names.
6327 2017-10-03  João Távora  <joaotavora@gmail.com>
6329         Echo Flymake error messages when navigating errors interactively
6331         Perhaps binding M-n and M-p to flymake-goto-next-error and
6332         flymake-goto-prev-error also wouldn't be a bad idea.
6334         * lisp/progmodes/flymake.el (flymake-goto-next-error): Use
6335         target overlay's help-echo.
6337 2017-10-03  João Távora  <joaotavora@gmail.com>
6339         Add a new Flymake test for multiple errors and warnings
6341         * test/lisp/progmodes/flymake-tests.el
6342         (flymake-tests--call-with-fixture): Save excursion.
6343         (errors-and-warnings): New test.
6345         * test/lisp/progmodes/flymake-resources/errors-and-warnings.c:
6346         New test fixture.
6348 2017-10-03  João Távora  <joaotavora@gmail.com>
6350         Flymake warning face easier to distinguish
6352         A orange wavy underline is very hard to tell from a red wavy
6353         underline.
6355         * lisp/progmodes/flymake.el (flymake-warning): Change color to
6356         "deep sky blue"
6358 2017-10-03  João Távora  <joaotavora@gmail.com>
6360         Flymake's flymake-proc.el parses column numbers from gcc/javac errors
6362         Column numbers are not a great way of marking diagnostic regions, but
6363         that's probably all that can be expected from the flymake-proc.el
6364         backend.  For now, try (end-of-thing 'sexp) to discover the
6365         diagnostic's end position.
6367         * lisp/progmodes/flymake-proc.el ()
6368         (flymake-proc-err-line-patterns): Also parse column numbers,
6369         if available, for gcc/javac warnings.
6371 2017-10-03  João Távora  <joaotavora@gmail.com>
6373         New Flymake variable flymake-diagnostic-types-alist and much cleanup
6375         A new user-visible variable is introduced where different diagnostic
6376         types can be categorized.  Flymake backends can also contribute to
6377         this variable.  Anything that doesn’t match an existing error type
6378         is considered.
6380         The variable’s alists are used to propertize the overlays pertaining
6381         to each error type.  The user can override the built-in properties by
6382         either by modifying the alist, or by modifying the properties of a
6383         special "category" symbol, named by the `flymake-category' entry in
6384         the alist.
6386         The `flymake-category' entry is especially useful for, say, the author
6387         of foo-flymake-backend, who issues diagnostics of type :foo-note, that
6388         should behave like notes, except with no fringe bitmap:
6390            (add-to-list 'flymake-diagnostic-types-alist
6391                         '(:foo-note
6392                           . ((flymake-category . flymake-note)
6393                              (bitmap . nil))))
6395         For essential properties like `severity', `priority', etc, a default
6396         value is produced.  Some properties like `evaporate' cannot be
6397         overriden.
6399         * lisp/progmodes/flymake.el (flymake--diag): Rename from
6400         flymake-ler.
6401         (flymake-ler-make): Obsolete alias for flymake-diagnostic-make
6402         (flymake-ler-errorp): Rewrite using flymake--severity.
6403         (flymake--place-overlay): Delete.
6404         (flymake--overlays): Now a cl-defun with &key args.  Document.
6405         Use `overlays-at' if BEG is non-nil and END is nil.
6406         (flymake--lookup-type-property): New helper.
6407         (flymake--highlight-line): Rewrite.
6408         (flymake-diagnostic-types-alist): New API variable.
6409         (flymake--diag-region)
6410         (flymake--severity, flymake--face)
6411         (flymake--fringe-overlay-spec): New helper.
6412         (flymake-popup-current-error-menu): Use new flymake-overlays.
6413         (flymake-popup-current-error-menu, flymake-report): Use
6414         flymake--diag-errorp.
6415         (flymake--fix-line-numbers): Use flymake--diag-line.
6416         (flymake-goto-next-error): Pass :key to flymake-overlays
6418         * lisp/progmodes/flymake-proc.el
6419         (flymake-proc--diagnostics-for-pattern): Use flymake-diagnostic-make.
6421 2017-10-03  João Távora  <joaotavora@gmail.com>
6423         Refactor Flymake tests in preparation for more tests
6425         Introduce a slightly more generic fixture macro.
6427         Also make flymake-tests.el friendlier to interactive runs, by not
6428         killing buffers visited by the user.
6430         * test/lisp/progmodes/flymake-tests.el
6431         (flymake-tests--call-with-fixture): New helper from
6432         flymake-tests--current-face.  Don't kill file buffers already
6433         being visited before the test starts.
6434         (flymake-tests--with-flymake): New macro.
6435         (flymake-tests--current-face): Delete.
6436         (warning-predicate-rx-gcc, warning-predicate-function-gcc)
6437         (warning-predicate-rx-perl, warning-predicate-function-perl):
6438         Use flymake-test--with-flymake.
6440 2017-10-03  João Távora  <joaotavora@gmail.com>
6442         Allow running Flymake tests from interactive sessions
6444         * test/lisp/progmodes/flymake-tests.el (flymake-tests-data-directory):
6445         Expand to reasonable value if no
6446         EMACS_TEST_DIRECTORY. (flymake-tests--current-face): Work around
6447         "weirdness" of bug 17647 with read-event.
6449 2017-10-03  João Távora  <joaotavora@gmail.com>
6451         Flymake diagnostics now apply to arbitrary buffer regions
6453         Make Flymake UI some 150 lines lighter
6455         Strip away much of the original implementation's complexity in
6456         manipulating objects representing diagnostics as well as creating and
6457         navigating overlays.
6459         Lay some groundwork for a more flexible approach that allows for
6460         different classes of diagnostics, not necessarily line-based.
6461         Importantly, one overlay per diagnostic is created, whereas the
6462         original implementation had one per line, and on it it concatenated
6463         the results of errors and warnings.
6465         This means that currently, an error and warning on the same line are
6466         problematic and the warning might be overlooked but this will soon be
6467         fixed by setting appropriate priorities.
6469         Since diagnostics can highlight arbitrary regions, not just lines, the
6470         faces were renamed.
6472         Tests pass and backward compatibility with interactive functions is
6473         maintained, but probably any third-party extension or customization
6474         relying on more than a trivial set of flymake.el internals has stopped
6475         working.
6477         * lisp/progmodes/flymake-proc.el
6478         (flymake-proc--diagnostics-for-pattern): Use new flymake-ler-make
6479         constructor syntax.
6481         * lisp/progmodes/flymake.el (flymake-ins-after)
6482         (flymake-set-at, flymake-er-make-er, flymake-er-get-line)
6483         (flymake-er-get-line-err-info-list, flymake-ler-set-file)
6484         (flymake-ler-set-full-file, flymake-ler-set-line)
6485         (flymake-get-line-err-count, flymake-get-err-count)
6486         (flymake-highlight-err-lines, flymake-overlay-p)
6487         (flymake-make-overlay, flymake-region-has-flymake-overlays)
6488         (flymake-find-err-info)
6489         (flymake-line-err-info-is-less-or-equal)
6490         (flymake-add-line-err-info, flymake-add-err-info)
6491         (flymake-get-first-err-line-no)
6492         (flymake-get-last-err-line-no, flymake-get-next-err-line-no)
6493         (flymake-get-prev-err-line-no, flymake-skip-whitespace)
6494         (flymake-goto-line, flymake-goto-next-error)
6495         (flymake-goto-prev-error, flymake-patch-err-text): Delete
6496         functions no longer used.
6497         (flymake-goto-next-error, flymake-goto-prev-error): Rewrite.
6498         (flymake-report): Rewrite.
6499         (flymake-popup-current-error-menu): Rewrite.
6500         (flymake--highlight-line): Rename from
6501         flymake-highlight-line.  Call `flymake--place-overlay.
6502         (flymake--place-overlay): New function.
6503         (flymake-ler-errorp): New predicate.
6504         (flymake-ler): Simplify.
6505         (flymake-error): Rename from
6506         flymake-errline.
6507         (flymake-warning): Rename from flymake-warnline.
6508         (flymake-warnline, flymake-errline): Obsoletion aliases.
6510         * test/lisp/progmodes/flymake-tests.el (warning-predicate-rx-gcc)
6511         (warning-predicate-function-gcc, warning-predicate-rx-perl)
6512         (warning-predicate-function-perl): Use face `flymake-warning'.
6514 2017-10-03  João Távora  <joaotavora@gmail.com>
6516         Move symbols in flymake-proc.el to separate namespace
6518         Every symbol in this flymake now starts with the prefix flymake-proc-.
6520         Make obsolete aliases for (almost?) every symbol.
6522         Furthermore, many flymake-proc.el symbols are prefixed with
6523         "flymake-proc--", that is they were considered internal.
6525         Some customization variables, interactive functions, and other symbols
6526         considered useful to user customizations or third-party libraries are
6527         considered "public" or "external" and so use a "flymake-proc-" prefix.
6529         * lisp/progmodes/flymake-proc.el: Every symbol renamed.
6531         * test/lisp/progmodes/flymake-tests.el
6532         (flymake-tests--current-face): Use
6533         flymake-proc-warning-predicate, not flymake-warning-predicate.
6535         * lisp/progmodes/flymake-proc.el
6536         (flymake-proc--get-project-include-dirs-function)
6537         (flymake-proc--get-project-include-dirs-imp)
6538         (flymake-proc--get-include-dirs-dot) (flymake-proc--get-tex-args)
6539         (flymake-proc--find-make-buildfile)
6540         (flymake-proc--get-syntax-check-program-args)
6541         (flymake-proc--init-create-temp-source-and-master-buffer-copy)
6542         (flymake-proc--init-find-buildfile-dir)
6543         (flymake-proc--get-full-nonpatched-file-name)
6544         (flymake-proc--get-full-patched-file-name) (flymake-proc--base-dir,
6545         flymake-proc--temp-master-file-name) (flymake-proc--master-file-name)
6546         (flymake-proc--temp-source-file-name)
6547         (flymake-proc--delete-temp-directory) (flymake-proc--kill-process)
6548         (flymake-proc--start-syntax-check-process)
6549         (flymake-proc--compilation-is-running)
6550         (flymake-proc--safe-delete-directory) (flymake-proc--safe-delete-file)
6551         (flymake-proc--get-program-dir) (flymake-proc--restore-formatting)
6552         (flymake-proc--clear-project-include-dirs-cache)
6553         (flymake-proc--project-include-dirs-cache)
6554         (flymake-proc--get-system-include-dirs)
6555         (flymake-proc--get-project-include-dirs)
6556         (flymake-proc--add-project-include-dirs-to-cache)
6557         (flymake-proc--get-project-include-dirs-from-cache)
6558         (flymake-proc--post-syntax-check) (flymake-proc--process-sentinel)
6559         (flymake-proc--process-filter) (flymake-proc--create-master-file)
6560         (flymake-proc--find-buffer-for-file)
6561         (flymake-proc--copy-buffer-to-temp-buffer)
6562         (flymake-proc--read-file-to-temp-buffer)
6563         (flymake-proc--save-buffer-in-file) (flymake-proc--replace-region,
6564         flymake-proc--check-include)
6565         (flymake-proc--check-patch-master-file-buffer)
6566         (flymake-proc--master-file-compare)
6567         (flymake-proc--find-possible-master-files)
6568         (flymake-proc--included-file-name, flymake-proc--same-files)
6569         (flymake-proc--fix-file-name, flymake-proc--find-buildfile)
6570         (flymake-proc--clear-buildfile-cache)
6571         (flymake-proc--add-buildfile-to-cache)
6572         (flymake-proc--get-buildfile-from-cache)
6573         (flymake-proc--find-buildfile-cache)
6574         (flymake-proc--get-real-file-name-function)
6575         (flymake-proc--get-cleanup-function) (flymake-proc--get-init-function)
6576         (flymake-proc--get-file-name-mode-and-masks)
6577         (flymake-proc--processes): Rename to internal symbol from
6578         flymake-proc- version.
6580 2017-10-03  João Távora  <joaotavora@gmail.com>
6582         Completely rewrite Flymake's subprocess output processing
6584         Instead of parsing and matching regexps line-by-line, insert
6585         subprocess output in a separate buffer and parse using
6586         `search-forward-regexp'.  This eventually enables multi-line error
6587         patterns and simplifies code all around.  Store per-check information
6588         in the subprocess using `process-get' and `process-put'.  Treat error
6589         messages, warnings, etc. more generically as "diagnostics".  Create
6590         these objects as soon as possible, reusing existing `flymake-ler'
6591         structure.  Fix some whitespace.
6593         * lisp/progmodes/flymake.el (cl-lib): Require also when
6594         loading.
6595         (flymake--fix-line-numbers): Rename from
6596         flymake-fix-line-numbers.  Simplify.
6597         (flymake-report): Call flymake--fix-line-numbers.  Rearrange
6598         plain diagnostics list into alist format expected by
6599         flymake-highlight-err-lines.
6601         * lisp/progmodes/flymake-proc.el (flymake-process-filter): Insert
6602         process output and parse in dedicated output buffer.
6603         (flymake-proc--diagnostics-for-pattern): New helper function.
6604         (flymake-process-sentinel): Call flymake-post-syntax-check with
6605         collected diagnostics.  Kill output buffer.
6606         (flymake-post-syntax-check): Receive diagnostics as third argument.
6607         (flymake-parse-output-and-residual, flymake-new-err-info)
6608         (flymake-parse-residual, flymake-parse-err-lines)
6609         (flymake-split-output, flymake-proc-parse-line)
6610         (flymake-output-residual): Delete.
6611         (flymake-start-syntax-check-process): Use make-process.  Setup
6612         dedicated an output buffer
6614 2017-10-03  João Távora  <joaotavora@gmail.com>
6616         Flymake provides flymake-report re-entry point for backends
6618         * lisp/progmodes/flymake-proc.el (flymake-post-syntax-check):
6619         Simplify.  Call flymake-report.
6621         * lisp/progmodes/flymake.el (flymake-report): New function.
6623 2017-10-03  João Távora  <joaotavora@gmail.com>
6625         Split Flymake into flymake.el into flymake-proc.el (again!)
6627         After deciding that this work would continue on master only, which
6628         caused two commits named
6630            Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
6632         and
6634            Revert "Add flymake-backends defcustom"
6636         to be added to the emacs-26 branch, further discussion reversed that
6637         decision.
6639            See:
6641              https://lists.gnu.org/r/emacs-devel/2017-09/msg01020.html
6642              https://lists.gnu.org/r/emacs-devel/2017-09/msg01030.html
6644         This means that those two commits MUST be merged to master AFTER ALL.
6646         flymke-proc.el contains the main syntax-checking backend, while
6647         flymake.el keeps mostly the UI part.
6649         * lisp/progmodes/flymake-proc.el: New file.  Require flymake.
6651         * lisp/progmodes/flymake.el: Require flymake-proc.el at the end.
6653 2017-10-03  Nicolas Petton  <nicolas@petton.fr>
6655         Update authors.el
6657         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
6658         (authors-renamed-files-alist): Additions.
6660 2017-10-03  Noam Postavsky  <npostavs@gmail.com>
6662         Give more helpful messages for python completion setup failures
6664         * lisp/progmodes/python.el (python-shell-completion-native-setup): In
6665         case the completion setup failed with some exception, print out the
6666         exception type and message.  If libedit is detected, raise an
6667         exception, since this is known to fail.
6669 2017-10-02  Eli Zaretskii  <eliz@gnu.org>
6671         Fix the --without-x build
6673         * src/frame.c (Ficonify_frame) [HAVE_WINDOW_SYSTEM]: Use
6674         frame_parent only in GUI builds to avoid compilation errors in
6675         --without-x builds.  (Bug#28611)
6677 2017-10-02  Paul Eggert  <eggert@day>
6679         Fix customization of zoneinfo-style-world-list
6681         A customizable variable's initial value cannot depend on that of
6682         another customizable variable, since the variables are initialized
6683         in other than textual order.  Problem reported by N. Jackson
6684         (Bug#24291).
6685         * lisp/time.el (display-time-world-list): Default to t,
6686         a special value that expands to zoneinfo-style-word-list
6687         if that works, and to legacy-style-word-list otherwise.
6688         (time--display-world-list): New function.
6689         (display-time-world, display-time-world-timer): Use it.
6691 2017-10-02  Alan Mackenzie  <acm@muc.de>
6693         Fix a CC Mode brace stack cache bug.
6695         * lisp/progmodes/cc-engine.el (c-update-brace-stack): Call
6696         c-beginning-of-current-token after a failing search operation, to ensure we
6697         don't cache a point inside a token.
6699 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
6701         * etc/PROBLEMS: Document Bug#26638.
6703 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
6705         Prefer HTTPS to HTTP for gnu.org
6707         This fixes some URLs I omitted from my previous pass,
6708         notably those in lists.gnu.org.  Although lists.gnu.org
6709         does not yet support TLS 1.1, TLS 1.0 is better than nothing.
6710         * lisp/erc/erc.el (erc-official-location):
6711         * lisp/mail/emacsbug.el (report-emacs-bug):
6712         Use https:, not http:.
6714 2017-10-02  Paul Eggert  <eggert@cs.ucla.edu>
6716         Merge from Gnulib
6718         This is mostly to change http: to https: in licenses.
6719         * COPYING, build-aux/config.guess, build-aux/config.sub:
6720         * doc/emacs/doclicense.texi, doc/emacs/gpl.texi:
6721         * doc/lispintro/doclicense.texi, doc/lispref/doclicense.texi:
6722         * doc/lispref/gpl.texi, doc/misc/doclicense.texi:
6723         * doc/misc/gpl.texi, etc/COPYING, leim/COPYING:
6724         * lib-src/COPYING, lib/COPYING, lisp/COPYING, lwlib/COPYING:
6725         * msdos/COPYING, nt/COPYING, src/COPYING:
6726         Copy from Gnulib.
6728 2017-10-01  Simen Heggestøyl  <simenheg@gmail.com>
6730         Keep eww buffer current when looking up CSS on MDN
6732         * lisp/textmodes/css-mode.el (css-lookup-symbol): Keep the eww buffer
6733         current when looking up CSS documentation on MDN.  This fixes a bug
6734         where the eww buffer's content sometimes get mangled when switching
6735         buffers mid-render.
6737 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
6739         Workaround for faulty localtime() under macOS 10.6
6741         * lisp/org/org-clock.el (org-clock--oldest-date): Only execute
6742         'decode-time' on times later than year -2**31 under macOS 10.6.
6743         See Bug#27706.
6745 2017-10-01  Alan Mackenzie  <acm@muc.de>
6747         Doc amendment for syntax-ppss.
6749         * doc/lispref/syntax.texi (Position Parse): Note, twice, that syntax-ppss is
6750         equivalent to parse-partial-sexp from the beginning of THE VISIBLE PART OF the
6751         buffer.  Final part of the fix for bug #22983.
6753 2017-10-01  Charles A. Roelli  <charles@aurox.ch>
6755         Remove incorrect NEWS entry about 'find-library'
6757         * etc/NEWS (Changes in Emacs 26.1): Remove an entry about
6758         'find-library' taking a prefix argument to pop to a different
6759         window.  This behavior was added in "Allow a prefix argument to
6760         find-library to pop to a different window" (commit e1f2d14a), and
6761         then removed in "New commands: find-library-other-window,
6762         find-library-other-frame" (commit 021430f4).
6764 2017-10-01  Alan Mackenzie  <acm@muc.de>
6766         Remove inadvertent changes to syntax.texi in last commit.
6768         * doc/lispref/syntax.texi (Position Parse): revert changes.
6770 2017-10-01  Alan Mackenzie  <acm@muc.de>
6772         Amend documentation for text-quoting-style becoming a user option.
6774         * doc/lispref/control.texi (Signaling Errors):
6775         * doc/lispref/display.texi (Displaying Messages):
6776         * doc/lispref/strings.texi (Formatting Strings):
6777         Edit for brevity, farming out the details to the new
6778         Text Quoting Style node.
6779         * doc/lispref/help.texi (Text Quoting Style): New section.
6780         Move detailed discussion of text-quoting-style here.
6781         Add discussion about how to output grave accent and apostrophe in
6782         documentation and messages.  Adjust xrefs to point to this section
6783         when appropriate.
6784         * etc/NEWS: text-quoting-style semantics have not changed.
6786 2017-10-01  Alan Mackenzie  <acm@muc.de>
6788         Make the value nil in text-quoting-style mean what it does in Emacs 25.
6790         This is a partial reversion of yesterday's commit by the same author, which
6791         changed the meaning of nil and introduced the new value t.
6793         * src/doc.c (text_quoting_style, text-quoting-style)
6794         (internal--text-quoting-flag): Revert yesterday's changes.
6796         * lisp/cus-start.el: (top level): Amend the entry for text-quoting-style.
6798         * etc/NEWS: Amend the entry for text-quoting-style.
6800         * doc/lispref/control.texi (Signalling Errors)
6801         * doc/lispref/display.texi (Displaying Messages)
6802         * doc/lispref/strings.texi (Formatting Strings): Bind text-quoting-style to
6803         grave rather than nil to inhibit translation of quotes.
6805         * doc/lispref/help.texi (Keys in Documentation): Revert the description of the
6806         proposed new default, t.
6808 2017-10-01  Alan Mackenzie  <acm@muc.de>
6810         Make text-quoting-style customizable.  Introduce t and new meaning for nil.
6812         A value of nil for text-quoting-style now means "no translation".  t means
6813         "Use curved quotes if displayable".
6815         * src/doc.c (text-quoting-style (function)): modify for new semantics.
6816         (text-quoting-style (variable)): Amend the doc string, set the default value
6817         to t.
6819         * lisp/cus-start.el: (top level): Create a customize entry for
6820         text-quoting-style in group display.
6822         * etc/NEWS: Amend the entry for text-quoting-style.
6824         * doc/emacs/display.texi (Text Display): Describe the translation of ASCII
6825         quotes to curved quotes, and how to influence or inhibit it.
6827         * doc/lispref/control.texi (Signalling Errors)
6828         * doc/lispref/display.texi (Displaying Messages)
6829         * doc/lispref/strings.texi (Formatting Strings): Describe binding
6830         text-quoting-style to nil to inhibit unwanted quote translation.
6832         * doc/lispref/help.texi (Keys in Documentation): Change text-quoting-style
6833         from a variable to a user option.  Describe its changed set of values.  State
6834         that it can be customized freely.
6836 2017-10-01  Michael Albinus  <michael.albinus@gmx.de>
6838         eshell.texi improvements
6840         * doc/misc/eshell.texi (Built-ins): eshell/sudo is a compiled
6841         Lisp function in `em-tramp.el'.  Mention also $*, $1, $2, ...
6842         (Aliases): Add $*, $1, $2, ... to the variable index.
6844 2017-08-15  Alan Third  <alan@breton-build.holly.idiocy.org>
6846         Fix ns-win.el on GNUstep
6848         * lisp/term/ns-win.el: Appkit version check only works on macOS, so
6849         don't try it when not using Cocoa.
6851 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
6853         Fix reference style in org.texi
6855         * doc/misc/org.texi (A Texinfo example): Fix reference style.
6857 2017-10-01  Martin Rudalics  <rudalics@gmx.at>
6859         Improve handling of iconification of child frames (Bug#28611)
6861         * src/frame.c (Ficonify_frame): Handle `iconify-child-frame' option.
6862         (syms_of_frame): New symbols Qiconify_top_level and Qmake_invisible.
6863         (iconify_child_frame): New option.
6864         * lisp/cus-start.el (iconify-child-frame): Add customization
6865         properties.
6866         * doc/lispref/frames.texi (Child Frames): Describe new option
6867         `iconify-child-frame'.  Don't index "top-level frame" twice.
6869 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
6871         Revert "Don't lose arguments to eshell aliases (Bug#27954)"
6873         It broke the established argument handling methods provided by eshell
6874         aliases (Bug#28568).
6875         * doc/misc/eshell.texi (Aliases): Fix example, call out use of
6876         arguments in aliases.
6877         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Ignore
6878         ARGS.
6880 2017-10-01  Noam Postavsky  <npostavs@gmail.com>
6882         Make "unsafe directory" error message more informative (Bug#865)
6884         * lisp/server.el (server-ensure-safe-dir): Produce a description for
6885         each "unsafe" condition.
6887 2017-10-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
6889         Fix slot typecheck in eieio-persistent
6891         * lisp/emacs-lisp/eieio-base.el (eieio-persistent-slot-type-is-class-p):
6892           An `or' form can specify multiple potential classes (or null) as
6893           valid types for a slot, but previously only the final element of the
6894           `or' was actually checked. Now returns all valid classes in the `or'
6895           form.
6896           (eieio-persistent-validate/fix-slot-value): Check if proposed value
6897           matches any of the valid classes.
6898         * test/lisp/emacs-lisp/eieio-tests/eieio-test-persist.el
6899           (eieio-test-multiple-class-slot): Test this behavior.
6901 2017-09-30  Dmitry Gutov  <dgutov@yandex.ru>
6903         Fix semantic-ia-fast-jump
6905         * lisp/cedet/semantic/ia.el (semantic-ia--fast-jump-helper):
6906         Use `pop-to-buffer-same-window' (bug#28645).
6908 2017-09-30  Kaushal Modi  <kaushal.modi@gmail.com>
6910         Bind vc-region-history
6912         * lisp/vc/vc-hooks.el (vc-prefix-map):
6913         Bind `vc-region-history' to 'C-x v h', which was earlier bound to
6914         `vc-insert-headers' (Bug#27644).
6915         * doc/emacs/maintaining.texi (VC Change Log): Mention the new binding.
6916         * doc/emacs/vc1-xtra.texi (Version Headers): Remove the association of
6917         'C-x v h' with `vc-insert-headers'.
6918         (https://lists.gnu.org/r/emacs-devel/2017-09/msg00957.html)
6920 2017-09-30  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
6922         Exit macro definition on undefined keys
6924         * lisp/subr.el (undefined): Error out of kmacro definition, if any.
6925         (Bug#28008)
6927 2017-09-30  Tim Landscheidt  <tim@tim-landscheidt.de>  (tiny change)
6929         Reset bidi-paragraph-direction on article rendering
6931         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Reset
6932         bidi-paragraph-direction on article rendering.  (Bug#28454)
6934 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
6936         Fix url-http use of url-current-object
6938         * lisp/url/url-http.el (url-http): Bind url-current-object before
6939         calling url-http-find-free-connection.  (Bug#28515)
6941 2017-09-30  Andy Moreton  <andrewjmoreton@gmail.com>
6943         Avoid assertions in vc-hg.el on MS-Windows
6945         * lisp/vc/vc-hg.el (vc-hg--pcre-to-elisp-re)
6946         (vc-hg--slurp-hgignore, vc-hg--read-repo-requirements)
6947         (vc-hg-state-fast): Use file-name-absolute-p and directory-name-p
6948         instead of relying on Unix file-name syntax.  This avoids
6949         assertion violations on MS-Windows.
6951 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
6953         Improve documentation of 'copy-sequence'
6955         * src/fns.c (Fcopy_sequence):
6956         * doc/lispref/sequences.texi (Sequence Functions): Mention the
6957         exception when copying an empty sequence.  (Bug#28627)
6959 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
6961         Minor update of ack.texi
6963         * doc/emacs/ack.texi (Acknowledgments): Update Eli Zaretskii's
6964         contributions.
6966 2017-09-30  N. Jackson  <nljlistbox2@gmail.com>  (tiny change)
6968         * doc/emacs/emacs.texi (Acknowledgments): Add more contributors.
6970 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
6972         Improve indexing of multi-file/buffer Isearch commands
6974         * doc/emacs/maintaining.texi (Identifier Search): Change wording
6975         of index entries to make them different from those for multi-file
6976         isearch commands.  (Bug#28584)
6977         * doc/emacs/search.texi (Other Repeating Search): Index the
6978         multi-* commands.  (Bug#28584)  Rearrange the indexing to keep
6979         each index entry close to its subject.
6981 2017-09-30  Mark Oteiza  <mvoteiza@udel.edu>
6983         Add CAM02 JCh and CAM02-UCS J'a'b' conversions
6985         * src/lcms.c (rad2deg, parse_jch_list, parse_jab_list, xyz_to_jch):
6986         (jch_to_xyz, jch_to_jab, jab_to_jch): New functions.
6987         (lcms-jch->xyz, lcms-jch->xyz, lcms-jch->jab, lcms-jab->jch): New Lisp
6988         functions.
6989         (lcms-cam02-ucs): Refactor.
6990         (syms_of_lcms2): Declare new functions.
6991         * test/src/lcms-tests.el (lcms-roundtrip, lcms-ciecam02-gold):
6992         (lcms-jmh->cam02-ucs-silver): New tests.
6993         * etc/NEWS: Mention new functions.
6995 2017-09-30  Eli Zaretskii  <eliz@gnu.org>
6997         Fix uses of @kindex in the Emacs manual
6999         * doc/emacs/programs.texi (Expressions, Semantic, Hungry Delete):
7000         * doc/emacs/mark.texi (Global Mark Ring)
7001         (Disabled Transient Mark):
7002         * doc/emacs/buffers.texi (Select Buffer):
7003         * doc/emacs/mule.texi (File Name Coding): Fix @kindex entries
7004         which used @key.  Reported by Marcin Borkowski <mbork@mbork.pl>.
7006 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
7008         Merge from gnulib
7010         This incorporates:
7011         2017-09-28 string: code style
7012         2017-09-25 sys_types: update URL
7013         2017-09-23 install-sh: do not assume / = //
7014         2017-09-21 mktime: port to OpenVMS
7015         * build-aux/install-sh, m4/mktime.m4, m4/string_h.m4:
7016         * m4/sys_types_h.m4: Copy from Gnulib.
7017         * lib/gnulib.mk.in: Regenerate.
7019 2017-09-30  Paul Eggert  <eggert@cs.ucla.edu>
7021         Prefer HTTPS to HTTP for gnu.org
7023         This catches some URLs I missed in my previous scan,
7024         or perhaps were added after the scan.
7026 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
7028         Wait for frame visibility with timeout in w32term too
7030         * src/w32term.c (syms_of_w32term) [x-wait-for-event-timeout]: New
7031         variable.
7032         (x_make_frame_visible): Wait for frame to become visible according to
7033         its value.
7034         (input_signal_count): Remove.
7036 2017-09-30  Noam Postavsky  <npostavs@gmail.com>
7038         Bring back the busy wait after x_make_frame_visible (Bug#25521)
7040         But wait specfically for a MapNotify event, and only for a
7041         configurable amount of time.
7042         * src/xterm.c (syms_of_xterm) [x-wait-for-event-timeout]: New
7043         variable.
7044         (x_wait_for_event): Use it instead of hardcoding the wait to 0.1s.
7045         (x_make_frame_visible): Call x_wait_for_event at the end.
7046         * etc/NEWS: Announce x_wait_for_event.
7048 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
7050         Fix last doc string change in simple.el
7052         * lisp/simple.el (shell-command-saved-pos)
7053         (region-extract-function, region-bounds): Doc fixes.  (Bug#28609)
7055 2017-09-29  Eli Zaretskii  <eliz@gnu.org>
7057         Revert "bug#28609: simple.el"
7059         This reverts commit a75ab3b3fb8ab69ef38a94403d061f88f3b5b63e.
7061 2017-09-29  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
7063         bug#28609: simple.el
7065         Correct grammar; also, call a pair a pair.
7067         (cherry picked from commit 25ef543a97a80718cc4eb33734d393420a43f41e)
7069 2017-09-29  Rasmus  <rasmus@gmx.us>
7071         Merge branch 'emacs-26' into scratch/org-mode-merge
7073 2017-09-29  Noam Postavsky  <npostavs@gmail.com>
7075         Fix ert backtrace saving for non-`signal'ed errors (Bug#28333)
7077         * lisp/emacs-lisp/ert.el (ert--run-test-debugger): Take the frames
7078         above the `debugger' frame, rather than assuming there will be a
7079         `signal' frame.
7081 2017-09-28  Alan Third  <alan@idiocy.org>
7083         Revert "Fix build on macOS (bug#28571)"
7085         This reverts commit fec63089d53d2196b0348086aeed70277fbc02c0.
7087         Prematurely pushed.
7089 2017-09-28  Alan Third  <alan@idiocy.org>
7091         Fix build on macOS (bug#28571)
7093         * src/conf_post.h (HAVE_FUTIMENS, HAVE_FUTIMESAT, HAVE_UTIMENSAT)
7094         [DARWIN_OS]: Undefine.
7096 2017-09-28  Simen Heggestøyl  <simenheg@gmail.com>
7098         Add tests for `css-current-defun-name'
7100         * test/lisp/textmodes/css-mode-tests.el (css-test-current-defun-name)
7101         (css-test-current-defun-name-nested)
7102         (css-test-current-defun-name-complex): New tests for
7103         `css-current-defun-name'.
7105 2017-09-28  Martin Rudalics  <rudalics@gmx.at>
7107         In w32fullscreen_hook don't add decorations to undecorated frames
7109         * src/w32term.c (w32fullscreen_hook): Do not add (or try to
7110         remove) decorations for undecorated frames.
7112 2017-09-28  João Távora  <joaotavora@gmail.com>
7114         Revert "Split flymake.el into flymake-proc.el and flymake-ui.el"
7116         In other words, re-coalesce the two files,
7117         lisp/progmodes/flymake-proc.el and lisp/progmodes/flymake-ui.el, back
7118         into a single one, lisp/progmodes/flymake.el.
7120         The changesets "Prefer HTTPS to FTP and HTTP in documentation" and
7121         "allow nil init in flymake-allowed-file-name-masks to disable flymake"
7122         are kept in place in the new lisp/progmodes/flymake.el.
7124         This reverts Git commit eb34f7f5a29e7bf62326ecb6e693f28878be28cd.
7126         Don't merge this back to master as development happening there builds
7127         upon this work. See also
7128         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html.
7130 2017-09-28  João Távora  <joaotavora@gmail.com>
7132         Revert "Add flymake-backends defcustom"
7134         This reverts Git commit 13993c46a21495167517f76d2e36b6c09ac5e89e.
7136         Don't merge this back to master as development happening there builds
7137         upon this work. See also
7138         https://lists.gnu.org/r/emacs-devel/2017-09/msg00932.html
7140 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
7142         * src/editfns.c (styled_format): Fix typo in previous change.
7144 2017-09-27  Paul Eggert  <eggert@cs.ucla.edu>
7146         Avoid some unnecessary copying in Fformat etc.
7148         This patch is just for performance; it should not affect behavior.
7149         On my platform, it made the microbenchmark (format "%S" load-path)
7150         run about 45% faster.  It should also speed up calls like (message
7151         "%s" STRING).
7152         * src/callint.c (Fcall_interactively):
7153         * src/dbusbind.c (XD_OBJECT_TO_STRING):
7154         * src/editfns.c (Fmessage, Fmessage_box):
7155         * src/xdisp.c (vadd_to_log, Ftrace_to_stderr):
7156         Use styled_format instead of Fformat or Fformat_message,
7157         to avoid unnecessary copying.
7158         * src/editfns.c (styled_format): New arg NEW_RESULT.
7159         All uses changed.  Reuse an input string if it has the
7160         right value and if !NEW_RESULT.
7161         * src/lisp.h (style_format): New decl.
7163 2017-09-26  John Wiegley  <johnw@newartisans.com>
7165         lisp/simple.el: Indicate when a list of pairs is meant in a docstring
7167 2017-09-26  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>
7169         bug#28609: simple.el
7171         Correct grammar; also, call a pair a pair.
7173 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
7175         Use a separate syntax-ppss cache for narrowed buffers
7177         * lisp/emacs-lisp/syntax.el (syntax-ppss-wide):
7178         New variable, to contain the data from `syntax-ppss-last' and
7179         `syntax-ppss-cache'.
7180         (syntax-ppss-cache, syntax-ppss-last): Remove.
7181         (syntax-ppss-narrow, syntax-ppss-narrow-start): New variables.
7182         (syntax-ppss-flush-cache): Flush both caches.
7183         (syntax-ppss--data): Return the appropriate last result and
7184         buffer cache for the current restriction.
7185         (syntax-ppss, syntax-ppss-debug): Use it (bug#22983).
7187 2017-09-26  Joerg Behrmann  <behrmann@physik.fu-berlin.de>  (tiny change)
7189         Improve python3-compatibility of fallback completion (Bug#28499)
7191         * lisp/progmodes/python.el (python-eldoc-setup-code): Use
7192         inspect.getfullargspec instead of inspect.getargspec to avoid a
7193         deprecation warning on every usage of eldoc in python-mode.
7195 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
7197         Fix subr-x-tests when running from elc
7199         * test/lisp/emacs-lisp/subr-x-tests.el (subr-x-and-let*-test-group-1):
7200         Use `eval' around the `should-error' cases.
7202 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
7204         * lisp/eshell/esh-util.el (eshell-condition-case): Add debug declaration.
7206 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
7208         Make sh-indentation into an alias for sh-basic-offset (Bug#21751)
7210         * lisp/progmodes/sh-script.el (sh-indentation): Redefine as obsolete
7211         variable alias for `sh-basic-offset'.
7212         (sh-mode, sh-smie--indent-continuation)
7213         (sh-smie-rc-rules, sh-basic-indent-line): Replace `sh-indentation'
7214         with `sh-basic-offset'.
7216 2017-09-26  Noam Postavsky  <npostavs@gmail.com>
7218         Fix loading of smie-config rules (Bug#24848)
7220         * lisp/emacs-lisp/smie.el (smie-config--setter): Use `set-default'
7221         instead of `setq-default'.
7222         (smie-config): Use `custom-initialize-set' instead of
7223         `custom-initialize-default' as the :initialize argument.
7225         * lisp/progmodes/sh-script.el (sh-learn-buffer-indent): Mention that
7226         we call `smie-config-guess' so that the user will have a chance to
7227         find the correct docstring to consult.  Remove hedging comments
7228         regarding use of abnormal hooks.
7230 2017-09-26  Dmitry Gutov  <dgutov@yandex.ru>
7232         Reset default-directory inside *xref-grep* buffer
7234         * lisp/progmodes/xref.el (xref-collect-matches):
7235         Reset default-directory, too. (Bug#28575)
7237 2017-09-25  Michael Albinus  <michael.albinus@gmx.de>
7239         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Special
7240         code for smb.
7242 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
7244         Loosen strict parsing requirement for desktop files
7246         There are other desktop-looking files, for instance those having to do
7247         with MIME typess, that would benefit from being able to be read by this
7248         function.  It helps to have some flexibility.
7249         * lisp/xdg.el (xdg-desktop-read-file): Remove an error condition.
7250         * test/lisp/xdg-tests.el: Remove a test.
7252 2017-09-25  Mark Oteiza  <mvoteiza@udel.edu>
7254         * lisp/xdg.el (xdg-thumb-uri): Fix doc string.
7256 2017-09-25  Martin Rudalics  <rudalics@gmx.at>
7258         Fix documentation of `make-frame' and related variables and hooks
7260         * lisp/frame.el (before-make-frame-hook)
7261         (after-make-frame-functions, frame-inherited-parameters)
7262         (make-frame): Fix doc-strings.
7263         * doc/lispref/frames.texi (Creating Frames): Fix description
7264         of `make-frame' and related variables and hooks.
7266 2017-09-24  Eric Abrahamsen  <eric@ericabrahamsen.net>
7268         Accept new `always' value for option `buffer-offer-save'
7270         Also revert ee512e9a82
7272         * lisp/files.el (buffer-offer-save): In addition to nil and t, now
7273           allows a third symbol value, `always'. A buffer where this option is
7274           set to `always' will always be offered for save by
7275           `save-some-buffers'.
7276           (save-some-buffers): Check the exact value of this buffer-local
7277           variable. No longer check the buffer name, or the value of
7278           `write-contents-functions'.
7279         * doc/lispref/buffers.texi (Killing Buffers): Note change in manual.
7280         * doc/lispref/files.texi (Saving Buffers): Remove note about buffer
7281           names.
7282         * etc/NEWS: Mention in NEWS.
7284 2017-09-24  Alan Third  <alan@idiocy.org>
7286         Improve new NS scrolling variable names
7288         * src/nsterm.m (ns-use-system-mwheel-acceleration): Replace with
7289         'ns-use-mwheel-acceleration'.
7290         (ns-touchpad-scroll-line-height): Replace with
7291         'ns-mwheel-line-height'.
7292         (ns-touchpad-use-momentum): Replace with 'ns-use-mwheel-momentum'.
7293         * etc/NEWS: Change variable names.
7295 2017-09-24  Philipp Stephani  <phst@google.com>
7297         Document 'replace-buffer-contents' in the manual.
7299         * doc/lispref/text.texi (Replacing): New node.
7301 2017-09-23  Alan Third  <alan@idiocy.org>
7303         Fix undecorated frame resizing issues on NS (bug#28512)
7305         * src/nsterm.m (EmacsView::updateFrameSize): Don't wait for the
7306         toolbar on undecorated frames.
7307         (EmacsView::initFrameFromEmacs): Group window flags correctly.
7309 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
7311         Fix doc string of 'dired-listing-switches'
7313         * lisp/dired.el (dired-listing-switches): Fix the quoting
7314         example.  (Bug#28569)
7316 2017-09-23  Eli Zaretskii  <eliz@gnu.org>
7318         Documentation improvements for 'display-line-numbers'
7320         * doc/emacs/display.texi (Display Custom): Document a few more
7321         options for display-line-numbers.  (Bug#28533)  Fix a typo.
7323 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
7325         Fix last change in bat-mode.el
7327         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Fix last
7328         change.  (Bug#28311)
7330 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
7332         Fix restoring in GUI sessions desktop saved in TTY sessions
7334         * lisp/frameset.el (frameset-filter-font-param): New function.
7335         (frameset-persistent-filter-alist): Use it for processing the
7336         'font' frame parameter.  (Bug#17352)
7338 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
7340         Improve syntax highlighting in bat-mode
7342         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Improve
7343         font-locking of environment variables.  Suggested by Achim Gratz
7344         <Stromeko@nexgo.de>.  (Bug#28311)  (Bug#18405)
7346 2017-09-22  Eli Zaretskii  <eliz@gnu.org>
7348         Document the 'list-FOO' convention
7350         * doc/lispref/tips.texi (Coding Conventions): Document the
7351         list-FOO convention.
7353 2017-09-22  Mark Oteiza  <mvoteiza@udel.edu>
7355         Expose viewing conditions in CAM02-UCS metric
7357         Also add tests from the colorspacious library.  Finally, catch an
7358         errant calculation, where degrees were not being converted to radians.
7359         * src/lcms.c (deg2rad, default_viewing_conditions):
7360         (parse_viewing_conditions): New functions.
7361         (lcms-cam02-ucs): Add comments pointing to references used.  Expand
7362         the docstring and explain viewing conditions.  JCh hue is given in
7363         degrees and needs to be converted to radians.
7364         (lcms-d65-xyz): Remove.  No need to duplicate this in Lisp or make the
7365         API needlessly impure.
7366         * test/src/lcms-tests.el: Reword commentary.
7367         (lcms-rgb255->xyz): New function.
7368         (lcms-cri-cam02-ucs): Fix let-binding.
7369         (lcms-dE-cam02-ucs-silver): New test, assimilated from colorspacious.
7371 2017-09-21  Alan Third  <alan@idiocy.org>
7373         Revert "Set frame size to actual requested size (bug#18215)"
7375         This reverts commit d31cd79b40dbd5459b16505a4ee4340210499277.
7377         See bug#28536. I misunderstood bug#18215. It wasn't a bug.
7379 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
7381         Add tests for Edebug
7383         * test/lisp/emacs-lisp/edebug-tests.el: New file.
7384         * test/lisp/emacs-lisp/edebug-resources/edebug-test-code.el: New file.
7386 2017-09-21  Gemini Lasswell  <gazally@runbox.com>
7388         Catch more messages in ert-with-message-capture
7390         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): Capture
7391         messages from prin1, princ and print.
7392         (ert--make-message-advice): New function.
7393         (ert--make-print-advice): New function.
7395 2017-09-21  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
7397         Support setting region from secondary selection and vice versa
7399         * lisp/mouse.el (secondary-selection-exist-p): New function to
7400         allow callers to tell existence of the secondary selection
7401         in current buffer.
7402         (secondary-selection-to-region): New function to set
7403         beginning and end of the region from those of the secondary
7404         selection.
7405         (secondary-selection-from-region): New function to set
7406         beginning and end of the secondary selection from those of
7407         the region.  (Bug#27530)
7409         * etc/NEWS: Mention the new functions.
7411 2017-09-20  Paul Eggert  <eggert@cs.ucla.edu>
7413         Fix new copy-directory bug with empty dirs
7415         Problem reported by Afdam Plaice (Bug#28520) and by Eli Zaretskii
7416         (Bug#28483#34).  This is another bug that I introduced in my
7417         recent copy-directory changes.
7418         * lisp/files.el (copy-directory): Work with empty subdirectories, too.
7419         * test/lisp/files-tests.el (files-tests--copy-directory):
7420         Test for this bug.
7422 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
7424         * doc/lispref/strings.texi (Formatting Strings): Improve indexing.
7426 2017-09-20  Eli Zaretskii  <eliz@gnu.org>
7428         Fix 2 testsuite tests for MS-Windows
7430         * test/lisp/ibuffer-tests.el (test-buffer-list): Don't try to
7431         create files with "*" in their names.
7432         * test/src/editfns-tests.el (format-time-string-with-zone): Adapt
7433         results to MS-Windows build.  Reported by Fabrice Popineau
7434         <fabrice.popineau@gmail.com>.
7436 2017-09-20  Mark Oteiza  <mvoteiza@udel.edu>
7438         Rename timer-list to list-timers
7440         * doc/emacs/anti.texi (Antinews):
7441         * doc/lispref/os.texi (Timers):
7442         * etc/NEWS:
7443         * lisp/emacs-lisp/timer-list.el:
7444         (timer-list-mode): Rename timer-list to list-timers.
7446 2017-09-19  Alan Third  <alan@idiocy.org>
7448         Provide native touchpad scrolling on macOS
7450         * etc/NEWS: Describe changes.
7451         * lisp/term/ns-win.el (mouse-wheel-scroll-amount,
7452         mouse-wheel-progressive-speed): Set to smarter values for macOS
7453         touchpads.
7454         * src/nsterm.m (emacsView::mouseDown): Use precise scrolling deltas to
7455         calculate scrolling for touchpads and mouse wheels.
7456         (syms_of_nsterm): Add variables 'ns-use-system-mwheel-acceleration',
7457         'ns-touchpad-scroll-line-height' and 'ns-touchpad-use-momentum'.
7458         * src/keyboard.c (make_lispy_event): Pass on .arg when relevant.
7459         * src/termhooks.h (event_kind): Update comments re. WHEEL_EVENT.
7460         * lisp/mwheel.el (mwheel-scroll): Use line count.
7461         * lisp/subr.el (event-line-count): New function.
7463 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
7465         Fix MinGW64 build broken by recent MinGW64 import libraries
7467         * configure.ac (W32_LIBS): Put -lusp10 before -lgdi32, as latest
7468         MinGW64 import libraries require that.  (Bug#28493)
7470         * src/Makefile.in: Adjust commentary to the new order of w32
7471         libraries.
7473 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
7475         Fix crashes in 'move-point-visually' in minibuffer windows
7477         * src/xdisp.c (Fmove_point_visually): Fix off-by-one error in
7478         comparing against the last valid glyph_row of a window glyph
7479         matrix.  (Bug#28505)
7481 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
7483         * src/emacs.c (usage_message): Don't mention 'find-file'.
7485 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
7487         Fix a minor inaccuracy in the Emacs manual
7489         * doc/emacs/cmdargs.texi (Action Arguments): Don't mention
7490         'find-file', as the implementation has changed.  Reported by
7491         Everton J. Carpes <everton.carpes@gmail.com> in
7492         https://lists.gnu.org/r/help-gnu-emacs/2017-09/msg00146.html.
7494 2017-09-19  Eli Zaretskii  <eliz@gnu.org>
7496         Fix errors in flyspell-post-command-hook
7498         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Handle the
7499         case of a nil Nth element of the language dictionary slot.  This
7500         avoids errors in 'flyspell-post-command-hook' when switching
7501         dictionaries with some spell-checkers.  (Bug#28501)
7503 2017-09-19  Michael Albinus  <michael.albinus@gmx.de>
7505         Work on Tramp's file-truename
7507         * lisp/net/tramp-sh.el (tramp-perl-file-truename):
7508         Check also for symlinks.
7509         (tramp-sh-handle-file-truename): Move check for a symlink
7510         cycle to the end.  Do not blame symlinks which look like a
7511         remote file name.
7513         * lisp/net/tramp.el (tramp-handle-file-truename): Expand result.
7515 2017-09-19  Paul Eggert  <eggert@cs.ucla.edu>
7517         Fix bug with make-directory on MS-Windows root
7519         * lisp/files.el (files--ensure-directory): Treat any error, not
7520         just file-already-exists, as an opportunity to check whether DIR
7521         is already a directory (Bug#28508).
7523 2017-09-19  Tom Tromey  <tom@tromey.com>
7525         Fix log-view-diff-common when point is after last entry
7527         Bug#28466
7528         * lisp/vc/log-view.el (log-view-diff-common): If point is after last
7529         entry, look at the previous revision.
7531 2017-09-18  Ken Brown  <kbrown@cornell.edu>
7533         Adapt fileio-tests--symlink-failure to Cygwin
7535         * test/src/fileio-tests.el (fileio-tests--symlink-failure)
7536         [CYGWIN]: Skip the case of a symlink target starting with '\';
7537         this is treated specially on Cygwin.
7539 2017-09-18  Eric Abrahamsen  <eric@ericabrahamsen.net>
7541         Ignore buffers whose name begins with a space in save-some-buffers
7543         * lisp/files.el (save-some-buffers): Consider these buffers
7544           "internal", and don't prompt the user to save them.
7545         * doc/lispref/files.texi: Document.
7547 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
7549         Improve tramp-interrupt-process robustness
7551         * lisp/net/tramp.el (tramp-interrupt-process): Wait, until the
7552         process has disappeared.
7554 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
7556         Minor Tramp doc update
7558         * doc/misc/tramp.texi (Frequently Asked Questions):
7559         Mention `vc-handled-backends'.
7561 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
7563         Fix gensym
7565         * lisp/subr.el (gensym): Actually implement the default prefix.
7566         * test/lisp/subr-tests.el (subr-tests--gensym): New test.
7568 2017-09-18  Rasmus  <rasmus@gmx.us>
7570         Update Org to v9.1.1
7572         Please see etc/ORG-NEWS for major changes.
7574 2017-09-18  Michael Albinus  <michael.albinus@gmx.de>
7576         Cleanup in files-tests.el
7578         * test/lisp/files-tests.el (files-tests--make-directory)
7579         (files-tests--copy-directory): Cleanup temporary directories.
7581 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7583         Remove old cl-assert calls in 'newline'
7585         * lisp/simple.el (newline): Remove cl-assert calls
7586         that didn't seem to be helping us debug Bug#18913,
7587         and that caused problems as reported in Bug#28280.
7588         Suggested by Glenn Morris (Bug#28280#8).
7590 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7592         Avoid crash with C-g C-g in GC
7594         Problem reported by Richard Stallman (Bug#17406).
7595         Based on fix suggested by Eli Zaretskii (Bug#28279#16).
7596         * src/term.c (tty_send_additional_strings):
7597         Use only safe accessors, to avoid crash when C-g C-g in GC.
7599 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7601         Fix format-time-string %Z bug with negative tz
7603         * src/editfns.c (tzlookup): Fix sign error in %Z when a purely
7604         numeric zone is negative (Bug#28746).
7605         * test/src/editfns-tests.el (format-time-string-with-zone):
7606         Add test for this bug.
7608 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7610         message-citation-line-format %Z is now tz name
7612         * etc/NEWS:
7613         * lisp/gnus/message.el (message-citation-line-format):
7614         Fix doc to match new behavior (Bug#28476).
7616 2017-09-18  Mark Oteiza  <mvoteiza@udel.edu>
7618         Use doc-view or pdf-tools on any window-system
7620         * lisp/net/mailcap.el (mailcap-mime-data): Simply check for
7621         window-system.
7623 2017-09-18  Paul Eggert  <eggert@cs.ucla.edu>
7625         Fix bug with min and max and NaNs
7627         * src/data.c (minmax_driver): Fix bug with (min 0 NaN), which
7628         mistakenly yielded 0.  Also, pacify GCC in a better way.
7629         * test/src/data-tests.el (data-tests-min): Test for the bug.
7631 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
7633         Fix recently-introduced copy-directory bug
7635         Problem reported by Andrew Christianson (Bug#28451):
7636         * lisp/files.el (copy-directory): If COPY-CONTENTS, make the
7637         destination directory if it does not exist, even if it is a
7638         directory name.  Simplify, and omit unnecessary test for an
7639         already-existing non-directory target, since make-directory
7640         diagnoses that for us now.
7641         * test/lisp/files-tests.el (files-tests--copy-directory):
7642         Test for this bug.
7644 2017-09-17  Paul Eggert  <eggert@cs.ucla.edu>
7646         Merge from Gnulib
7648         This incorporates:
7649         2017-09-16 manywarnings: port to GCC on 64-bit MS-Windows
7650         2017-09-13 all: Replace many more http URLs by https URLs
7651         * build-aux/config.guess, build-aux/config.sub:
7652         * build-aux/gitlog-to-changelog, doc/misc/texinfo.tex:
7653         * lib/allocator.h, lib/count-leading-zeros.h:
7654         * lib/count-trailing-zeros.h, lib/dup2.c, lib/filevercmp.c:
7655         * lib/fstatat.c, lib/fsync.c, lib/ftoastr.c, lib/ftoastr.h:
7656         * lib/intprops.h, lib/signal.in.h, lib/stdio-impl.h, lib/stdio.in.h:
7657         * lib/unistd.in.h, lib/utimens.c, m4/alloca.m4, m4/extern-inline.m4:
7658         * m4/fstatat.m4, m4/gnulib-common.m4, m4/manywarnings.m4:
7659         * m4/std-gnu11.m4, m4/sys_types_h.m4, m4/vararrays.m4:
7660         Copy from Gnulib.
7661         * lib/gnulib.mk.in: Regenerate.
7663 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
7665         Fix compatibility problem in Tramp
7667         * lisp/net/tramp.el (tramp-interrupt-process): Better error handling.
7669         * lisp/net/tramp-compat.el (default-toplevel-value): Move up.
7670         (top): Do not call `tramp-change-syntax' anymore.
7671         (tramp-compat-directory-name-p): New defalias.
7673         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
7674         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
7675         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
7676         (tramp-smb-handle-copy-file): Use it.
7678         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
7679         Modify test.
7681 2017-09-17  Eli Zaretskii  <eliz@gnu.org>
7683         Avoid GCC 7 compilation warning in eval.c
7685         * src/eval.c (push_handler_nosignal): Use CACHEABLE to work around
7686         GCC compilation warning.  Suggested by Paul Eggert <eggert@cs.ucla.edu>
7687         in https://lists.gnu.org/r/emacs-devel/2017-09/msg00492.html.
7689 2017-09-17  Michael Albinus  <michael.albinus@gmx.de>
7691         Adapt Tramp version.  Do not merge
7693         * doc/misc/trampver.texi:
7694         * lisp/net/trampver.el: Change version to "2.3.3.26.1".
7695         (customize-package-emacs-version-alist): Add Tramp version
7696         integrated in Emacs 26.1.
7698 2017-09-17  Tom Tromey  <tom@tromey.com>
7700         Search for Syntax section when viewing MDN
7702         * lisp/textmodes/css-mode.el (css--mdn-after-render): Also search for
7703         "Syntax" section.
7705 2017-09-17  Tom Tromey  <tom@tromey.com>
7707         Allow smerge-keep-current to work for empty hunks
7709         Bug#25555
7710         * lisp/vc/smerge-mode.el (smerge-get-current): Allow point to be at
7711         match-end.
7712         * test/lisp/vc/smerge-mode-tests.el: New file.
7714 2017-09-17  Tom Tromey  <tom@tromey.com>
7716         Call vc-setup-buffer in vc-git-log-{in,out}going
7718         Bug#28427:
7719         * lisp/vc/vc-git.el (vc-git-log-incoming, vc-git-log-outgoing): Call
7720         vc-setup-buffer.
7722 2017-09-17  Stefan Monnier  <monnier@iro.umontreal.ca>
7724         Fix last change to textmodes/page-ext.el
7726         * lisp/textmodes/page-ext.el (pages-directory): Make buffer writable
7727         while we build it (bug#28431).
7729 2017-09-16  Glenn Morris  <rgm@gnu.org>
7731         * test/src/lcms-tests.el (lcms-cri-cam02-ucs): Skip if lcms2 not present.
7733 2017-09-16  Glenn Morris  <rgm@gnu.org>
7735         * test/src/lcms-tests.el (lcms-whitepoint): Skip if lcms2 not present.
7737         (cherry picked from commit 8081df26911c63aadfce4ee8f6a7223d814baeaf)
7739 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
7741         Fix compilation warning in etags.c
7743         * lib-src/etags.c (etags_mktmp) [DOS_NT]: Don't dereference a NULL
7744         pointer.  Reported by Richard Copley <rcopley@gmail.com>.
7746 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
7748         Add lisp variable lcms-d65-xyz
7750         This serves as the default optional argument for functions in this
7751         library.
7752         * src/lcms.c (lcms-d65-xyz): New variable.
7753         (lcms-cam02-ucs): Use it.  Use better word in docstring.  Fix bug
7754         color1 -> color2.
7755         * test/src/lcms-tests.el: Add some tests for lcms-cri-cam02-ucs.
7756         (lcms-colorspacious-d65): New variable.
7758 2017-09-16  Gemini Lasswell  <gazally@runbox.com>
7760         * lisp/emacs-lisp/cl-macs.el (cl-letf): Fix Edebug spec (bug#24765)
7762 2017-09-16  Andy Moreton  <andrewjmoreton@gmail.com>
7764         Avoid MinGW64 compiler warnings in unexw32.c
7766         * src/unexw32.c (pDWP) [MINGW_W64]: Define to "16llx" only for the
7767         64-bit build.
7769 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
7771         Start emacs-26 release branch
7773         * configure.ac:
7774         * nt/README.W32:
7775         * README:
7776         * msdos/sed2v2.inp: Increment Emacs version to 26.0.60.
7778         * lisp/cus-edit.el (customize-changed-options-previous-release):
7779         Update value to "25.3".
7781 2017-09-16  Alan Mackenzie  <acm@muc.de>
7783         Cope better with C++ and Objective-C protection keywords in class declarations
7785         This fix fixes the fontification of a method inside a class at the time it is
7786         typed, when there is a protection keyword clause preceding it.
7788         * lisp/progmodes/cc-engine.el (c-forward-keyword-clause): Handle protection
7789         keywords.
7790         (c-looking-at-decl-block): Avoid scanning forward over protection keyword
7791         clauses too eagerly.
7793         * lisp/progmodes/cc-langs.el (c-protection-key c-post-protection-token): New
7794         lang defconsts and defvars.
7796         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When we encounter a protection
7797         keyword following a semicolon or brace, move forward over it before attempting
7798         to parse a type.
7800 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
7802         Fix order of sorted overlays returned by 'overlays-at'
7804         * src/buffer.c (Foverlays_at): If SORTED is non-nil, reverse the
7805         list of results, to have their order as per the documentation.
7806         (Bug#28390)
7808         * etc/NEWS: Mention the change in the behavior of overlays-at.
7810 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
7812         Disable execution of unsafe Lisp by Enriched Text mode
7814         * src/xdisp.c (handle_display_spec): If the display property is
7815         wrapped in 'disable-eval' form, disable Lisp evaluation while
7816         processing this property.
7817         (handle_single_display_spec): Accept new argument ENABLE_EVAL_P.
7818         If that argument is false, don't evaluate Lisp while processing
7819         display properties.
7821         * lisp/textmodes/enriched.el
7822         (enriched-allow-eval-in-display-props): New defcustom.
7823         (enriched-decode-display-prop): If
7824         enriched-allow-eval-in-display-props is nil, wrap the display
7825         property with 'disable-eval' to disable Lisp evaluation when the
7826         display property is processed for display.  (Bug#28350)
7827         * lisp/gnus/mm-view.el (mm-inline-text): Re-enable processing of
7828         enriched text.
7830         * doc/lispref/display.texi (Display Property): Document the
7831         'disable-eval' wrapping of 'display' properties.
7832         * doc/emacs/text.texi (Enriched Properties): Document
7833         'enriched-allow-eval-in-display-props'.
7835         * etc/NEWS: Describe the security issues with Enriched Text mode
7836         and their solution.
7838 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
7840         Avoid MinGW64 compilation warning in w32.c
7842         * src/w32.c (sys_strerror): Provide a prototype for MinGW64.
7844 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
7846         Fix MS-Windows build broken by recent changes in lcms.c
7848         * src/lcms.c [WINDOWSNT]: Define types for cmsWhitePointFromTemp
7849         and cmsxyY2XYZ function pointers.
7850         (init_lcms_functions) [WINDOWSNT]: Load cmsWhitePointFromTemp and
7851         cmsxyY2XYZ from liblcms2.
7852         (cmsWhitePointFromTemp, cmsxyY2XYZ) [WINDOWSNT]: Redirect to the
7853         corresponding function pointers.
7854         (Flcms_temp_to_white_point): Minor stylistic changes.  Doc fix.
7855         (syms_of_lcms2): Defsubr Slcms_temp_to_white_point.
7857 2017-09-16  Eli Zaretskii  <eliz@gnu.org>
7859         Avoid GCC 7 compilation warning in data.c
7861         * src/data.c (minmax_driver): Use UNINIT to avoid compilation
7862         warnings.  Reported by Fabrice Popineau
7863         <fabrice.popineau@centralesupelec.fr>.
7865 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
7867         Add lcms-temp->white-point and initial tests
7869         * src/lcms.c (lcms-temp->white-point): New function.
7870         * test/src/lcms-tests.el: New file.
7872 2017-09-16  Mark Oteiza  <mvoteiza@udel.edu>
7874         Use cl-print in timer list
7876         * lisp/emacs-lisp/timer-list.el (timer-list): Use cl-print
7877         for handling functions.
7878         (timer-list-mode): Capitalize major mode name.  Set bidi direction
7879         as in tabulated-list-mode.
7881 2017-09-15  Vincent Belaïche  <vincentb1@users.sourceforge.net>
7883         Make landscape layout with geometry package rather than a PostScript special.
7885         * lisp/calendar/cal-tex.el (cal-tex-preamble): Make 12pt the
7886         default class option.
7887         (cal-tex-year, cal-tex-cursor-month-landscape): Pass landscape
7888         request to `cal-tex-insert-preamble' function call within the
7889         class option string.
7890         (cal-tex-cursor-month): Don't pass any longer "12pt" argument
7891         to `cal-tex-insert-preamble' function, as it is default.
7892         (cal-tex-insert-preamble): Suppress landscape and size
7893         argument, and replace them by a class-options string
7894         argument. Do not insert any longer "\special{landscape}" in
7895         case of landscape layout, as the job is made by the geometry
7896         package.
7898 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
7900         * lisp/json.el (json-read-keyword): Revert previous change to catch EOL.
7902 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
7904         One more attempt to avoid GCC 7 warnings in dispnew.c
7906         * src/dispnew.c (adjust_glyph_matrix): Use eassume instead of
7907         eassert, to avoid compilation warnings about NULL pointer
7908         dereferences.
7910 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
7912         Fix color-distance docstring
7914         Also feed the translated color to the metric argument.
7915         * src/xfaces.c (color-distance): Reword docstring to be more helpful.
7916         Avoid duplicating effort in lcms2 by passing the translated 16 bit RGB
7917         instead of the function's color arguments.
7919 2017-09-15  Michael Albinus  <michael.albinus@gmx.de>
7921         Improve Tramp behaviour according to bug#27986
7923         * lisp/net/tramp-adb.el (tramp-adb-handle-copy-file):
7924         * lisp/net/tramp-sh.el (tramp-sh-handle-copy-directory):
7925         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
7926         (tramp-smb-handle-copy-file): Check, that NEWNAME is a
7927         directory name when existing.  Use `file-name-as-directory'
7928         where appropriate.
7930 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
7932         More JSON optimization
7934         Last I checked, inlining json-skip-whitespace didn't make much
7935         difference.  However, changing defsubsts to define-inline results
7936         in roughly 15% reduction in read time on a 200K file.
7937         * lisp/json.el (json-advance, json-peek, json-pop):
7938         (json-skip-whitespace): Inline with define-inline.
7939         (json-read-keyword): Don't use whitespace syntax.
7940         (json-add-to-object): Simpler condition.
7942 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
7944         Avoid crashes due to invalid error forms from sentinels/filters
7946         * src/process.c (exec_sentinel_error_handler): Make sure the error
7947         form passed to cmd_error_internal is a cons cell.  (Bug#28430)
7949 2017-09-15  Eli Zaretskii  <eliz@gnu.org>
7951         Avoid compilation warnings with GCC 7 on MS-Windows
7953         * src/w32term.c (w32_setup_relief_color, construct_mouse_click)
7954         (w32_read_socket): Initialize variables to shut up bogus
7955         compilation warnings from GCC 7.
7956         * src/unexw32.c (COPY_CHUNK, COPY_PROC_CHUNK): Cast to DWORD_PTR
7957         to avoid compiler warnings about printing signed values using %x
7958         format spec.
7959         * src/dispnew.c (adjust_glyph_matrix): Add eassert to avoid
7960         compiler warning about possible NULL pointer dereference.
7961         * src/lisp.h (pI): Tweak the definition some more for MinGW64.
7963 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
7965         Define gnutls_rnd for WINDOWSNT and HAVE_GNUTLS3 case only
7967         * src/fns.c (gnutls_rnd): Define for WINDOWSNT and HAVE_GNUTLS3
7968         case only to avoid unused macros warning otherwise.
7970 2017-09-15  Martin Rudalics  <rudalics@gmx.at>
7972         In w32heap.c bump up DUMPED_HEAP_SIZE
7974         * src/w32heap.c (DUMPED_HEAP_SIZE): Bump up DUMPED_HEAP_SIZE
7975         to 13*1024*1024 for 32-bit non-wide-integer builds.
7977 2017-09-15  Mark Oteiza  <mvoteiza@udel.edu>
7979         Bind n,p in timer-list
7981         * lisp/emacs-lisp/timer-list.el (timer-list-mode-map): Bind n and p
7982         to next- and previous-line, respectively.
7984 2017-09-14  Glenn Morris  <rgm@gnu.org>
7986         * lisp/net/tls.el (tls-program): Fix :version.
7988 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
7990         * configure.ac (--with-lcms2, --without-lcms2): New options.
7992 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
7994         Avoid 64-bit compilation warnings in unexw32.c
7996         * src/unexw32.c (pDWP): New macro.
7997         (COPY_CHUNK, COPY_PROC_CHUNK): Declare 'count' as DWORD_PTR.  Use
7998         pDWP for printing values that can be either 32-bit or 64-bit wide.
8000 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
8002         Fix warnings about formats in printf-like functions on MS-Windows
8004         * src/lisp.h (pI) [__MINGW32__]: Provide definition that will
8005         hopefully DTRT with both MinGW64 and mingw.org's MinGW.  See
8006         https://lists.gnu.org/r/emacs-devel/2017-09/msg00171.html
8007         for the details.
8008         * src/conf_post.h (PRINTF_ARCHETYPE) [MINGW_W64]: Separate
8009         definition specific to MinGW64.
8010         (PRINTF_ARCHETYPE) [__MINGW32__]: For mingw.org's MinGW, use
8011         __mingw_printf__ in ANSI-compatible mode.
8013 2017-09-14  Eli Zaretskii  <eliz@gnu.org>
8015         Support lcms2 in MS-Windows builds
8017         * lisp/term/w32-win.el (dynamic-library-alist): Include
8018         association for the lcms2 library.
8020         * src/lcms.c [WINDOWSNT]: Include windows.h and w32.h.  Use
8021         DEF_DLL_FN to define pointers to dynamically loaded lcms2
8022         functions.
8023         (cmsCIE2000DeltaE, cmsCIECAM02Init, cmsCIECAM02Forward)
8024         (cmsCIECAM02Done): New macros.
8025         (init_lcms_functions, Flcms2_available_p): New functions.
8026         (Flcms_cie_de2000, Flcms_cam02_ucs) [WINDOWSNT]: Call
8027         init_lcms_functions.
8028         (syms_of_lcms2): Defsubr lcms2-available-p.
8029         * src/w32fns.c (syms_of_w32fns): DEFSYM Qlcms2.
8031         * configure.ac: Include lcms2 in the final report and in
8032         emacs_config_features.
8034         * nt/INSTALL:
8035         * nt/INSTALL.W64: Update with the information about lcms2 library.
8037 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
8039         Port renameat_noreplace to openSUSE 12.3
8041         Problem reported by M. Nomiya in:
8042         https://lists.gnu.org/r/emacs-devel/2017-09/msg00363.html
8043         * src/sysdep.c (renameat_noreplace):
8044         Call renameat2 only if CYGWIN.
8046 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
8048         Prefer HTTPS to FTP and HTTP in documentation
8050         Most of this change is to boilerplate commentary such as license URLs.
8051         This change was prompted by ftp://ftp.gnu.org's going-away party,
8052         planned for November.  Change these FTP URLs to https://ftp.gnu.org
8053         instead.  Make similar changes for URLs to other organizations moving
8054         away from FTP.  Also, change HTTP to HTTPS for URLs to gnu.org and
8055         fsf.org when this works, as this will further help defend against
8056         man-in-the-middle attacks (for this part I omitted the MS-DOS and
8057         MS-Windows sources and the test tarballs to keep the workload down).
8058         HTTPS is not fully working to lists.gnu.org so I left those URLs alone
8059         for now.
8061 2017-09-14  Paul Eggert  <eggert@cs.ucla.edu>
8063         Prefer HTTPS to HTTP for gnu.org
8065         This patch just changes code files; a followup companion patch
8066         (much larger) will affect the commentary.  This part is
8067         separated out to make it easier to review.
8068         * .dir-locals.el (change-log-mode):
8069         * lisp/org/org-info.el (org-info-other-documents)
8070         (org-info-map-html-url):
8071         * lisp/org/ox-html.el (org-html-creator-string):
8072         * lisp/startup.el (fancy-startup-text, fancy-about-text)
8073         (fancy-splash-head):
8074         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352):
8075         * test/lisp/thingatpt-tests.el (thing-at-point-test-data):
8076         Use HTTPS instead of HTTP.
8078 2017-09-13  Simen Heggestøyl  <simenheg@gmail.com>
8080         Add tests for color.el
8082         * lisp/color.el (color-name-to-rgb, color-complement): Clarify in
8083         docstrings that RGB triplets should use four digits per component.
8084         (color-rgb-to-hsl): Break line to avoid "Hidden behind deeper element"
8085         warning.
8087         * test/lisp/color-tests.el: New file.
8089 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
8091         Make gnutls-verify-error work again with url-retrieve-synchronously
8093         * lisp/url/url-gw.el (url-open-stream): Only use :nowait if
8094         we're doing async connections (bug#26835).
8096         * lisp/url/url-parse.el (url): Add an asynchronous slot.
8098         * lisp/url/url.el (url-asynchronous): New variable.
8099         (url-retrieve-internal): Store the value.
8100         (url-retrieve-synchronously): Bind the variable.
8102 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
8104         Improve backward compatibility of tramp-tests
8106         * test/lisp/net/tramp-tests.el (seq): Don't require.
8107         (tramp--test-emacs26-p): New defun.
8108         (tramp-test10-write-region, tramp-test11-copy-file)
8109         (tramp-test12-rename-file, tramp-test15-copy-directory)
8110         (tramp-test21-file-links): Use it.
8111         (tramp-test16-file-expand-wildcards): Use `copy-sequence'.
8113 2017-09-13  Michael Albinus  <michael.albinus@gmx.de>
8115         * lisp/net/trampver.el (customize-package-emacs-version-alist):
8117         Add Tramp version integrated in Emacs 25.3.
8119 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
8121         Add clarification to if-let* docstring
8123         Also make its behaviour consistent with and-let* in that empty bindings
8124         results in success, not failure.
8125         * lisp/emacs-lisp/subr-x.el: Edit docstring, change else to then.
8127 2017-09-13  Lars Ingebrigtsen  <larsi@gnus.org>
8129         Make fully qualified domain names more fully qualified
8131         * lisp/gnus/message.el (message-make-fqdn): Don't try to use a
8132         system-name without any periods as a fully qualified domain name.
8134 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
8136         Remove unused file lib/getopt_.h
8138         * lib/getopt_.h: Remove.  It was renamed to lib/getopt.in.h etc.
8139         on 2011-01-08, but I forgot to remove the old file.
8141 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
8143         Remove "baroque" use of prefix argument from gensym
8145         'cl-gensym' was simply moved here, but let us take an opportunity to
8146         shed some historical baggage.
8147         * lisp/subr.el (gensym): Remove special treatment of PREFIX as a
8148         number.  Use "g" as prefix to differentiate from cl-gensym defaults.
8149         * doc/lispref/symbols.texi (Creating Symbols): Update accordingly.
8150         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter, cl-gensym): Restore.
8152 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
8154         Provide an lcms2 feature
8156         * src/lcms.c (syms_of_lcms2): Provide "lcms2".
8158 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
8160         Add lcms2 interface
8162         configure.ac: Add boilerplate for configuring and detecting liblcms2.
8163         etc/NEWS: Mention new configure option and color-distance change.
8164         src/Makefile.in: Add references to lcms.c and liblcms.
8165         src/emacs.c: Define lcms2 symbols.
8166         src/lcms.c: New file.
8167         src/lisp.h: Add declaration for lcms2.
8168         src/xfaces.c: Add optional METRIC argument.
8170 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
8172         Add other D series white points and some simple conversions
8174         * lisp/color.el (color-d75-xyz, color-d55-xyz, color-d50-xyz): New
8175         constants.
8176         (color-xyz-to-xyy, color-xyy-to-xyz, color-lab-to-lch):
8177         (color-lch-to-lab): New functions.
8179 2017-09-13  Mark Oteiza  <mvoteiza@udel.edu>
8181         Permit non-integral color gradients
8183         * lisp/color.el (color-gradient): Float the step-number.
8185 2017-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
8187         Protect against malformed MIME messages that cause inf-loop (bugfix)
8189         * lisp/gnus/gnus-art.el (gnus-article-mime-handles):
8190         Protect against malformed MIME messages that cause inf-loop.
8192 2017-09-13  Paul Eggert  <eggert@cs.ucla.edu>
8194         Merge from Gnulib
8196         This incorporates:
8197         2017-09-13 all: prefer https: URLs
8198         This just changes http: to https: in comments,
8199         in files copied from Gnulib.
8201 2017-09-13  Dmitry Gutov  <dgutov@yandex.ru>
8203         Call vc-resynch-buffer in vc-git-resolve-when-done
8205         * lisp/vc/vc-git.el (vc-git-resolve-when-done):
8206         Call vc-resynch-buffer on the current file (bug#28121).
8207         Move its autoload to before this function.
8209 2017-09-13  Eric Abrahamsen  <eric@ericabrahamsen.net>
8211         Allow write-contents-functions to short-circuit buffer save
8213         Bug#28412
8215         * lisp/files.el (basic-save-buffer): Re-arrange function so that
8216           write-contents-functions are run earlier. If they return non-nil,
8217           consider the buffer saved without requiring the buffer to be
8218           visiting a file.
8219           (save-some-buffers): This function should consider any buffer with a
8220           buffer-local value for write-contents-functions eligible for
8221           saving.
8222         * test/lisp/files-tests.el (files-test-no-file-write-contents): New
8223           test.
8224         * doc/lispref/files.texi (Saving Buffers): Mention in docs.
8225         * etc/NEWS: And in NEWS.
8227 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
8229         * etc/NEWS.25: Copy from emacs-25 etc/NEWS.
8231 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
8233         Less chatter for ’make info/dir’
8235         * Makefile.in (${srcdir}/info/dir): Tweak shell command so
8236         that an ordinary make says just "GEN info/dir" rather than
8237         also having a seemingly-unrelated mv line.
8239 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
8241         Tweak Gnus doc re gnus-copy-file
8243         * doc/misc/gnus.texi (Saving Articles):
8244         Document behavior with directory name targets (Bug#27986).
8245         Problem reported by Katsumi Yamaoka in:
8246         https://lists.gnu.org/r/emacs-devel/2017-09/msg00216.html
8248 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
8250         Update uses of if-let and when-let
8252         * lisp/dom.el (dom-previous-sibling):
8253         * lisp/emacs-lisp/package.el (package--with-work-buffer):
8254         (package--sort-deps-in-alist, package--sort-by-dependence):
8255         (package-install-from-archive, package-install):
8256         (package-menu-execute, package-menu--populate-new-package-list):
8257         * lisp/filenotify.el (file-notify--rm-descriptor):
8258         (file-notify--event-watched-file, file-notify--event-file-name):
8259         (file-notify--event-file1-name, file-notify-rm-watch):
8260         (file-notify-valid-p):
8261         * lisp/gnus/message.el (message-toggle-image-thumbnails):
8262         * lisp/gnus/nnimap.el (nnimap-request-move-article):
8263         * lisp/ibuf-ext.el (ibuffer-repair-saved-filters):
8264         * lisp/mpc.el (mpc-format):
8265         * lisp/net/eww.el (eww-tag-meta, eww-process-text-input):
8266         (eww-save-history):
8267         * lisp/net/shr.el (shr-tag-base, shr-tag-object, shr-make-table-1):
8268         * lisp/progmodes/prog-mode.el (prettify-symbols--post-command-hook):
8269         * lisp/svg.el (svg-remove):
8270         * lisp/textmodes/css-mode.el (css--named-color):
8271         (css--colon-inside-funcall):
8272         * lisp/textmodes/sgml-mode.el (html-current-buffer-classes):
8273         (html-current-buffer-ids): Use if-let* and when-let* instead.
8275 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
8277         Implement and-let*
8279         This also includes changes to if-let and when-let.  The single tuple
8280         special case is ambiguous, and binding a symbol to nil is not as
8281         useful as binding it to its value outside the lexical scope of the
8282         binding.  (Bug#28254)
8283         * etc/NEWS: Mention.
8284         * lisp/emacs-lisp/subr-x.el (internal--listify):
8285         (internal--build-binding-value-form): Extend to account for
8286         solitary symbols and (EXPR) items in binding varlist.
8287         (if-let*, when-let*): Nix single tuple case and incumbent
8288         bind-symbol-to-nil behavior.
8289         (and-let*): New macro.
8290         (if-let, when-let): Mark obsolete.  Redefine in terms of if-let*, so
8291         they implicitly gain the new features without breaking existing code.
8292         * test/lisp/emacs-lisp/subr-x-tests.el: Adjust tests for: lack of
8293         single-tuple special case, lack of binding solitary symbols to nil,
8294         and the introduction of uninterned symbols for (EXPR) bindings.  Add
8295         SRFI-2 test suite adapted to Elisp.
8297 2017-09-12  Eli Zaretskii  <eliz@gnu.org>
8299         Fix minor typos in the Emacs manual
8301         * doc/emacs/text.texi (Org Organizer):
8302         * doc/emacs/ack.texi (Acknowledgments): Fix spelling of Org nodes.
8304 2017-09-12  Paul Eggert  <eggert@cs.ucla.edu>
8306         Merge Emacs 25.3 fixes
8308         The security patches released for Emacs 25.3 were less drastic
8309         than what we had immediately put into master.  Adjust master to
8310         match 25.3 (Bug#28350).
8311         * lisp/textmodes/enriched.el (enriched-translations):
8312         Re-enable FUNCTION and display translations that are safe.
8313         (enriched-handle-display-prop): Bring back.
8314         (enriched-decode-display-prop): Bring back, but disable
8315         the unsafe part.
8317 2017-09-12  Alan Mackenzie  <acm@muc.de>
8319         Don't match C++ template delims starting within a token.  FIxes bug #28418.
8321         * lisp/progmodes/cc-engine.el (c-restore-<>-properties): After failing an
8322         attempted match from the start of a token (in particular, "<<"), move to the
8323         next token rather than the nex character before searching for the next "<".
8325 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
8327         Move gensym to core Elisp
8329         * doc/lispref/symbols.texi (Creating Symbols): Mention gensym right
8330         after make-symbol.
8331         * etc/NEWS: Mention.
8332         * lisp/emacs-lisp/cl-macs.el (cl--gensym-counter): Alias to
8333         gensym-counter.
8334         (cl-gensym): Alias to gensym.
8335         * lisp/emacs-lisp/cl.el: Remove gensym from list of aliases.
8336         * lisp/emacs-lisp/edebug.el (edebug-make-enter-wrapper):
8337         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture):
8338         (ert--expand-should-1, ert--expand-should):
8339         (ert--should-error-handle-error):
8340         * lisp/emacs-lisp/generator.el (cps--gensym):
8341         * lisp/emacs-lisp/gv.el (setf):
8342         * lisp/emacs-lisp/inline.el (inline--do-letlisteval):
8343         * lisp/emacs-lisp/pcase.el (pcase--make-docstring, pcase-dolist):
8344         (pcase--funcall, pcase--u1): Use gensym.
8345         * lisp/subr.el (gensym-counter): New variable.
8346         (gensym): New function, assimilated from cl-lib.
8348 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
8350         Fix cl-gentemp
8352         * lisp/emacs-lisp/cl-macs.el (cl--gentemp-counter): New variable.
8353         (cl-gentemp): Use it.  Change prefix to "T".
8355 2017-09-12  Sam Steingold  <sds@gnu.org>
8357         gnus-score-file-name: Do not append empty suffix.
8359 2017-09-12  Michael Albinus  <michael.albinus@gmx.de>
8361         Extend tramp-tests according to bug#27986
8363         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
8364         (tramp-test12-rename-file, tramp-test15-copy-directory)
8365         (tramp-test21-file-links): Extend tests.
8366         (tramp-test13-make-directory, tramp-test14-delete-directory):
8367         Specifiy error symbol in `should-error'.
8369 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
8371         Add cl-print method for hash tables
8373         * lisp/emacs-lisp/cl-print.el (cl-print-object): New method.
8375 2017-09-12  Mark Oteiza  <mvoteiza@udel.edu>
8377         Add docstrings to cl-print entry points
8379         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): Fix docstring.
8380         (cl-prin1, cl-prin1-to-string): Add docstrings.
8382 2017-09-12  Glenn Morris  <rgm@gnu.org>
8384         Improve reproducibility of generated leim-list.el
8386         * lisp/international/quail.el (quail-update-leim-list-file):
8387         Sort the quail directory listing, for more stable output.
8389 2017-09-11  Mark Oteiza  <mvoteiza@udel.edu>
8391         Include sxhash of object with printed bytecode
8393         This printing, while succint, is rather opaque.  At least give an
8394         immediate clue of whether different byte code printouts are for the
8395         same or different byte code objects.
8396         * lisp/emacs-lisp/cl-print.el (cl-print-object): Add object sxhash to
8397         printed token "#<bytecode>".
8399 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
8401         Update documentation of 'max-lisp-eval-depth'
8403         * doc/lispref/eval.texi (Eval): Update the documented default
8404         value of 'max-lisp-eval-depth'.
8406 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
8408         Another place to produce debugging output in etags
8410         * lib-src/etags.c (Ruby_functions): One more place to print
8411         debugging output under --debug.
8413 2017-09-11  Eli Zaretskii  <eliz@gnu.org>
8415         Improve documentation of etags-related features
8417         * doc/emacs/maintaining.texi (Looking Up Identifiers): Document
8418         'xref-prompt-for-identifier'.  (Bug#28403)
8419         (Etags Regexps): Document \D back references in etags regexps.
8421 2017-09-11  Alan Third  <alan@idiocy.org>
8423         Fix macOS compatibility versions for vibrant dark theme (bug#28415)
8425         * src/nsterm.m (ns_set_appearance, EmacsView::initFrameFromEmacs):
8426         Change macOS compatibility from 10.9 to 10.10.
8428 2017-09-11  Michael Albinus  <michael.albinus@gmx.de>
8430         Further optimization in Tramp's file name decomposition
8432         * lisp/net/tramp.el (tramp-syntax): Recompute all file name
8433         components.  Call `custom-set-variables' after loading.
8434         (tramp-build-prefix-format, tramp-build-prefix-regexp)
8435         (tramp-build-method-regexp)
8436         (tramp-build-postfix-method-format)
8437         (tramp-build-postfix-method-regexp)
8438         (tramp-build-prefix-ipv6-format)
8439         (tramp-build-prefix-ipv6-regexp)
8440         (tramp-build-postfix-ipv6-format)
8441         (tramp-build-postfix-ipv6-regexp)
8442         (tramp-build-postfix-host-format)
8443         (tramp-build-postfix-host-regexp)
8444         (tramp-build-file-name-regexp)
8445         (tramp-build-completion-file-name-regexp): New defuns.
8446         (tramp-prefix-format, tramp-prefix-regexp)
8447         (tramp-method-regexp, tramp-postfix-method-format)
8448         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
8449         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
8450         (tramp-postfix-ipv6-regexp, tramp-postfix-host-format)
8451         (tramp-postfix-host-regexp)
8452         (tramp-remote-file-name-spec-regexp)
8453         (tramp-file-name-structure, tramp-file-name-regexp)
8454         (tramp-completion-file-name-regexp): Convert defuns into defvars.
8455         (tramp-prefix-regexp-alist)
8456         (tramp-postfix-method-regexp-alist)
8457         (tramp-prefix-ipv6-regexp-alist)
8458         (tramp-postfix-ipv6-regexp-alist)
8459         (tramp-postfix-host-regexp-alist)
8460         (tramp-remote-file-name-spec-regexp-alist): Remove.
8461         (tramp-build-remote-file-name-spec-regexp)
8462         (tramp-build-file-name-structure): Simplify.
8463         (tramp-completion-file-name-regexp-alist): New defconst.
8464         (tramp-tramp-file-p, tramp-dissect-file-name)
8465         (tramp-make-tramp-file-name)
8466         (tramp-completion-make-tramp-file-name)
8467         (tramp-rfn-eshadow-update-overlay-regexp)
8468         (tramp-register-file-name-handlers)
8469         (tramp-completion-handle-file-name-all-completions)
8470         (tramp-completion-dissect-file-name, tramp-clear-passwd):
8471         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
8472         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
8473         (tramp-compute-multi-hops): Use variables but functions for
8474         file name components.
8476         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
8477         Use variables but functions for file name components.
8479 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8481         Port tramp-tests to new copy-directory behavior
8483         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
8484         Use directory name as arg for copy-directory when we want
8485         the special behavior.
8487 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8489         Adjust thumbs to new rename-file behavior
8491         * etc/NEWS: Mention this.
8492         * lisp/thumbs.el (thumbs-rename-images): Treat the destination
8493         as special only if it is a directory name.  When there is
8494         a marked list, turn the destination into a directory name
8495         if it is not already.
8497 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8499         Adjust ob-tangle to new copy-file behavior
8501         * lisp/org/ob-tangle.el (org-babel-tangle-publish):
8502         Port to new copy-file behavior.
8504 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8506         Make gnus-copy-file act like copy-file etc.
8508         * etc/NEWS: Mention this.
8509         * lisp/gnus/gnus-util.el (gnus-copy-file): Treat the destination
8510         as special only if it is a directory name.
8512 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8514         Make write-file act like copy-file etc.
8516         Change write-file to be consistent with the new behavior
8517         of copy-file, etc.
8518         * etc/NEWS: Mention this.
8519         * lisp/files.el (write-file): Treat the destination as special
8520         only if it is a directory name.
8522 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8524         Make copy-directory act like copy-file etc.
8526         Do the special dance with the destination only if it is a
8527         directory name, for consistency with copy-file etc. (Bug#27986).
8528         * doc/emacs/files.texi (Copying and Naming):
8529         * doc/lispref/files.texi (Create/Delete Dirs):
8530         * etc/NEWS: Document this.
8531         * lisp/files.el (copy-directory): Treat NEWNAME as special
8532         only if it is a directory name.
8534 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8536         Fix some make-directory bugs
8538         * lisp/files.el (files--ensure-directory): New function.
8539         (make-directory): Use it to avoid bugs when (make-directory FOO t)
8540         is invoked on a non-directory, or on a directory hierarchy that
8541         is being built by some other process while Emacs is running.
8542         * test/lisp/files-tests.el (files-tests--make-directory): New test.
8544 2017-09-11  Paul Eggert  <eggert@cs.ucla.edu>
8546         Fix race with rename-file etc. with dir NEWNAME
8548         This changes the behavior of rename-file etc. slightly.
8549         The old behavior mostly disagreed with the documentation, and had
8550         a race condition bug that could allow attackers to modify victims'
8551         write-protected directories (Bug#27986).
8552         * doc/lispref/files.texi (Changing Files): Document that in
8553         rename-file etc., NEWFILE is special if it is a directory name.
8554         * etc/NEWS: Document the change in behavior.
8555         * src/fileio.c (directory_like): Remove.  All uses removed.
8556         (expand_cp_target): Test only whether NEWNAME is a directory name,
8557         not whether it is currently a directory.  This avoids a race.
8558         (Fcopy_file, Frename_file, Fadd_name_to_file, Fmake_symbolic_link):
8559         Document behavior if NEWNAME is a directory name.
8560         (Frename_file): Simplify now that the destdir behavior occurs
8561         only when NEWNAME is a directory name.
8562         * test/lisp/net/tramp-tests.el (tramp-test11-copy-file)
8563         (tramp-test12-rename-file, tramp--test-check-files):
8564         Adjust tests to match new behavior.
8566 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
8568         Extend --debug printouts in etags
8570         * lib-src/etags.c (regex_tag_multiline, readline): Under
8571         "--debug", print tags found via regexps.
8573 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
8575         Add --debug option to etags
8577         * lib-src/etags.c (make_tag): Print found tags under --debug.
8578         (longopts): Add --debug.
8580 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
8582         Spelling fixes
8584         * lisp/progmodes/cc-langs.el:
8585         (c-ambiguous-overloadable-or-identifier-prefixes): Rename from
8586         c-ambiguous-overloadable-or-identifier-prefices.  Caller changed.
8588 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
8590         Merge from gnulib
8592         This incorporates:
8593         2017-09-08 stddef: Avoid conflict with system-defined max_align_t
8594         2017-08-24 warnings: fix compilation with old autoconf
8595         2017-08-23 glob: merge from glibc with Zanella glob changes
8596         2017-08-17 random: Fix test compilation failure on Cygwin 1.5.25
8597         * doc/misc/texinfo.tex, lib/flexmember.h, lib/stddef.in.h:
8598         * lib/stdlib.in.h, m4/manywarnings.m4, m4/stdlib_h.m4:
8599         * m4/warnings.m4:
8600         Copy from Gnulib.
8601         * lib/gnulib.mk.in: Regenerate.
8603 2017-09-10  Ken Brown  <kbrown@cornell.edu>
8605         Implement renameat_noreplace on recent Cygwin
8607         * src/sysdep.c [CYGWIN]: Include cygwin/fs.h.
8608         (renameat_noreplace) [RENAME_NOREPLACE]: Use renameat2.
8609         (Bug#27986)
8611 2017-09-10  Eli Zaretskii  <eliz@gnu.org>
8613         Avoid warnings about file names in autoloads on MS-Windows
8615         * configure.ac (srcdir) [mingw32]: Downcase the drive letter, to
8616         avoid warnings from find-file-noselect when making autoloads.  For
8617         the details, see
8618         https://lists.gnu.org/r/emacs-devel/2017-09/msg00049.html.
8620 2017-09-10  Mark Oteiza  <mvoteiza@udel.edu>
8622         Avoid looking at localized strings
8624         * lisp/xdg.el (xdg-desktop-read-group): Add condition to catch
8625         localized strings.
8626         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Add test to ensure
8627         parsing l10n strings doesn't error but is essentially a no-op.
8629 2017-09-10  Paul Eggert  <eggert@cs.ucla.edu>
8631         * etc/NEWS.25: Document 25.3 changes.
8633 2017-09-10  Lars Ingebrigtsen  <larsi@gnus.org>
8635         Remove unsafe enriched mode translations
8637         * lisp/gnus/mm-view.el (mm-inline-text):
8638         Do not worry about enriched or richtext type.
8639         * lisp/textmodes/enriched.el (enriched-translations):
8640         Remove translations for FUNCTION, display (Bug#28350).
8641         (enriched-handle-display-prop, enriched-decode-display-prop): Remove.
8643 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
8645         Be more consistent about "directory name" in manual
8647         This clarifies the documentation, partly in response to the
8648         discussion in Bug#27986.
8650 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
8652         Remove more compilation warnings in MinGW64 build
8654         * src/w32.c (faccessat, map_w32_filename):
8655         * src/w32fns.c (w32_wnd_proc):
8656         * src/w32term.c (w32_horizontal_scroll_bar_handle_click)
8657         (w32_scroll_bar_handle_click): Use FALLTHROUGH to avoid compiler
8658         warnings with GCC 7 and later.
8660 2017-09-09  Paul Eggert  <eggert@cs.ucla.edu>
8662         Improve --enable-gcc-warnings for MinGW64
8664         This partially reverts my 2016-05-30 patch.  Apparently MinGW64
8665         still requires pacifications that GCC 7.1.1 x86-64 (Fedora 26)
8666         does not.  Also, pacify tparam.c, which isn’t used on Fedora.
8667         * lib-src/etags.c (process_file_name, TeX_commands):
8668         * src/buffer.c (fix_overlays_before):
8669         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
8670         (cons_to_signed):
8671         * src/editfns.c (Ftranslate_region_internal):
8672         Prefer UNINIT to some stray value, as this simplifies
8673         code-reading later.
8674         * src/eval.c (CACHEABLE): New macro.
8675         (internal_lisp_condition_case): Use it.
8676         * src/tparam.c (tparam1): Use FALLTHROUGH to pacify GCC.
8678 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
8680         Fix font-lock in Compilation mode
8682         * lisp/progmodes/compile.el (compilation-face): Restore function
8683         lost during recent changes.  (Bug#28349)
8685 2017-09-09  Mark Oteiza  <mvoteiza@udel.edu>
8687         Add function to read all entries in a group
8689         Use that to extend xdg-desktop-read-file.  Also fix a bug where all
8690         entries in all groups were read and returned by xdg-desktop-read-file.
8691         * lisp/xdg.el (xdg-desktop-read-group): New function.
8692         (xdg-desktop-read-file): Use it.
8693         * test/data/xdg/malformed.desktop: New file.
8694         * test/data/xdg/test.desktop: Add another section.
8695         * test/lisp/xdg-tests.el (xdg-desktop-parsing): Test presence of a key
8696         in another group.  Test reading a prescribed group.  Test detecting a
8697         malformed key=value.
8699 2017-09-09  Gemini Lasswell  <gazally@runbox.com>
8701         Reduce Tramp's memory usage
8703         Construct Tramp syntax strings and regular expressions once instead
8704         of every time they are used, and store them in alists keyed by Tramp
8705         syntax.
8706         * lisp/net/tramp.el (tramp-build-remote-file-name-spec-regexp)
8707         (tramp-build-file-name-structure): New functions.
8708         (tramp-prefix-format-alist, tramp-prefix-regexp-alist)
8709         (tramp-method-regexp-alist)
8710         (tramp-postfix-method-format-alist)
8711         (tramp-postfix-method-regexp-alist)
8712         (tramp-prefix-ipv6-format-alist, tramp-prefix-ipv6-regexp-alist)
8713         (tramp-postfix-ipv6-format-alist)
8714         (tramp-postfix-ipv6-regexp-alist)
8715         (tramp-postfix-host-format-alist)
8716         (tramp-postfix-host-regexp-alist)
8717         (tramp-remote-file-name-spec-regexp-alist)
8718         (tramp-file-name-structure-alist): New constants.
8719         (tramp-lookup-syntax): New function.
8720         (tramp-prefix-format, tramp-prefix-regexp, tramp-method-regexp)
8721         (tramp-postfix-method-format, tramp-postfix-method-regexp)
8722         (tramp-prefix-ipv6-format, tramp-prefix-ipv6-regexp)
8723         (tramp-postfix-ipv6-format, tramp-postfix-ipv6-regexp)
8724         (tramp-postfix-host-format, tramp-postfix-host-regexp)
8725         (tramp-remote-file-name-spec-regexp, tramp-file-name-structure):
8726         Use it.
8728 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
8730         Fix compilation warnings in MinGW64 build using GCC 7
8732         Reported by Richard Copley <rcopley@gmail.com>.
8733         * src/w32heap.c (init_heap): Declare enable_lfh only for
8734         mingw.org's MinGW build.
8736         * src/w32console.c (w32con_write_glyphs):
8737         * src/unexw32.c (get_section_info, COPY_CHUNK, unexec): Fix some
8738         mismatches of data type vs format spec.
8740         * src/w32fns.c (compute_tip_xy):
8741         * src/w32proc.c (stop_timer_thread):
8742         * src/w32notify.c (remove_watch):
8743         * src/eval.c (internal_lisp_condition_case):
8744         * src/editfns.c (Ftranslate_region_internal):
8745         * src/data.c (Fmake_variable_buffer_local, cons_to_unsigned)
8746         (cons_to_signed):
8747         * src/buffer.c (fix_overlays_before): Initialize variables to
8748         avoid compiler warnings.
8750         * lib-src/etags.c (TeX_commands, process_file_name): Initialize
8751         variables to avoid compilation warnings.
8753 2017-09-09  Eli Zaretskii  <eliz@gnu.org>
8755         Avoid infloop when scrolling under scroll-preserve-screen-position
8757         * src/window.c (window_scroll_pixel_based): If screen position is
8758         to be preserved, make sure its recorded Y coordinate is outside
8759         the scroll margin.  (Bug#28342)
8761 2017-09-09  Michael Albinus  <michael.albinus@gmx.de>
8763         Clarification in tramp-texi
8765         * doc/misc/tramp.texi (Connection caching): Two connections are
8766         regarded as different now when they differ in the port number only.
8768 2017-09-09  Miles Bader  <miles@gnu.org>
8770         * admin/quick-install-emacs: Tweak configure.ac parsing
8772 2017-09-09  Miles Bader  <miles@gnu.org>
8774         Use text-property buttons in rcirc-markup-urls
8776         * lisp/net/rcirc.el (rcirc-markup-urls): Use `make-text-button'
8777         instead of `make-button'; the former is much more efficient in large
8778         buffers, and for the purposes of rcirc, changes no functionality.
8780 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
8782         Fix line-pixel-height for lines of variable height
8784         * src/xdisp.c (Fline_pixel_height): Start moving from the
8785         beginning of the screen line, to capture the full metrics of the
8786         line.  (Bug#28391)
8788 2017-09-08  Alex Branham  <branham@utexas.edu>  (tiny change)
8790         New variable 'dired-confirm-killing-deleted-buffers'
8792         * lisp/dired-x.el (dired-clean-confirm-killing-deleted-buffers):
8793         New variable.
8794         * lisp/dired.el (dired-clean-up-after-deletion): Kill buffers
8795         visiting deleted files without confirming if
8796         dired-clean-confirm-killing-deleted-buffers is nil.  (Bug#28373)
8797         * etc/NEWS: Document the change.
8799 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
8801         Support SVN files with svn:externals property
8803         * lisp/vc/vc-svn.el (vc-svn-parse-status): Don't ignore files
8804         marked with the svn:externals property.
8806 2017-09-08  Alfred M. Szmidt  <ams@gnu.org>  (tiny change)
8808         List locally removed files in vc-dir with SVN back-end
8810         * lisp/vc/vc-svn.el (vc-svn-after-dir-status): List files marked
8811         with ?! as needs-update.
8813 2017-09-08  Ken Olum  <kdo@cosmos.phy.tufts.edu>
8815         Fix Rmail editing with reapplying encoding to message body
8817         * lisp/mail/rmailedit.el (rmail-cease-edit):  If no
8818         content-type in edited headers, look for one in original
8819         headers and add it to edited headers.  (Bug #26918)
8820         Use a marker to track start of new body, so that
8821         content-transfer-encoding gets applied only to body.  (Bug #27353).
8822         Ensure blank line at end of message after encoding, not
8823         before.
8825 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
8827         Document last change in dired.el
8829         * etc/NEWS (Dired): Document the last change in dired.el.
8830         (Bug#27435)
8832 2017-09-08  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
8834         Make mouse clicks in Dired more customizable
8836         * lisp/dired.el (dired-mouse-find-file): Allow callers to
8837         specify functions to visit file/directory.
8838         (dired-mouse-find-file-other-window)
8839         (dired-mouse-find-file-other-frame): New functions to visit
8840         files in another window/frame.  (Bug#27435)
8842 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
8844         Avoid compiler warnings on MS-Windows with GCC 6 and 7
8846         * src/w32font.c (SUBRANGE): Use unsigned arithmetic for
8847         bit-shifting, to avoid compiler warnings.
8848         (w32font_text_extents): Tell GCC NGLYPHS is non-negative, to avoid
8849         a warning.  For details of the warning, see
8850         https://lists.gnu.org/r/emacs-devel/2017-09/msg00093.html.
8851         * src/term.c (keys) [WINDOWSNT]: Don't define, as it is not used
8852         in that build.
8853         * src/sound.c (sound_perror): Ifdef away on WINDOWSNT, as this
8854         function is not used in that build.
8856         * configure.ac: Disable -Wsuggest-attribute=format on MS-Windows.
8858 2017-09-08  Eli Zaretskii  <eliz@gnu.org>
8860         Fix 'directory-file-name' on DOS_NT systems as well
8862         * src/fileio.c (directory_file_name) [DOS_NT]: Fix the DOS_NT case
8863         to be consistent with last change.
8865         * test/src/fileio-tests.el (fileio-tests--odd-symlink-chars):
8866         Disable on MS-Windows.
8867         (fileio-tests--directory-file-name-dos-nt)
8868         (fileio-tests--file-name-as-directory-dos-nt): New tests.
8870 2017-09-08  Wilson Snyder  <wsnyder@wsnyder.org>
8872         Fix various verilog-mode.el issues.
8874         * lisp/progmodes/verilog-mode.el (verilog-expand-dirnames): Fix expanding
8875         "*/*", msg2284. Reported by Jonathan Ferguson.
8876         (ignore-errors): Fix ignore-errors error on Emacs 22.3, bug1177. Reported
8877         by Victor Lau.
8878         (verilog-getopt, verilog-getopt-file) (verilog-library-flags,
8879         verilog-substitute-file-name-path): Support -F in verilog getopt files,
8880         bug1171. Reported by George Cuan.
8881         (verilog-do-indent): Fix misindenting symbols starting with t,
8882         bug1169. Reported by Hoai Tran.
8883         (verilog-read-auto-template-middle): Fix slow template matching on
8884         AUTOINST. Reported by Jeffrey Huynh.
8885         (verilog-pretty-expr): The extra whitespace addition before "=" operators
8886         is now done only if the whole assignment block contains the 2-character
8887         "<=" operator.  Remove the unused argument _myre.  Use `unless',
8888         `save-excursion' and `when' functions where possible.  Internal variables
8889         refactored for clarity.  Follow elisp convention for closing parentheses.
8890         By Kaushal Modi.
8891         (verilog-get-lineup-indent-2): Update docstring.  Internal variables
8892         refactored for clarity.  Earlier EDPOS argument was expected to be a
8893         marker; it is now renamed to END and is now expected to be a position.
8894         Use `when' instead of `if'.  By Kaushal Modi.
8895         (electric-verilog-terminate-line): Remove the unused second argument from
8896         `verilog-pretty-expr' call.  By Kaushal Modi.
8897         (verilog-calc-1): Fix indentation of a virtual class definition after a
8898         typedef class, bug1080.  By Kaushal Modi.
8900 2017-09-08  Katsumi Yamaoka  <yamaoka@jpl.org>
8902         Don't use summary window to visit group buffer (bugfix)
8904         * lisp/gnus/gnus-sum.el (gnus-summary-jump-to-group): Make sure that
8905         the window to open the group buffer doesn't visit the summary buffer.
8906         This fixes a bug: `gnus-summary-next-article' sometimes causes an error
8907         by trying to select nonexistent summary window.
8909 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
8911         Fix bug: (directory-file-name "///") returned "//"
8913         * src/fileio.c (directory_file_name): For "///" and longer,
8914         return "/", not "//", as per POSIX.
8915         * test/src/fileio-tests.el (fileio-tests--directory-file-name)
8916         (fileio-tests--file-name-as-directory): New tests.
8918 2017-09-08  Paul Eggert  <eggert@cs.ucla.edu>
8920         Remove obsolete vc-mistrust-permissions doc
8922         * doc/emacs/vc1-xtra.texi (RCS and SCCS): Remove documentation
8923         for vc-mistrust-permissions, which no longer exists.
8925 2017-09-07  Alan Third  <alan@idiocy.org>
8927         Set frame size to actual requested size (bug#18215)
8929         * src/nsterm.m (x_set_window_size): Don't use
8930         FRAME_TEXT_TO_PIXEL_WIDTH or FRAME_TEXT_TO_PIXEL_HEIGHT.
8932 2017-09-07  Paul Eggert  <eggert@cs.ucla.edu>
8934         autogen.sh: omit bogus chatter if no .git
8936         Problem reported by Angelo Graziosi in:
8937         https://lists.gnu.org/r/emacs-devel/2017-09/msg00045.html
8938         * autogen.sh (git_config): Do not execut 'git' if $do_git fails.
8940 2017-09-07  Glenn Morris  <rgm@gnu.org>
8942         Skip emacsclient tests if --enable-profiling was used
8944         * test/lib-src/emacsclient-tests.el
8945         (emacsclient-test-call-emacsclient): Make it a macro.
8946         Handle "Profiling timer expired" return from emacsclient.  (Bug#28319)
8947         (emacsclient-test-alternate-editor-allows-arguments)
8948         (emacsclient-test-alternate-editor-allows-quotes): Update for above.
8950 2017-09-06  Eli Zaretskii  <eliz@gnu.org>
8952         Fix a minor markup problem in ELisp manual
8954         * doc/lispref/functions.texi (Mapping Functions): Fix the order of
8955         @example and @group.  For the details, see
8956         https://lists.gnu.org/r/bug-texinfo/2017-09/msg00007.html.
8958 2017-09-06  Mark Oteiza  <mvoteiza@udel.edu>
8960         Add XDG desktop file parsing and tests
8962         * lisp/xdg.el: Add support for Desktop Entry Specification.
8963         (xdg--user-dirs-parse-line): Check if file is readable.
8964         (xdg-desktop-group-regexp, xdg-desktop-entry-regexp): New variables.
8965         (xdg--desktop-parse-line, xdg-desktop-read-file, xdg-desktop-strings):
8966         New functions.
8967         * test/lisp/xdg-tests.el:
8968         * test/data/xdg/test.desktop:
8969         * test/data/xdg/wrong.desktop: New files.
8971 2017-09-06  Glenn Morris  <rgm@gnu.org>
8973         Allow for adjusting line length of test backtraces
8975         * test/Makefile.in (TEST_BACKTRACE_LINE_LENGTH): New option.
8976         (%.log): Respect backtrace line length.
8978 2017-09-06  Glenn Morris  <rgm@gnu.org>
8980         Allow customizing line length of ert backtraces in batch mode
8982         * lisp/emacs-lisp/ert.el (ert-batch-backtrace-right-margin):
8983         Make it a user option.
8984         (ert-run-tests-batch): Handle ert-batch-backtrace-right-margin nil.
8986 2017-09-06  Glenn Morris  <rgm@gnu.org>
8988         Minor emacsclient-tests simplification
8990         * test/lib-src/emacsclient-tests.el (emacsclient-test-emacs):
8991         Simplify.  Also work when running installed.
8993 2017-09-06  Alan Third  <alan@idiocy.org>
8995         Revert "Force screen update after drawing cursor glyph (bug#23774)"
8997         This reverts commit 1b492fa5456e2b6face8d0856f11d17e432693b0.
8999         See bug#28358
9001 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
9003         Refactor some loops in mailcap.el
9005         * lisp/net/mailcap.el (mailcap-mime-types):
9006         (mailcap-file-default-commands): Convert nested maps to loops.
9008 2017-09-05  Glenn Morris  <rgm@gnu.org>
9010         emacsclient-tests: remove some debug statements
9012         * test/lib-src/emacsclient-tests.el
9013         (emacsclient-test-call-emacsclient): Remove debug statements.
9015 2017-09-05  Simen Heggestøyl  <simenheg@gmail.com>
9017         Handle non-zero exit status from psql more gracefully
9019         * lisp/progmodes/sql.el (sql-postgres-list-databases): Handle non-zero
9020         exit statuses from `psql -ltX' more gracefully by returning nil.
9022         * test/lisp/progmodes/sql-tests.el
9023         (sql-tests-postgres-list-databases-error): New test.
9025 2017-09-05  Eli Zaretskii  <eliz@gnu.org>
9027         Avoid losing Ctrl-C keystrokes in compilation mode on MS-Windows
9029         * src/w32proc.c (sys_kill): Preserve the up/down state of the
9030         Ctrl key across the simulated Ctrl-C keystroke.  (Bug#28348)
9032 2017-09-05  Andreas Schwab  <schwab@linux-m68k.org>
9034         * src/image.c (Fimagemagick_types): Doc fix.
9036 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
9038         Move soundex.el test to a proper test
9040         * test/lisp/soundex-tests.el: New file.
9041         * lisp/soundex.el: Use lexical-binding.  Remove commented test.
9043 2017-09-05  Mark Oteiza  <mvoteiza@udel.edu>
9045         Add tests for mailcap.el
9047         * test/data/mailcap/mime.types: New file.
9048         * test/lisp/net/mailcap-tests.el: New file.
9050 2017-09-05  Michael Albinus  <michael.albinus@gmx.de>
9052         Doc precisment about remote link targets
9054         * doc/lispref/files.texi (Truenames): Explain handling of
9055         targets of `file-truename' and `make-symbolic-link', which
9056         look like a remote file name.
9058         * etc/NEWS: Precise examples for symlinks which look like
9059         remote file names.  MUSTBENEW of `write-region' is not
9060         propagated to file name handlers.
9062 2017-09-05  John Wiegley  <johnw@newartisans.com>
9064         Remove an opinionated section on "What Eshell is not"
9066         I don't find this information to accurately reflect possible use cases
9067         for Eshell; plus, it doesn't offer much in the way of information,
9068         just opinion.
9070 2017-09-05  Ken Brown  <kbrown@cornell.edu>
9072         Fix configure test for Xpm
9074         Problem reported by Ashish Shukla in
9075         https://lists.gnu.org/r/emacs-devel/2017-09/msg00020.html.
9076         * configure.ac (HAVE_XPM) [HAVE_X11]: Include X11/xpm.h instead of
9077         noX/xpm.h in configure test.
9079 2017-09-04  Paul Eggert  <eggert@cs.ucla.edu>
9081         Revert recent float→double Motif change
9083         Problem reported by Martin Rudalics in:
9084         https://lists.gnu.org/r/emacs-devel/2017-09/msg00014.html
9085         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
9086         (x_set_toolkit_scroll_bar_thumb)
9087         (x_set_toolkit_horizontal_scroll_bar_thumb):
9088         Go back to using ‘float’ temporaries rather than ‘double’.
9089         Although quite possibly this masks an underlying bug,
9090         we lack time to look into that now.
9092 2017-09-04  Glenn Morris  <rgm@gnu.org>
9094         emacsclient-tests: add some debug statements
9096         * test/lib-src/emacsclient-tests.el
9097         (emacsclient-test-call-emacsclient): Add debug statements.
9099 2017-09-04  Michael Albinus  <michael.albinus@gmx.de>
9101         Work on Tramp's (symbolic) links
9103         * doc/misc/tramp.texi (Traces and Profiles): Mention the
9104         backtrace when tramp-verbose is greater than or equal to 10.
9106         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
9107         Use `tramp-handle-add-name-to-file'.
9109         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist): Use
9110         `tramp-handle-add-name-to-file' and `tramp-handle-file-truename'.
9112         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link): Improve.
9114         * lisp/net/tramp-smb.el (tramp-smb-errors):
9115         Add "NT_STATUS_CONNECTION_DISCONNECTED" and
9116         "NT_STATUS_OBJECT_PATH_SYNTAX_BAD".
9117         (tramp-smb-file-name-handler-alist): Use `tramp-handle-file-truename'.
9118         (tramp-smb-do-file-attributes-with-stat): Return non-nil only
9119         if one of the attributes is non-nil.
9120         (tramp-smb-handle-file-local-copy): Use `file-truename'.
9121         (tramp-smb-handle-file-truename): Move to tramp.el.
9122         (tramp-smb-handle-insert-directory): Show symlinks.
9123         (tramp-smb-handle-make-symbolic-link): Improve.
9124         (tramp-smb-read-file-entry): Handle extended file modes in Samba.
9126         * lisp/net/tramp.el (tramp-handle-add-name-to-file)
9127         (tramp-handle-file-truename): New defuns.
9129         * test/lisp/net/tramp-tests.el (tramp-test21-file-links): Extend test.
9130         (tramp--test-check-files): Make check for "smb".
9132 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
9134         Embed JSON readtable into json-read
9136         Also unroll dispatch into a cond.
9137         * lisp/json.el (json-readtable): Remove.
9138         (json-readtable-dispatch): New macro.  Assimilate json-readtable.
9139         (json-read): Use the macro.
9141 2017-09-04  Mark Oteiza  <mvoteiza@udel.edu>
9143         Hexify strings in EWW search queries
9145         Previously, inputting "cats & dogs" would lose dogs because the
9146         ampersand signifies a query parameter.  Instead, hexify each word while
9147         preserving quotes with split-string.
9148         * lisp/net/eww.el (eww--dwim-expand-url): Join hexified words together
9149         with + separators, instead of replacing whitespace with +.
9151 2017-09-03  Glenn Morris  <rgm@gnu.org>
9153         emacsclient-tests: call-process may return non-integer
9155         * test/lib-src/emacsclient-tests.el
9156         (emacsclient-test-alternate-editor-allows-arguments)
9157         (emacsclient-test-alternate-editor-allows-quotes):
9158         Handle non-integer return from call-process.
9160 2017-09-03  Eli Zaretskii  <eliz@gnu.org>
9162         * lisp/simple.el (visual-line-mode): Doc fix.  (Bug#28337)
9164 2017-09-03  Alan Third  <alan@idiocy.org>
9166         Force screen update after drawing cursor glyph (bug#23774)
9168         * src/nsterm.m (ns_draw_window_cursor): Force a screen update after
9169         drawing the glyph over the cursor.
9171 2017-09-03  Alan Mackenzie  <acm@muc.de>
9173         Correct the fontification of quote marks after buffer changes in CC Mode.
9175         * lisp/progmodes/cc-defs.el
9176         (c-search-forward-char-property-with-value-on-char): New macro.
9178         * lisp/progmodes/cc-mode.el (c-parse-quotes-before-change)
9179         (c-parse-quotes-after-change): Rewrite the functions, simplifying
9180         considerably, and removing unnecessary optimizations.
9181         Invalidate two caches after manipulating text properties.
9183 2017-09-03  Alan Mackenzie  <acm@muc.de>
9185         Fix fontification of "operator~" in C++ Mode.
9187         * lisp/progmodes/cc-langs.el (c-ambiguous-overloadable-or-identifier-prefices)
9188         (c-ambiguous-overloadable-or-identifier-prefix-re): New c-lang-defconsts/vars.
9190         * lisp/progmodes/cc-engine.el (c-forward-name): Do not try to parse "~" (and
9191         two other symbols) as a cast without good evidence.  Prefer an overloaded
9192         operator in ambiguous cases.
9194 2017-09-03  Martin Rudalics  <rudalics@gmx.at>
9196         In delete_frame do not delete terminal for any toolkit build
9198         * src/frame.c (delete_frame): Neither delete terminal for
9199         non-GTK toolkit builds (Bug#5802, Bug#21509, Bug#23499,
9200         Bug#27816).
9202 2017-09-02  Philipp Stephani  <phst@google.com>
9204         Improve error messages for improper plists (Bug#27726)
9206         * src/fns.c (Fplist_put, Flax_plist_get, Flax_plist_put)
9207         (Fplist_member, syms_of_fns): Use ‘plistp’ as pseudo-predicate for
9208         improper plists instead of ‘listp.’
9210         * test/src/fns-tests.el (plist-get/odd-number-of-elements)
9211         (lax-plist-get/odd-number-of-elements)
9212         (plist-put/odd-number-of-elements)
9213         (lax-plist-put/odd-number-of-elements)
9214         (plist-member/improper-list): Add unit tests.
9216 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
9218         Fix decrypting in plstore.el on MS-Windows
9220         * lisp/plstore.el (plstore-open): Bind coding-system-for-read to
9221         raw-text, instead of using insert-file-contents-literally.
9222         (Bug#28114)
9224 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
9226         * src/fileio.c (Fexpand_file_name): Doc fix.  (Bug#27982)
9228 2017-09-02  Eli Zaretskii  <eliz@gnu.org>
9230         Rewrite Antinews for Emacs 26
9232         * doc/lispref/anti.texi (Antinews): Rewrite for Emacs 26.
9233         * doc/lispref/elisp.texi (Top): Update the top-level menu's
9234         Antinews entry.
9235         * doc/emacs/anti.texi (Antinews): Rewrite for Emacs 26.
9236         * doc/emacs/emacs.texi (Top): Update the top-level menu's Antinews
9237         entry.
9239         * etc/NEWS: Rearrange some entries in a more reasonable order.
9241 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
9243         Fix a mis-binding in a test
9245         * test/lisp/progmodes/python-tests.el
9246         (python-shell-calculate-process-environment-3): Fix binding of
9247         process-environment.  A level of parens was missing.
9249         This was found after Glenn Morris noticed a similar problem with the
9250         patch for Bug#28319.
9252 2017-09-02  Reuben Thomas  <rrt@sc3d.org>
9254         Fix a mis-binding and a bad defun name in a test (Bug#28319)
9256         test/lib-src/emacs-client-tests.el (call-emacsclient): Rename
9257         emacsclient-test-call-emacsclient.
9258         (emacsclient-test-alternate-editor-allows-arguments)
9259         (emacsclient-test-alternate-editor-allows-quotes): Fix let-binding of
9260         process-environment.
9262         Thanks to Glenn Morris for noticing these errors.
9264 2017-09-02  Glenn Morris  <rgm@gnu.org>
9266         * test/Makefile.in (check-no-automated-subdir): Silence by default.
9268         * test/Makefile.in (ELFILES): Sort, for a reproducible order.
9270 2017-09-01  Mark Oteiza  <mvoteiza@udel.edu>
9272         Turn off checkdoc complaint about default argument order
9274         * etc/NEWS: Mention change.
9275         * lisp/emacs-lisp/checkdoc.el (checkdoc-arguments-in-order-flag):
9276         Disable by default, note version.
9278 2017-09-01  Reuben Thomas  <rrt@sc3d.org>
9280         Stop emacsclient tests hanging (Bug#28319)
9282         * test/lib-src/emacsclient-tests.el
9283         (emacsclient-test-alternate-editor-allows-arguments): Use a
9284         non-existent file to communicate with server, so that any existing
9285         default server will not be hijacked (in fact, the test does
9286         not need a server).
9287         (emacsclient-test-alternate-editor-allows-quotes): Likewise.
9289 2017-09-01  Stefan Monnier  <monnier@iro.umontreal.ca>
9291         * lisp/obsolete/html2text.el: Don't require CL
9293         (html2text-clean-anchor): Mark unused arg.
9295 2017-09-01  Katsumi Yamaoka  <yamaoka@jpl.org>
9297         Don't remove undisplayers from inlined MIME parts (bugfix)
9299         * lisp/gnus/gnus-art.el (gnus-mime-buttonize-attachments-in-header):
9300         Don't remove undisplayers from inlined MIME parts (bugfix);
9301         Simplify criterion that finds attachments.
9303 2017-08-31  Mark Oteiza  <mvoteiza@udel.edu>
9305         Make ucs-names a hash table (Bug#28302)
9307         * etc/NEWS: Mention the type change.
9308         * lisp/descr-text.el (describe-char): Use gethash to access ucs-names.
9309         Hardcode BEL's name into the function instead of needlessly mapping
9310         over the hash table in the spirit of rassoc.
9311         * lisp/international/mule-cmds.el (ucs-names): Fix variable and
9312         function docstrings.  Initialize a hash table for ucs-names--the
9313         number of entries is 42845 here.  Switch to hash-table
9314         getters/setters.
9315         (mule--ucs-names-annotation): Use hash-table getter.
9316         (char-from-name): Upcase the string if ignore-case is truthy.
9317         * lisp/leim/quail/latin-ltx.el: Use maphash instead of dolist.
9319 2017-08-31  Alan Third  <alan@idiocy.org>
9321         Remove unneeded version checks (bug#28222)
9323         * src/macfont.h (CGContextSetFontSmoothingStyle): Remove version
9324         check.
9325         * src/macfont.m (macfont_draw): Remove version check, and test for
9326         existence of CGContextSetFontSmoothingStyle.
9328 2017-08-31  Alan Mackenzie  <acm@muc.de>
9330         Fix a glitch in CC Mode's syntactic whitespace cache.
9332         * lisp/progmodes/cc-engine.el (c-forward-sws): Deal correctly with a block
9333         comment close at the end of a macro.
9335 2017-08-31  Alan Mackenzie  <acm@muc.de>
9337         Correct the fontification of C++ Mode enclosed declarations.
9339         * lisp/progmodes/cc-fonts.el (c-font-lock-enclosing-decls): abolish the
9340         spurious check that the character before the start of an enclosed declaration
9341         must be ; or }.  It might also be {.
9343 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
9345         In xterm.c fix some recently introduced compiler warnings
9347         * src/xterm.c (xaw_jump_callback)
9348         (x_set_toolkit_scroll_bar_thumb): Fix some recently introduced
9349         -Wdouble-promotion warnings.
9351 2017-08-31  Martin Rudalics  <rudalics@gmx.at>
9353         Restrict fix of Bug#24963 and Bug#25887 to GTK builds
9355         * src/xterm.c (handle_one_xevent): Restrict earlier fix of
9356         Bug#24963 and Bug#25887 to avoid that a non-GTK Emacs won't
9357         react to state changes received via ConfigureNotify.
9359 2017-08-31  Katsumi Yamaoka  <yamaoka@jpl.org>
9361         Respect directory a user enters (bug#28299)
9363         * lisp/gnus/mm-decode.el (mm-save-part):
9364         Respect directory a user enters (bug#28299).
9366 2017-08-31  Samuel Freilich  <sfreilich@google.com>
9368         Do not split line before width of fill-prefix
9370         When auto-filling a paragraph, don't split a line before the width of the
9371         fill-prefix, creating a subsequent line that is as long or longer (Bug#20774).
9372         * lisp/simple.el (do-auto-fill): Only consider break-points that are later in
9373         the line than the width of the fill-prefix.  This is a more general solution
9374         than the previous logic, which only skipped over the exact fill-prefix.  The
9375         fill-prefix doesn't necessarily match the prefix of the first line of a
9376         paragraph in adaptive-fill-mode.
9378 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
9380         Support lazy loading for autogenerated usage docstrings too (Bug#27748)
9382         * lisp/emacs-lisp/bytecomp.el (byte-compile-file-form-defmumble):
9383         Consider any documentation that ended up in code as a docstring (e.g.,
9384         autogenerated (fn ARG1 ARG2) type things), not just what the user
9385         passed.
9387 2017-08-31  Noam Postavsky  <npostavs@gmail.com>
9389         Drop docstrings from cl-defsubst produced inline bodies (Bug#27748)
9391         * lisp/emacs-lisp/cl-macs.el (cl-defsubst): Use macroexp-parse-progn
9392         to drop the docstring.  Add a simple docstring to the compiler-macro.
9394 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
9396         Quote file-truename symlink to "../foo:bar:"
9398         Problem reported by Michael Albinus (Bug#28264#19).
9399         * lisp/files.el (files--splice-dirname-file): Fix bug where
9400         a relative symlink to "../foo:bar:" did not quote the result.
9402 2017-08-30  Reuben Thomas  <rrt@sc3d.org>
9404         Add support for arguments in emacsclient's ALTERNATE_EDITOR (Bug #25082)
9406         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
9407         corresponding command-line argument, into quote- or space-separated
9408         tokens.  If a token starts with a quote, then it naturally is expected
9409         to end with a quote; escaping is not supported. This is enough to cope
9410         with the typical case of requiring the initial path to be quoted,
9411         common on Windows where it may contain spaces.
9412         * etc/NEWS: Document.
9413         * doc/emacs/misc.texi: Likewise.
9414         * doc/man/emacsclient.1: Tweak to remove the implication that only an
9415         editor can be specified (the manual already mentions a “command”).
9416         Fix a small error where “EDITOR” is referred to rather than
9417         “ALTERNATE_EDITOR”.
9418         * test/lib-src/emacsclient-tests.el: Add tests.
9420 2017-08-30  Stefan Monnier  <monnier@iro.umontreal.ca>
9422         * lisp/man.el (Man-softhyphen-to-minus): Avoid string-as-multibyte.
9424 2017-08-30  Devon Sean McCullough  <Emacs-Hacker2017@jovi.net>  (tiny change)
9426         Correct "hide others" shortcut on macOS (bug#28215)
9428         * lisp/term/ns-win.el: Fix shortcut for ns-do-hide-others.
9430 2017-08-30  Eli Zaretskii  <eliz@gnu.org>
9432         Sync NEWS with the documentation
9434         * etc/NEWS: Mark entries according to documentation.
9436         * doc/lispref/functions.texi (Mapping Functions): Document 'mapcan'.
9438 2017-08-30  Michael Albinus  <michael.albinus@gmx.de>
9440         Improve symlinks for Tramp
9442         * lisp/files.el (files--splice-dirname-file): Quote whole file.
9444         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link):
9445         Do not expand TARGET, it could be remote.
9446         (tramp-sh-handle-file-truename): Check for cyclic symlink also
9447         in case of readlink.  Quote result if it looks remote.
9448         (tramp-sh-handle-file-local-copy): Use `file-truename'.
9450         * test/lisp/net/tramp-tests.el (tramp-test08-file-local-copy)
9451         (tramp-test09-insert-file-contents): Test also file missing.
9452         (tramp-test21-file-links): Extend test.
9454 2017-08-30  Martin Rudalics  <rudalics@gmx.at>
9456         Preserve display's foreground color when clearing internal borders (Bug#28278)
9458         * src/xterm.c (x_after_update_window_line): Preserve display's
9459         foreground color when clearing internal borders (Bug#28278).
9461 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
9463         Use cl-print for all values printed by `describe-variable'
9465         * lisp/help-fns.el (describe-variable): Use cl-prin1 for original and
9466         global values too.
9468 2017-08-30  Noam Postavsky  <npostavs@gmail.com>
9470         Minor simplification for byte-compile-constant-push
9472         * lisp/emacs-lisp/bytecomp.el (byte-compile-constant): Move the meat
9473         of the code from here...
9474         (byte-compile-constant-push): ... to here.  No need to bind
9475         byte-compile--for-effect anymore.
9477 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
9479         Prefer file-name-quote to concat "/:"
9481         Suggested by Michael Albinus (Bug#28264#13).
9482         * lisp/files.el (files--splice-dirname-file): Use file-name-quote
9483         rather than attempting to do it by hand.
9485 2017-08-30  Paul Eggert  <eggert@cs.ucla.edu>
9487         * configure.ac: fix typo in previous change
9489 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
9491         Be more conservative in link time optimization doc
9493         While testing --enable-link-time-optimization with GCC 7.1.1
9494         I ran into a serious GCC code-generation bug which makes me
9495         think that --enable-link-time-optimization should be
9496         discouraged for typical installs (Bug#28213).  See:
9497         https://bugzilla.redhat.com/show_bug.cgi?id=1486455
9499 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
9501         Make garbage collection more conservative
9503         Check for a pointer anywhere within the object, as opposed to just
9504         the start of the object.  This is needed for gcc -Os -flto on
9505         x86-64 (Bug#28213).  This change means that the garbage collector
9506         is more conservative, and will incorrectly keep objects that it
9507         does not need to, but that is better than incorrectly discarding
9508         objects that should be kept.
9509         * src/alloc.c (ADVANCE, VINDEX): Now functions, not macros;
9510         this is easier to debug.
9511         (setup_on_free_list): Rename from SETUP_ON_FREE_LIST.
9512         Now a function with two args, not a macro with three.
9513         All callers changed.
9514         (live_string_holding, live_cons_holding, live_symbol_holding)
9515         (live_misc_holding, live_vector_holding, live_buffer_holding):
9516         New functions, which check for any object containing the addressed
9517         byte, not just for an object at the given address.
9518         (live_string_p, live_cons_p, live_symbol_p, live_misc_p)
9519         (live_vector_p, live_buffer_p):
9520         Redefine in terms of the new functions.
9521         (live_float_p): Refactor slightly to match the new functions.
9522         (mark_maybe_object, mark_maybe_pointer): Use the new functions.
9523         Don’t bother checking mark bits, as mark_object already does that,
9524         and omitting the checks here simplifies the code.  Although
9525         mark_maybe_object can continue to insist that tagged pointers
9526         still address the start of the object, mark_maybe_pointer now is
9527         more conservative and checks for pointers anywhere into an object.
9529 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
9531         Improve stack-top heuristic
9533         This is needed for gcc -Os -flto on x86-64; otherwise, GC misses part
9534         of the stack when scanning for heap roots, causing Emacs to crash
9535         later (Bug#28213).  The problem is that Emacs's hack for getting an
9536         address near the stack top does not work when link-time optimization
9537         moves stack variables around.
9538         * configure.ac (HAVE___BUILTIN_FRAME_ADDRESS): New macro.
9539         * lib-src/make-docfile.c (DEFUN_noinline): New constant.
9540         (write_globals, scan_c_stream): Support noinline.
9541         * src/alloc.c (NEAR_STACK_TOP): New macro.
9542         (SET_STACK_TOP_ADDRESS): Use it.
9543         (flush_stack_call_func, Fgarbage_collect): Now noinline.
9545 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
9547         Align stack bottom properly.
9549         This is needed for gcc -Os -flto on x86-64 (Bug#28213).
9550         * src/emacs.c (main): Align stack-bottom variable as a pointer,
9551         since mark_memory requires this.
9553 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
9555         Avoid spinning waiting for git-gui.exe on Windows
9557         * src/w32proc.c (waitpid): If GetExitCodeProcess returns
9558         STILL_ACTIVE, and we were called with WNOHANG, pretend that the
9559         process exited.  (Bug#28268)
9561 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
9563         Document '--module-assertions'
9565         * doc/emacs/cmdargs.texi (Initial Options): Document the
9566         '--module-assertions' command-line option.
9567         * doc/lispref/loading.texi (Dynamic Modules): Add a
9568         cross-reference to the description of '--module-assertions'.
9570         * etc/NEWS: Update the NEWS entry for --module-assertions.
9572 2017-08-29  Alan Third  <alan@idiocy.org>
9574         Add news entry about new macOS features
9576         * etc/NEWS: Add entry about ns-appearance, ns-transparent-titlebar and
9577         ns-use-thin-smoothing.
9579 2017-08-29  Alan Third  <alan@idiocy.org>
9581         Fix cross macOS version building (bug#28222)
9583         * src/macfont.h (CGContextSetFontSmoothingStyle): Function
9584         declaration.
9585         * src/macfont.m (macfont_draw): Limit new code to macOS 10.8 and up.
9587 2017-08-29  Ben Bonfil  <bonfil@gmail.com>  (tiny change)
9589         Enable thin font smoothing in macOS (bug#28222)
9591         * src/nsterm.m (syms_of_nsterm): Define var ns-use-thin-smoothing.
9592         * src/macfont.m (macfont_draw): Use font smoothing.
9594 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
9596         Minor improvement in documentation of display-line-numbers
9598         * doc/emacs/display.texi (Display Custom): Document the
9599         display-line-numbers-mode and related options.
9601 2017-08-29  Eli Zaretskii  <eliz@gnu.org>
9603         Avoid aborting in 'waitpid' on MS-Windows
9605         * src/w32proc.c (waitpid): Don't allow quitting if called with
9606         WNOHANG in OPTIONS.  (Bug#28268)
9608 2017-08-29  Stefan Monnier  <monnier@iro.umontreal.ca>
9610         * lisp/progmodes/sh-script.el: Test "in-string" of the right char!
9612         (sh-syntax-propertize-function): Fix off-by-one error.
9613         Fixes bug#23526.
9615 2017-08-29  Rasmus  <rasmus@gmx.us>
9617         Update Org to v9.0.10
9619         Please see etc/ORG-NEWS for major changes. Note, this is a bugfix
9620         release.
9622 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
9624         Silence false alarms for symlinks to sources
9626         Problem reported by Glenn Morris (Bug#28264).
9627         * lisp/files.el (files--splice-dirname-file): New function.
9628         (file-truename, file-chase-links): Use it.
9630 2017-08-29  Paul Eggert  <eggert@cs.ucla.edu>
9632         Simplify remove_slash_colon
9634         * src/process.c (remove_slash_colon): Simplify
9635         and avoid a special case for "/:" by itself.
9637 2017-08-28  Tassilo Horn  <tsdh@gnu.org>
9639         Remove font family from minibuffer-prompt face
9641         * etc/themes/tsdh-light-theme.el (tsdh-light): Remove font family from
9642         minibuffer-prompt face.
9644 2017-08-28  Michael Albinus  <michael.albinus@gmx.de>
9646         Further fixes in tramp-smb.el
9648         * lisp/net/tramp-smb.el (tramp-smb-handle-file-truename): New defun.
9649         (tramp-smb-file-name-handler-alist): Use it.
9650         (tramp-smb-handle-make-symbolic-link): Unquote target.
9652         * test/lisp/net/tramp-tests.el
9653         (tramp--test-ignore-make-symbolic-link-error): New defmacro.
9654         (tramp-test18-file-attributes, tramp-test21-file-links)
9655         (tramp--test-check-files): Use it.
9657 2017-08-28  Paul Eggert  <eggert@cs.ucla.edu>
9659         Don’t assume -g3 in .gdbinit
9661         * src/.gdbinit (EMACS_INT_WIDTH, USE_LSB_TAG):
9662         Use reasonable defaults if not in the symbol table.
9664 2017-08-28  Robert Pluim  <rpluim@gmail.com>  (tiny change)
9666         Use string-match to check for dotfiles in ido
9668         * lisp/ido.el (ido-make-file-list): Use string-match to check
9669         for dotfiles instead of substring, as when using tramp
9670         simplified syntax ido-temp-list may contain empty strings.
9672 2017-08-28  Mark Oteiza  <mvoteiza@udel.edu>
9674         Font-lock FDO desktop files correctly
9676         Single and double quotes do not have a special meaning in
9677         desktop files.
9678         https://standards.freedesktop.org/desktop-entry-spec/latest/
9679         * etc/NEWS: Mention new mode.
9680         * lisp/files.el (auto-mode-alist): Split out an entry for handling
9681         the .desktop extension with conf-desktop-mode.
9682         * lisp/textmodes/conf-mode.el (conf-desktop-font-lock-keywords): New
9683         variable with rules for booleans and format specifiers.
9684         (conf-unix-mode): Remove desktop file entry example from docstring.
9685         (conf-desktop-mode): New derived major mode.
9687 2017-08-27  Tom Tromey  <tom@tromey.com>
9689         Fix auto-fill bug in js-mode
9691         * lisp/progmodes/js.el (js-do-auto-fill): New function.
9692         (js-mode): Set normal-auto-fill-function.
9693         * test/lisp/progmodes/js-tests.el (js-mode-fill-comment-bug): New
9694         test.
9696 2017-08-27  Noam Postavsky  <npostavs@gmail.com>
9698         Disable completion while entering python multiline statements
9700         The "legacy" completion mechanism sends newlines to the running python
9701         process to get the list of completions, which confuses things if the
9702         user is in the middle of entering a multiline statement (Bug#28051).
9703         It's better to disable completion in this case.
9704         * lisp/progmodes/python.el (python-shell--block-prompt): New variable.
9705         (python-shell-prompt-set-calculated-regexps): Set it.
9706         (python-shell-completion-at-point): Return 'ignore' as the completion
9707         function when the current prompt is a block prompt.
9709 2017-08-27  Michael Albinus  <michael.albinus@gmx.de>
9711         Tramp cleanup
9713         * lisp/net/tramp-sh.el (tramp-sh-extra-args): Remove compat code.
9714         (tramp-sh-handle-make-symbolic-link): More robust check for
9715         TARGET remoteness.
9717         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
9718         Disable copying by tar temporarily, it doesn't work reliably.
9719         (tramp-smb-do-file-attributes-with-stat): Resolve symlink.
9720         (tramp-smb-handle-make-symbolic-link): Fix implementation.
9722         * lisp/net/tramp.el (tramp-handle-file-symlink-p): Simplify.
9724         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
9725         Extend test.
9727 2017-08-27  Glenn Morris  <rgm@gnu.org>
9729         Fix previous xterm.h change for non-gtk builds
9731         * src/xterm.h (GTK_CHECK_VERSION) [!USE_GTK]: Define it.
9733 2017-08-27  Philipp Stephani  <phst@google.com>
9735         Fix GdkSettings-related deprecation warnings
9737         * src/gtkutil.c (xg_initialize): Don’t set deprecated and ignored
9738         gtk-menu-bar-accel setting in new versions of GTK+.  Use g_object_set
9739         instead of deprecated gtk_settngs_set_string_property otherwise.
9741 2017-08-27  Philipp Stephani  <phst@google.com>
9743         Always use gtk_window_move in new versions
9745         * src/gtkutil.c (my_log_handler): Don’t define in new versions of
9746         GTK+.
9747         (xg_set_geometry): Always use gtk_window_move in new versions of GTK+.
9749         * src/xterm.c (syms_of_xterm): Document that x-gtk-use-window-move
9750         is ignored.
9752         * lisp/subr.el (x-gtk-use-window-move): Make obsolete.
9754 2017-08-27  Charles A. Roelli  <charles@aurox.ch>
9756         Fix 'diff-goto-source' when buffer is narrowed (Bug#21262)
9758         * lisp/vc/diff-mode.el (diff-find-file-name): Save the current
9759         narrowing, and widen the buffer before searching for the name of the
9760         file corresponding to the diff.
9762         With thanks to Noam Postavsky.
9764 2017-08-27  Philipp Stephani  <phst@google.com>
9766         Remove use of a deprecated GTK+ function in new versions
9768         * src/gtkutil.c (xg_make_tool_item): Use gtk_widget_set_focus_on_click
9769         if available
9771 2017-08-27  Philipp Stephani  <phst@google.com>
9773         Stop using deprecated GdkScreen monitor functions in newer GDK
9775         * src/xfns.c (Fx_display_monitor_attributes_list): Use GdkMonitor
9776         objects instead of the deprecated GdkScreen functions in GDK 3.22+
9778 2017-08-27  Philipp Stephani  <phst@google.com>
9780         Use GdkSeat in new GDK versions
9782         * src/gtkutil.c (xg_event_is_for_scrollbar): Use GdkSeat instead of
9783         GdkDeviceManager in GDK 3.20+
9785 2017-08-27  Philipp Stephani  <phst@google.com>
9787         * src/xterm.c (XTflash): Don’t use gdk_cairo_create in GDK 3.22+
9789 2017-08-27  Philipp Stephani  <phst@google.com>
9791         Remove call of deprecated GDK function
9793         * src/xterm.h (XSync): Don’t call gdk_window_process_all_updates in
9794         GDK 3.22 or later.
9796 2017-08-27  Alan Mackenzie  <acm@muc.de>
9798         Amend the CC Mode macro cache to cope with changes at the macro start
9800         Fixes bug #28233.
9802         * lisp/progmodes/cc-engine.el (c-invalidate-macro-cache): Fix an off-by-1
9803         error.
9805 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
9807         Fix over-protection of byte-compiled files
9809         Problem reported by Sven Joachim (Bug#28244).
9810         Also, fix similar problem for autoload files.
9811         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
9812         Set temp file modes to the buffer-file-name file modes (or 666
9813         if not available) as adjusted by umask.
9814         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
9815         Set temp file modes to 666 as adjusted by umask.
9817 2017-08-27  Tom Tromey  <tom@tromey.com>
9819         Refine conf-toml-mode font-lock
9821         Bug#28218
9822         * lisp/textmodes/conf-mode.el (conf-toml-font-lock-keywords): Use
9823         conf-toml-recognize-section.  Use \s- in variable regexp.
9824         (conf-toml-recognize-section): New function.
9826 2017-08-27  Paul Eggert  <eggert@cs.ucla.edu>
9828         Do not munge contents of local symbolic links
9830         This lets Emacs deal with arbitrary local symlinks without
9831         mishandling their contents (Bug#28156).  For example,
9832         (progn (shell-command "ln -fs '~' 'x'") (rename-file "x" "/tmp/x"))
9833         now consistently creates a symbolic link from '/tmp/x' to '~'.
9834         Formerly, it did that only if the working directory was on the
9835         same filesystem as /tmp; otherwise, it expanded the '~' to
9836         the user's home directory.
9837         * lisp/dired.el (dired-get-filename): Use files--name-absolute-system-p
9838         instead of rolling our own code.
9839         * lisp/files.el (files--name-absolute-system-p): New function.
9840         (file-truename, file-chase-links): Use it to avoid mishandling
9841         symlink contents that begin with ~.
9842         (copy-directory, move-file-to-trash):
9843         Use concat rather than expand-file-name, to avoid mishandling
9844         symlink contents that begin with ~.
9845         * src/fileio.c (Fmake_symbolic_link): Do not expand leading "~" in the
9846         target unless interactive.  Strip leading "/:" if interactive.
9847         (emacs_readlinkat): Do not prepend "/:" to the link target if
9848         it starts with "/" and contains ":" before NUL.
9849         * test/src/fileio-tests.el (try-link): Rename from try-char,
9850         and accept a string instead of a char.  All uses changed.
9851         (fileio-tests--symlink-failure): Also test leading ~, and "/:",
9852         to test the new behavior.
9854 2017-08-27  Reuben Thomas  <rrt@sc3d.org>
9856         Remove invalid regexp for shell builtins for wksh
9858         * lisp/progmodes/sh-script.el (sh-builtins): Shell built-ins have to
9859         be literal strings, so remove a regexp for wksh. In any case, it’s a
9860         defunct proprietary shell.
9862 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
9864         Improve doc for file-name-absolute-p.
9866 2017-08-26  Michael Albinus  <michael.albinus@gmx.de>
9868         Fix Tramp part of Bug#28156
9870         * lisp/files.el (file-name-non-special): Use `file-name-quote'
9871         instead prefixing "/:", the file could already be quoted.
9873         * lisp/net/tramp.el (tramp-error): Handle null arguments.
9874         (tramp-handle-make-symbolic-link):
9875         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
9876         (tramp-sh-handle-add-name-to-file):
9877         * lisp/net/tramp-smb.el (tramp-smb-handle-add-name-to-file)
9878         (tramp-smb-handle-make-symbolic-link): Adapt implementation to
9879         stronger semantics in Emacs.  (Bug#28156)
9881         * test/lisp/net/tramp-tests.el (tramp-test21-file-links):
9882         Extend test.
9884 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
9886         Fix bugs merged with bug#25428
9888         * lisp/simple.el (auto-fill-mode, visual-line-mode): Doc fix.
9889         (Bug#13926)  (Bug#25434)  (Bug#25435)
9891 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
9893         Improve documentation of Info virtual files and nodes
9895         * lisp/info.el (Info-virtual-files, Info-virtual-nodes): Doc fix.
9896         (Bug#28237)
9898 2017-08-26  Eli Zaretskii  <eliz@gnu.org>
9900         * lisp/delsel.el (delete-selection-mode): Doc fix.  (Bug#25428)
9902 2017-08-26  Grégory Mounié  <Gregory.Mounie@imag.fr>  (tiny change)
9904         Support multi-lingual detection of SEE ALSO man sections
9906         * lisp/man.el (Man-see-also-regexp): Add support for SEE ALSO
9907         section detection in several langages: French, German, Spanish,
9908         Portugese, Italian, Polish, Turkish, Japanese, Chinese.  (Bug#28142)
9910 2017-08-26  Paul Eggert  <eggert@cs.ucla.edu>
9912         Improve expand-file-name doc
9914         * doc/lispref/files.texi (Relative File Names, Directory Names)
9915         (File Name Expansion):
9916         * doc/lispref/minibuf.texi (Reading File Names):
9917         Document expand-file-name behavior with ~ more clearly
9918         and accurately.
9919         * doc/misc/org.texi (Batch execution): Simplify example
9920         script so that it does not need expand-file-name and thus
9921         will not mishandle file names with leading ~.
9923 2017-08-26  Jefferson Carpenter  <jeffersoncarpenter2@gmail.com>  (tiny change)
9925         Support all perl variable declarators and prefixes (Bug#27613)
9927         * lisp/progmodes/perl-mode.el (perl-imenu-generic-expression)
9928         (perl-font-lock-keywords-2): Match declators 'anon', 'argument', 'has',
9929         'local', 'state', 'supersede', 'let', and 'temp'.
9931 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9933         Fix file-attributes race on GNU hosts
9935         * doc/lispref/files.texi (File Attributes):
9936         Document file-attributes atomicity.
9937         * etc/NEWS: Document the fix.
9938         * src/dired.c (file_attributes): New args DIRNAME and FILENAME,
9939         for diagnostics.  All callers changed.  On platforms like
9940         GNU/Linux that support O_PATH, fix a race condition in
9941         file-attributes and similar functions, so that these functions do
9942         not return nonsense if a directory entry is replaced while getting
9943         its attributes.  On non-GNU platforms, do a better (though not
9944         perfect) job of detecting the race, and return nil if detected.
9946 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9948         Simplify expand_and_dir_to_file
9950         * src/fileio.c (expand_and_dir_to_file): Simplify by omitting 2nd
9951         argument, since in practice it always has the default value.  All
9952         callers changed.  Prefer C99 style decls in nearby code.
9954 2017-08-25  Eli Zaretskii  <eliz@gnu.org>
9956         Fix file-name completion on network shares
9958         * src/w32.c (faccessat): Don't assume that F_OK is non-zero.
9959         (Bug#28207)
9961 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
9963         Fix a FIXME with an exegetical comment
9965         * lisp/progmodes/sh-script.el (sh-builtins): Explain why we have a
9966         regexp for wksh builtins.
9968 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
9970         Minor docstring language fix
9972         * lisp/progmodes/sh-script.el (sh-show-indent): Remove spurious “the”.
9974 2017-08-25  Reuben Thomas  <rrt@sc3d.org>
9976         Remove old commented code from sh-script.el
9978         * lisp/progmodes/sh-script.el (sh-abbrevs): Remove commented function
9979         and variable, commented since 2001.
9981 2017-08-25  Stefan Monnier  <monnier@iro.umontreal.ca>
9983         * lisp/emacs-lisp/package.el: Don't let failure stop us
9985         (package-activate-1): Don't throw an error for missing deps.
9986         (package-unpack): Don't bother compiling if activation failed.
9987         (package-initialize): Report failures but keep activating other packages.
9989 2017-08-25  Paul Eggert  <eggert@cs.ucla.edu>
9991         Prefer ‘double’ for FP temps in xterm.c
9993         * src/xterm.c (xm_scroll_callback, xaw_jump_callback)
9994         (x_set_toolkit_scroll_bar_thumb)
9995         (x_set_toolkit_horizontal_scroll_bar_thumb): Prefer ‘double’ to
9996         ‘float’ for individual local floating-point temporaries.
9998 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
10000         Avoid using string-to-multibyte in ispell.el
10002         * lisp/textmodes/ispell.el (ispell-get-decoded-string): Use
10003         decode-coding-string instead. Note that decode-coding-string returns a
10004         string that satisfies multibyte-string-p even if its input is pure
10005         ASCII and the third argument is t, so the result of
10006         ispell-get-decoded-string is always a multibyte string.
10008 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
10010         Store the regexp just when there are matches
10012         * lisp/hi-lock.el (hi-lock-set-pattern): When font-lock-mode is
10013         disabled and there are no matches do not store REGEXP
10014         in hi-lock-interactive-patterns.
10016 2017-08-24  Tino Calancha  <tino.calancha@gmail.com>
10018         Keep face available if there are no matches
10020         If font-lock-mode is disabled in the current buffer, and
10021         there are no matches for REGEXP, then keep FACE available
10022         for a next search.
10023         * lisp/hi-lock.el (hi-lock-set-pattern): Add FACE into
10024         hi-lock--unused-faces if font-lock-mode is disabled and
10025         there are no matches.
10026         * test/lisp/hi-lock-tests.el (hi-lock-test-set-pattern): Add test.
10028 2017-08-24  Michael Albinus  <michael.albinus@gmx.de>
10030         Minor improvements for tramp-interrupt-process, documentation
10032         * doc/lispref/processes.texi (Signals to Processes):
10033         * etc/NEWS: Document interrupt-process-functions.
10035         * lisp/net/tramp.el (tramp-interrupt-process): Test also for
10036         `process-live-p'.
10038         * src/process.c (Vinterrupt_process_functions): Fix docstring.
10040         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
10041         Extend test.
10043 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
10045         Fix a comment whitespace typo.
10047         src/fileio.c: A double space was added after "..", used in a code
10048         example. Make it a single space.
10050 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
10052         Remove old commented code and obsolete comments
10054         * lisp/files.el (locate-dominating-files): Remove old commented
10055         implementation from 9 years ago.  Since the current version
10056         appears (at least to me) not just more efficient but clearer than the
10057         version removed, also delete a comment in the new version referring to
10058         the old version. Remove old commented heuristic code,
10059         and explanatory comments.
10061 2017-08-24  Reuben Thomas  <rrt@sc3d.org>
10063         Remove old duplicate commented code
10065         * lisp/files.el (file-relative-name): Remove old commented version,
10066         replaced 14 years ago in commit 753ad9889.
10068 2017-08-24  Tom Tromey  <tom@tromey.com>
10070         Add conf-toml-mode
10072         * etc/NEWS: Mention conf-toml-mode.
10073         * lisp/files.el (auto-mode-alist): Add entry for .toml.
10074         * lisp/textmodes/conf-mode.el (conf-toml-mode-syntax-table)
10075         (conf-toml-font-lock-keywords): New defvars.
10076         (conf-toml-mode): New mode.
10078 2017-08-23  Alan Third  <alan@idiocy.org>
10080         Use lisp type in log message (bug#28176)
10082         * src/nsimage.m (ns_load_image): Use make_number on index.
10084 2017-08-23  Alan Third  <alan@idiocy.org>
10086         Fix PNGs on macOS (bug#28176)
10088         * src/nsimage.m (ns_load_image): Remove index check.
10089         (EmacsImage::getAnimatedBitmapImageRep): New function.
10090         (EmacsImage::getMetadata): Use getAnimatedBitmapImageRep.
10091         (EmacsImage::setFrame): Use getAnimatedBitmapImageRep and check index
10092         is valid.
10094 2017-08-23  Alan Third  <alan@idiocy.org>
10096         Add ability to change macOS WM theme (bug#27973)
10098         * src/frame.c (make_frame, frame_parms, syms_of_frame)
10099         [NS_IMPL_COCOA]: Add ns-appearance and ns-transparent-titlebar
10100         options.
10101         * src/frame.h (ns_appearance_type) [NS_IMPL_COCOA]: Add enum to
10102         represent NSAppearance options.
10103         (struct frame) [NS_IMPL_COCOA]: Add ns_appearance and
10104         ns_transparent_titlebar frame parameters.
10105         * src/nsfns.m (ns_frame_parm_handlers) [NS_IMPL_COCOA]: Add
10106         ns_set_appearance and ns_set_transparent_titlebar handlers.
10107         (Sx_create_frame): Handle ns-appearance and ns-transparent-titlebar
10108         frame parameters.
10109         (Qdark): Add new symbol for use with ns-appearance.
10110         * src/nsterm.h (ns_set_appearance, ns_set_transparent_titlebar)
10111         [NS_IMPL_COCOA]: Add prototypes.
10112         * src/nsterm.m (ns_set_appearance, ns_set_transparent_titlebar)
10113         [NS_IMPL_COCOA]: New functions.
10114         (initFrameFromEmacs) [NS_IMPL_COCOA]: Handle ns-appearance and
10115         ns-transparent-titlebar frame parameters.
10116         * doc/lispref/frames.texi (Window Management Parameters): Document
10117         ns-apperance and ns-transparent-titlebar.
10119 2017-08-22  Alan Mackenzie  <acm@muc.de>
10121         When looking for the end of a declarator, prevent macros fouling up the search
10123         The practical implication of this bug was a random jit-lock chunk remaining
10124         entirely unfontified.
10126         * lisp/progmodes/cc-mode.el (c-fl-decl-end): If point starts inside a macro,
10127         restrict two forward searches to the end of that macro.
10129 2017-08-22  Michael Albinus  <michael.albinus@gmx.de>
10131         Test `file-expand-wildcards' for Tramp
10133         * lisp/net/tramp-compat.el (tramp-advice-file-expand-wildcards):
10134         Remove, not needed anymore.
10136         * test/lisp/net/tramp-tests.el (top): Require seq.el.
10137         (tramp-test16-directory-files): Simplify.
10138         (tramp-test16-file-expand-wildcards): New test.
10139         (tramp-test28-interrupt-process): Skip for older Emacsen.
10141 2017-08-22  Alexander Gramiak  <agrambot@gmail.com>
10143         Add tests for cl-macs.el (Bug#27559)
10145         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-test-loop): Remove
10146         duplicate.
10147         (cl-loop-destructuring-with): Move to cl-macs-tests.el.
10148         * test/lisp/emacs-lisp/cl-macs-tests.el: New file.
10150 2017-08-22  Noam Postavsky  <npostavs@gmail.com>
10152         Optimize skkdic conversion (Bug#28043)
10154         The primary speedup comes from the optimizing lookup-nested-alist and
10155         set-nested-alist for the case where the key is a string.  This brings
10156         the time down to less than half the original.
10158         * lisp/international/mule-util.el (lookup-nested-alist)
10159         (set-nested-alist): Use `assq' instead of `assoc' when KEYSEQ is a
10160         string.
10162         * lisp/international/ja-dic-cnv.el (skkdic-collect-okuri-nasi)
10163         (skkdic-convert-okuri-nasi): Use progress-reporter functions instead
10164         of calculating ratio of work done inline.
10166         (skkdic-reduced-candidates): Call `char-category-set' on the first
10167         character of the string directly, instead of using a regexp for the
10168         character category.
10169         (skkdic--japanese-category-set): New constant.
10170         (skkdic-collect-okuri-nasi): Just set
10171         `skkdic-okuri-nasi-entries-count' at once at the end rather than
10172         updating it throughout the loop.
10174         (skkdic-convert-postfix skkdic-convert-prefix)
10175         skkdic-get-candidate-list, skkdic-collect-okuri-nasi)
10176         (skkdic-extract-conversion-data): Use `match-string-no-properties'
10177         instead of `match-string'.
10179 2017-08-22  Reuben Thomas  <rrt@sc3d.org>
10181         Treat tests in lib-src like tests in src
10183         * test/Makefile.in (test_template): Depend on a .c source file for a
10184         test under lib-src, as for src.  (Thanks, Glenn Morris for pointing me
10185         in the right direction.)
10187 2017-08-22  Paul Eggert  <eggert@cs.ucla.edu>
10189         Port /bin/sh scripts to Solaris 10
10191         Its /bin/sh builtin ‘test’ command does not support -e.
10192         * autogen.sh, build-aux/git-hooks/pre-commit:
10193         * build-aux/gitlog-to-emacslog, make-dist:
10194         Use test -r, not test -e.
10196 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
10198         Avoid losing the buffer restriction in flyspell-mode
10200         * src/intervals.c (get_local_map): Don't allow C-g to quit as long
10201         as we have the buffer widened, to make sure the restriction is
10202         preserved.  (Bug#28161)
10204 2017-08-21  Sven Joachim  <svenjoac@gmx.de>
10206         Fix the 'versionclean' target in src/Makefile
10208         * src/Makefile.in (versionclean): Don't accidentally remove
10209         emacs-module.h.  (Bug#28169)
10211 2017-08-21  Michael Albinus  <michael.albinus@gmx.de>
10213         Implement `interrupt-process-functions'
10215         * lisp/net/tramp.el (tramp-interrupt-process): Rename from
10216         `tramp-advice-interrupt-process'.  Adapt according to changed API.
10217         (top): Add it to `interrupt-process-functions'.
10219         * src/process.c (Finternal_default_interrupt_process): New defun.
10220         (Finterrupt_process): Change implementation, based on
10221         Vinterrupt_process_functions.
10222         (Vinterrupt_process_functions): New defvar.
10224         * test/lisp/net/tramp-tests.el (tramp-test40-unload): Do not
10225         test removal of advice.
10227 2017-08-21  Eli Zaretskii  <eliz@gnu.org>
10229         Avoid floating-point exceptions while drawing underwave
10231         * src/w32term.c (x_get_scale_factor):
10232         * src/xterm.c (x_get_scale_factor): Don't let the scale factors
10233         become less than 1.  Reported by Yuri D'Elia <wavexx@thregr.org> in
10234         https://lists.gnu.org/r/emacs-devel/2017-08/msg00459.html.
10236 2017-08-21  Sam Steingold  <sds@gnu.org>
10238         mark flymake-mode as safe local variable when the value is nil
10240 2017-08-21  Sam Steingold  <sds@gnu.org>
10242         allow nil init in flymake-allowed-file-name-masks to disable flymake
10244         (flymake-allowed-file-name-masks): Update doc and :type.
10245         (flymake-get-file-name-mode-and-masks): Handle nil init.
10247 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
10249         Remove the workaround for bug#20719
10251         * lisp/cedet/semantic/symref/grep.el
10252         (semantic-symref-grep-use-template): Remove the workaround for
10253         bug#20719, it's been fixed for a while now.
10255 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
10257         Fix byte-compilation warnings in semantic/symref/grep
10259         * lisp/cedet/semantic/symref/grep.el (greppattern): Remove.
10260         (grepflags): Rename to semantic-symref-grep-flags.
10261         (semantic-symref-grep-expand-keywords): Update accordingly.
10262         (semantic-symref-grep-use-template): Remove the last two
10263         arguments to make sure they don't shadow the (not renamed)
10264         global variables.
10265         (semantic-symref-perform-search)
10266         (semantic-symref-parse-tool-output-one-line): Use slot names
10267         instead of keywords, like the byte-compiler wants us to.
10269 2017-08-20  Dmitry Gutov  <dgutov@yandex.ru>
10271         Simplify eldoc-message
10273         * lisp/emacs-lisp/eldoc.el (eldoc-message): Simplify.
10274         Don't use ARGS because no callers pass them.  Discussed in bug#27230.
10276 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
10278         Work around w32-python-2.x bug to fix prompt detection (Bug#21376)
10280         * lisp/progmodes/python.el (python-shell-prompt-detect): Don't put
10281         carriage returns into the temporary file when running in unbuffered
10282         mode, the w32 build of python 2.7 chokes on them.
10284 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
10286         Add missing require
10288         * lisp/textmodes/ispell.el: Require subr-x. (Thanks, Eli Zaretskii.)
10290 2017-08-20  Michael Albinus  <michael.albinus@gmx.de>
10292         Implement `interrupt-process' for remote processes (Bug#28066)
10294         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process):
10295         Support sending signals remotely.
10296         (tramp-open-connection-setup-interactive-shell):
10297         Trace "remote-tty" connection property.
10299         * lisp/net/tramp.el (tramp-advice-interrupt-process): New defun.
10300         (top): Add advice to `interrupt-process'.  (Bug#28066)
10302         * test/lisp/net/tramp-tests.el (tramp-test28-interrupt-process):
10303         New test.
10304         (tramp-test29-shell-command)
10305         (tramp-test30-environment-variables)
10306         (tramp-test30-environment-variables-and-port-numbers)
10307         (tramp-test31-explicit-shell-file-name)
10308         (tramp-test32-vc-registered)
10309         (tramp-test33-make-auto-save-file-name)
10310         (tramp-test34-make-nearby-temp-file)
10311         (tramp-test35-special-characters)
10312         (tramp-test35-special-characters-with-stat)
10313         (tramp-test35-special-characters-with-perl)
10314         (tramp-test35-special-characters-with-ls, tramp-test36-utf8)
10315         (tramp-test36-utf8-with-stat, tramp-test36-utf8-with-perl)
10316         (tramp-test36-utf8-with-ls)
10317         (tramp-test37-asynchronous-requests)
10318         (tramp-test38-recursive-load, tramp-test39-remote-load-path)
10319         (tramp-test40-unload): Rename.
10320         (tramp-test40-unload): Test also removal of advice.
10322 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
10324         Document Enchant support
10326         * doc/emacs/fixit.texi: Mention Enchant.
10327         * doc/misc/efaq.texi: Likewise.
10328         * etc/NEWS: Add an item on Enchant support.
10330 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
10332         Remove old comments and a redundant FIXME
10334         * lisp/textmodes/ispell.el (ispell-process-line): Remove some old
10335         commented code, a redundant FIXME, and outdated usage instructions.
10337 2017-08-20  Reuben Thomas  <rrt@sc3d.org>
10339         Add Enchant support to ispell.el (Bug#17742)
10341         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
10342         (ispell-really-enchant): Add variable.
10343         (ispell-check-version): If using Enchant, check it’s new enough (at
10344         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
10345         without.)
10346         (ispell-enchant-dictionary-alist): Add variable.
10347         (ispell-find-enchant-dictionaries): Add function, based on
10348         ispell-find-aspell-dictionaries.
10349         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
10350         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
10351         old ispell name to locale mapping code for Enchant too.
10352         (ispell-send-replacement): Make it work with Enchant.
10354 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
10356         * lisp/term.el (term-mode): Use `window-text-height' (Bug#5615).
10358 2017-08-20  Noam Postavsky  <npostavs@gmail.com>
10360         Stop printing '4' in .elc files after 'define-symbol-prop' calls
10362         * lisp/emacs-lisp/bytecomp.el (byte-compile-define-symbol-prop):
10363         Return nil in case we have compiled the form, to prevent a redundant
10364         constant from getting added to the compiled output.
10366 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10368         Change recent symlink tests to just test ASCII
10370         * test/src/fileio-tests.el (fileio-tests--symlink-failure):
10371         Be less ambitious about testing non-ASCII chars and encoding
10372         errors, as there are too many portability issues.
10374 2017-08-20  Paul Eggert  <eggert@cs.ucla.edu>
10376         Don’t adjust CRLF in file names
10378         * doc/misc/gnus.texi (Non-ASCII Group Names):
10379         * etc/NEWS:
10380         * test/lisp/net/tramp-tests.el (tramp--test-utf8):
10381         Use utf-8-unix, not utf-8, for default-file-name-coding-system, so
10382         that CRLF in file names is left alone.
10383         * lisp/international/mule-cmds.el (set-default-coding-systems):
10384         Do not alter CRLF in file name coding systems.
10385         (prefer-coding-system): Ignore differences in CRLF processing when
10386         checking whether we used the user-specified file name coding system.
10387         * test/src/fileio-tests.el: New file.
10389 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
10391         Make list-processes support display-line-numbers
10393         * lisp/simple.el (process-menu-mode): Move the call to
10394         tabulated-list-init-header from here...
10395         (list-processes--refresh): ...to here.  (Bug#27895)
10397 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
10399         Improve support of display-line-numbers in package.el
10401         * lisp/emacs-lisp/package.el (package-menu--refresh): Redisplay
10402         the header.  (Bug#27895)
10403         * lisp/emacs-lisp/tabulated-list.el
10404         (tabulated-list-line-number-width): Fix the case when
10405         display-line-numbers is nil.
10407 2017-08-19  Eli Zaretskii  <eliz@gnu.org>
10409         Improve support of display-line-numbers in tabulated-list-mode
10411         * lisp/emacs-lisp/tabulated-list.el
10412         (tabulated-list-line-number-width): New function.
10413         (tabulated-list-init-header, tabulated-list-print-entry): Use it.
10414         (Bug#27895)
10416 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
10418         Fix one more issue reported by Alex (Bug#27999)
10420         * doc/lispref/windows.texi (Preserving Window Sizes)
10421         (Window Parameters): Use the term `window-preserved-size'
10422         instead of `preserved-size' (Bug#27999).
10424 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
10426         Rename `no-delete-other-window' to `no-delete-other-windows'
10428 2017-08-19  Martin Rudalics  <rudalics@gmx.at>
10430         Fix two side window problems noted by Alex (Bug#27999)
10432         * lisp/window.el (display-buffer-in-side-window): Fix doc-string
10433         typo.
10434         (delete-other-windows): Rename the `no-delete-other-window'
10435         parameter to `no-delete-other-windows' (see the discussion in
10436         Bug#27999 for the rationale of this change).
10437         * doc/lispref/windows.texi (Deleting Windows)
10438         (Frame Layouts with Side Windows, Window Parameters): Rename
10439         `no-delete-other-window' to `no-delete-other-windows'.
10441 2017-08-19  Alex Schroeder  <alex@gnu.org>
10443         Use define-minor-mode for rcirc-omit-mode
10445 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10447         Clarify behavior of symlinks and directories
10449         * doc/lispref/files.texi (Saving Buffers): Document how functions
10450         like rename-file work with symlinks and directories.  This patch
10451         attempts to document the current behavior better, in preparation
10452         for possibly changing it.  See Bug#27986.
10454 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10456         Fix recently-introduced file descriptor leak
10458         * src/fileio.c (Fmake_temp_file_internal):
10459         Don’t leak a file descriptor if write_region signals an error.
10461 2017-08-19  Paul Eggert  <eggert@cs.ucla.edu>
10463         Improve make-temp-file performance on local files
10465         * lisp/files.el (make-temp-file): Let make-temp-file-internal do
10466         the work of inserting the text.
10467         * src/fileio.c (Fmake_temp_file_internal): New arg TEXT.
10468         All callers changed.
10470 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
10472         Don't lose arguments to eshell aliases (Bug#27954)
10474         * lisp/eshell/em-alias.el (eshell-maybe-replace-by-alias): Use ARGS.
10476 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
10478         * lisp/files.el (make-temp-file): Fix directory use case.
10480 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
10482         Fix and document make-temp-file optional text parameter
10484         * lisp/files.el (make-temp-file): Fix initial TEXT parameter.
10485         (files--make-magic-temp-file): Support optional TEXT parameter.
10486         * etc/NEWS: Document it.
10487         * doc/lispref/files.texi: Document it.
10488         * test/lisp/auth-source-tests.el: Minor reformat.
10490 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
10492         * test/lisp/auth-source-tests.el: Avoid `string-join' to be simple.
10494         * test/lisp/auth-source-tests.el: Minor cleanups to use CL.
10496 2017-08-19  João Távora  <joaotavora@gmail.com>
10498         Fix default value of electric-pair-pairs and electric-pair-text-pairs
10500         (Bug#24901)
10502         A previous change, titled "Add support for curly quotation marks to
10503         electric-pair-mode", attempted to add these characters to the default
10504         value of these variables.  But it did so in a quoted list, preventing
10505         evaluation of the relevant expressions and resulting in an invalid
10506         format.
10508         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs):
10509         Use backquote and comma.
10511 2017-08-19  Noam Postavsky  <npostavs@gmail.com>
10513         * lisp/elec-pair.el (electric-pair-text-pairs): Don't autoload (Bug#24901).
10515         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode): Require `elec-pair'
10516         explicitly in the interactive case.
10518 2017-08-19  Mats Lidell  <mats.lidell@cag.se>
10520         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
10522 2017-08-19  Ted Zlatanov  <tzz@lifelogs.com>
10524         Add auth-source tests and codify its API better
10526         The auth-source behavior was unclear in some API use cases, so these
10527         extra tests codify and test it. For details see
10528         https://github.com/DamienCassou/auth-password-store/issues/29
10530         * lisp/files.el (make-temp-file): Add new initial TEXT parameter.
10531         * test/lisp/auth-source-tests.el (auth-source-test-searches): Add
10532           auth-source tests and simplify them with the new `make-temp-file'.
10534 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
10536         Don't call the same hook twice due to obsolete aliases
10538         * lisp/international/robin.el (robin-activate):
10539         * lisp/international/quail.el (quail-activate):
10540         * lisp/international/mule-cmds.el (deactivate-input-method):
10541         * lisp/emulation/viper-init.el (viper-deactivate-input-method):
10542         Don't call the same hook twice, when the obsolete and the
10543         advertised symbols are aliased.  (Bug#28118)
10545 2017-08-18  Felipe Ochoa  <felipe@fov.space>  (tiny change)
10547         A new face for show-paren in expression mode
10549         * lisp/faces.el (show-paren-match-expression): Define the new face.
10550         * lisp/paren.el (show-paren-function): Apply the different face
10551         when in expression mode.  (Bug#28047)
10553 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
10555         Non-ASCII support for man page section and header names
10557         * lisp/man.el (Man-name-regexp, Man-page-header-regexp)
10558         (Man-heading-regexp): Replace ASCII character classes by
10559         equivalent classes that allow non-ASCII characters.  Suggested by
10560         Grégory Mounié <Gregory.Mounie@imag.fr>.  (Bug#27978)
10562 2017-08-18  Eli Zaretskii  <eliz@gnu.org>
10564         Implement HiDPI support for underwave on MS-Windows
10566         * src/w32term.c (x_get_scale_factor): New function.
10567         (w32_draw_underwave): Use it.
10568         * src/xterm.c (x_draw_underwave): Offset the wave starting point
10569         to make it identical with original code.
10571 2017-08-18  Stephen Pegoraro  <spegoraro@tutive.com>  (tiny change)
10573         Support HiDPI displays for wave style underlines
10575         * src/xterm.c (x_draw_underwave): Compute height, length and thickness
10576         based on scale factor.
10577         (x_get_scale_factor): New function.
10579 2017-08-18  Bastien  <bzg@gnu.org>
10581         Delete library-of-babel.org
10583         * etc/org/library-of-babel.org: Delete file.
10585 2017-08-18  Glenn Morris  <rgm@gnu.org>
10587         * doc/emacs/files.texi (Copying and Naming): Avoid confusing texi2pdf.
10589 2017-08-18  Noam Postavsky  <npostavs@gmail.com>
10591         Remove custom version parsing from epg-config.el (Bug#27963)
10593         * lisp/epg-config.el (epg-config--compare-version)
10594         (epg-config--parse-version): Remove.
10595         (epg-check-configuration): Use `version<=' instead.
10597 2017-08-18  Mark Oteiza  <mvoteiza@udel.edu>
10599         Treat control characters in JSON strings as invalid
10601         * lisp/json.el (json-peek): Reduce to following-char.
10602         (json-pop, json-read): Zero (null char) means end of file.
10603         (json-read-escaped-char): Delimit URL properly.
10604         (json-read-string): Signal error for ASCII control characters.
10605         * test/lisp/json-tests.el (test-json-peek): Check for zero instead of
10606         :json-eof symbol.
10607         (test-json-read-string): New test for control characters in JSON
10608         strings.
10610 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
10612         Support Posix semantics of 'rename' on MS-Windows
10614         * src/w32.c (sys_rename_replace): Support Posix semantics of
10615         'rename': return an error if OLD is a directory while NEW is not,
10616         or vice versa.
10618 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
10620         * src/w32.c (sys_rename_replace): Support renaming a directory.
10622 2017-08-17  Eli Zaretskii  <eliz@gnu.org>
10624         Fix the MS-Windows build
10626         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_open): Omit Gnulib module
10627         'open'.
10629         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]: Restore definition.
10631 2017-08-17  João Távora  <joaotavora@gmail.com>
10633         Add flymake-backends defcustom
10635         * lisp/progmodes/flymake-proc.el (flymake-proc-can-syntax-check-buffer):
10636         Rename from flymake-can-syntax-check-file.  Suitable for adding to
10637         flymake-backends.
10638         (flymake-proc-start-syntax-check): Rename from
10639         flymake-start-syntax-check.  Don't check again if buffer can be
10640         checked.
10641         (add-to-list flymake-backends): Hook only flymake-ui.el
10643         * lisp/progmodes/flymake-ui.el (flymake-backends): New
10644         defcustom.
10645         (flymake-on-timer-event, flymake-after-change-function)
10646         (flymake-after-save-hook, flymake-find-file-hook): Call new
10647         flymake--start-syntax-check-buffer and
10648         flymake--can-syntax-check-buffer.
10649         (flymake-mode): Call flymake--can-syntax-check-buffer and set
10650         flymake-backend.
10651         (flymake--backend): New buffer-local variable.
10653 2017-08-17  João Távora  <joaotavora@gmail.com>
10655         Split flymake.el into flymake-proc.el and flymake-ui.el
10657         flymake.el is now a stub that requires both files.
10659         * lisp/progmodes/flymake-proc.el: New file.
10661         * lisp/progmodes/flymake-ui.el: New file.
10663         * lisp/progmodes/flymake.el: Split into flymake-ui.el and
10664           flymake-proc.el.  Require both files.
10666 2017-08-17  Michael Albinus  <michael.albinus@gmx.de>
10668         Set `default-directory' for watchdog in tramp-test.el
10670         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
10671         Set `default-directory' for watchdog.
10673 2017-08-17  Andreas Schwab  <schwab@suse.de>
10675         * lisp/term/konsole.el: New file.
10677 2017-08-17  Noam Postavsky  <npostavs@gmail.com>
10679         * lisp/woman.el (woman-push, woman-pop): Remove.  (Bug#27962)
10681         (woman2-RS): Use plain `push' instead of `woman-push'.
10682         (woman2-RE): Conditionally `pop' instead of `woman-pop'.
10684 2017-08-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
10686         Merge from Gnulib; use ‘open’ for O_CLOEXEC
10688         This incorporates:
10689         2017-08-15 renameat: ensure declaration in <stdio.h> on NetBSD
10690         2017-08-15 extensions: enable NetBSD specific extensions
10691         2017-08-14 open: support O_CLOEXEC
10692         2017-08-13 reallocarray: new module
10693         * admin/merge-gnulib (AVOIDED_MODULES): Remove ‘open’, since
10694         it now supports O_CLOEXEC and this simplifies Emacs.
10695         * build-aux/config.guess, lib/fcntl.in.h, lib/stdio.in.h:
10696         * lib/stdlib.in.h, m4/extensions.m4, m4/stdlib_h.m4:
10697         Copy from Gnulib.
10698         * lib/cloexec.c, lib/cloexec.h, lib/open.c:
10699         * m4/mode_t.m4, m4/open-cloexec.m4, m4/open.m4:
10700         New files, copied from Gnulib.
10701         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
10702         * lib-src/etags.c (O_CLOEXEC) [WINDOWSNT]:
10703         Remove, as Gnulib does this for us.
10704         * src/filelock.c (create_lock_file):
10705         * src/sysdep.c (emacs_open, emacs_pipe):
10706         Don’t worry about O_CLOEXEC == 0, as Gnulib no longer sets it to 0.
10708 2017-08-16  Alan Third  <alan@idiocy.org>
10709             Charles A. Roelli  <charles@aurox.ch>
10711         Allow use of run-time OS version checks on macOS (bug#27810)
10713         * src/nsterm.h (NSWindowTabbingMode): Define in pre-Sierra macOS.
10714         (MAC_OS_X_VERSION_10_6, MAC_OS_X_VERSION_10_7, MAC_OS_X_VERSION_10_8,
10715         MAC_OS_X_VERSION_10_9, MAC_OS_X_VERSION_10_12, HAVE_NATIVE_FS): Remove
10716         defines.
10717         (NSWindowStyleMaskFullScreen,
10718         NSWindowCollectionBehaviorFullScreenPrimary,
10719         NSApplicationPresentationFullScreen,
10720         NSApplicationPresentationAutoHideToolbar): Define in macOS 10.6.
10721         * src/nsterm.m (colorForEmacsRed, colorUsingDefaultColorSpace,
10722         check_native_fs, ns_read_socket, ns_select, runAlertPanel,
10723         initFrameFromEmacs, windowDidMiniaturize, windowDidEnterFullScreen,
10724         windowDidExitFullScreen, isFullscreen, updateCollectionBehavior,
10725         toggleFullScreen, constrainFrameRect, scrollerWidth, syms_of_nsterm):
10726         Allow use of run-time checks and replace version check macros.
10727         * src/nsfns.m (ns_screen_name): Use run-time OS version checks.
10728         * src/macfont.m (macfont_draw): Use run-time OS version checks.
10729         * src/nsmenu.m (menuWillOpen): Use run-time OS version checks.
10731 2017-08-16  Alan Third  <alan@idiocy.org>
10733         Add multiframe image support to NS port (bug#21714)
10735         * src/nsimage.m (ns_load_image): Handle multiple frames.
10736         (EmacsImage::getMetadata, EmacsImage::setFrame): New functions.
10737         * src/nsterm.h (EmacsImage::getMetadata, EmacsImage::setFrame): New
10738         function prototypes.
10740 2017-08-16  Tino Calancha  <tino.calancha@gmail.com>
10742         files-tests.el: Remove unused lexical variable
10744         * test/lisp/files-tests.el (file-test--do-local-variables-test);
10745         Remove unused var 'files-test-queried'.
10747 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
10749         * doc/emacs/files.texi (Copying and Naming): Mention
10751         restrictions to add-name-to-file and make-symbolic-link on
10752         remote systems.
10754 2017-08-16  Michael Albinus  <michael.albinus@gmx.de>
10756         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Further support ftp-ssl.
10758 2017-08-16  Noam Postavsky  <npostavs@gmail.com>
10760         Add tests for previous commit
10762         * test/lisp/progmodes/elisp-mode-tests.el
10763         (elisp-mode-tests--face-propertized-string): New function.
10764         (elisp--highlight-function-argument-indexed)
10765         (elisp--highlight-function-argument-keyed-1)
10766         (elisp--highlight-function-argument-keyed-2): New tests.
10768 2017-08-16  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
10770         Fix eldoc highlighting for &key args (Bug#27272)
10772         * lisp/progmodes/elisp-mode.el (elisp--highlight-function-argument):
10773         Only switch to keyword-based searching if INDEX point beyond `&key' in
10774         the argument list.  All arguments prior to the `&key' are position
10775         based.  Additionally, be more strict about what is a keyword when
10776         searching for the current keyword.
10778 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
10780         Do not assume regular Git .git/hooks dir
10782         Apparently Gitlab doesn’t create .git/hooks, like regular Git does.
10783         Problem reported by Ted Zlatanov in:
10784         https://lists.gnu.org/r/emacs-devel/2017-08/msg00380.html
10785         * autogen.sh (git_sample_hook_src): New function.  Use it to work
10786         even if .git/hooks or its samples do not exist.
10788 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
10790         New manual section "Copying and Naming"
10792         * doc/emacs/files.texi (Copying and Naming):
10793         New section, split off from Misc File Ops and containing the
10794         operations that copy, name or rename files.  This fixes some
10795         confusion caused by the incorrect phrase "The same rule applies
10796         to all the remaining commands in this section" in the old manual.
10797         This change does not affect the confusion about directories (see
10798         Bug#27986 for ongoing discussion).
10800 2017-08-15  Eli Zaretskii  <eliz@gnu.org>
10802         Fix the MS-Windows build
10804         * src/fileio.c (Frename_file): Don't use ENOTSUP if it is equal to
10805         ENOSYS.  (Bug#28097)  (Bug#27986)
10807 2017-08-15  Ted Zlatanov  <tzz@lifelogs.com>
10809         * .gitlab-ci.yml: run "autogen.sh autoconf" to avoid Git.
10811         * .gitlab-ci.yml: add Git to the installed packages.
10813 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
10815         Support indentation of detached Less CSS rulesets
10817         * lisp/textmodes/css-mode.el (css-smie-rules): Provide better support
10818         for indentation of detached rulesets passed to Less mixins.
10820         * test/manual/indent/less-css-mode.less: New file.
10822 2017-08-15  Simen Heggestøyl  <simenheg@gmail.com>
10824         Fixes and tweaks for the new Less CSS mode
10826         * etc/NEWS: Add an entry for the new mode.
10828         * lisp/textmodes/less-css-mode.el (less-css): Tweak docstring.
10829         (less-css-lessc-command): Tweak docstring. Don't mark it as
10830         safe. Don't autoload.
10831         (less-css-compile-at-save, less-css-lessc-options)
10832         (less-css-output-directory): Tweak docstrings. Don't autoload.
10833         (less-css-output-file-name): Tweak docstring. Don't mark it as safe.
10834         (less-css-input-file-name): Tweak docstring. Don't autoload.
10835         (less-css-compile-maybe): Use `when' for one-armed `if'.
10836         (less-css--output-path): Tweak docstring.
10837         (less-css--maybe-shell-quote-command): Remove function.
10838         (less-css-compile): Don't autoload. Tweak docstring and message. Fix
10839         compiler warning. Use `string-join' instead of `mapconcat'.
10840         (less-css-font-lock-keywords): Use `font-lock-variable-name-face' for
10841         variables.
10842         (less-css-mode-syntax-table, less-css-mode-map): New variables.
10843         (less-css-mode): Change status line mode name from "LESS" to
10844         "Less". Tweak docstring. Move syntax table definitions to
10845         `less-css-mode-syntax-table'.
10846         (less-css-indent-line): Remove function.
10848 2017-08-15  Steve Purcell  <steve@sanityinc.com>
10850         New major mode: Less CSS mode
10852         * lisp/textmodes/less-css-mode.el: New file.
10854 2017-08-15  Tino Calancha  <tino.calancha@gmail.com>
10856         archive-int-to-mode: Fix order of testing S_ISUID, S_ISGID bits
10858         * lisp/arc-mode.el (archive-int-to-mode):
10859         Swap order of 2048 and 1024 tests (Bug#28092).
10860         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode):
10861         Update test.
10863 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
10865         Improve rename-file port to macOS
10867         * src/fileio.c (Frename_file): On macOS, renameat_noreplace can
10868         fail with errno == ENOTSUP on file systems where it is not
10869         supported, according to the Apple documentation.
10871 2017-08-15  Noam Postavsky  <npostavs@gmail.com>
10873         Speed up ./configure with more caching (Bug#27960)
10875         * configure.ac: Cache the 'GTK compiles', 'GSettings is in gio',
10876         'LN_S', '-znocombreloc', 'sysinfo', 'gcc autodepends', '-b link',
10877         'Xkb', 'Xpm preprocessor', 'tputs library' 'GLib', 'signals via
10878         characters', and 'Windows API header' checks.  Remove pause after
10879         warning about GTK bug.
10881 2017-08-15  Paul Eggert  <eggert@cs.ucla.edu>
10883         Improve rename-file behavior on macOS
10885         Problem reported by Philipp Stephani (Bug#27986).
10886         * src/fileio.c (Frename_file):
10887         Worry about file name case sensitivity only if CYGWIN or DOS_NT.
10888         * src/sysdep.c (renameat_noreplace): Use renameatx_np on macOS,
10889         since this provides the necessary atomicity guarantees.
10891 2017-08-14  Glenn Morris  <rgm@gnu.org>
10893         Clean up temp files after some tests
10895         * test/lisp/emacs-lisp/bytecomp-tests.el
10896         (bytecomp-tests--with-temp-file): Also delete .elc file if present.
10897         * test/lisp/progmodes/etags-tests.el
10898         (etags-buffer-local-tags-table-list): Delete temp file at end.
10900 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
10902         Implement renameat_noreplace for MS-Windows
10904         * src/sysdep.c (renameat_noreplace) [WINDOWSNT]: Implement minimal
10905         emulation for MS-Windows.  (Bug#27986)
10907 2017-08-14  Eli Zaretskii  <eliz@gnu.org>
10909         Fix 'rename' on MS-Windows
10911         * src/w32.c (sys_rename_replace): Use the FORCE argument only if
10912         the primitive rename errors out with EEXIST.
10914 2017-08-14  Michael Albinus  <michael.albinus@gmx.de>
10916         * lisp/net/ange-ftp.el (ange-ftp-skip-msgs): Support ftp-ssl.
10918 2017-08-14  Mark Oteiza  <mvoteiza@udel.edu>
10920         Tiny JSON performance improvement
10922         Get rid of some needless uses of apply.  Measuring with
10923           (benchmark-run 10 (json-read-file "test.json"))
10924         showed 1.5-2.5% reduction of execution time.
10925         * lisp/json.el (json-peek): Nix let-binding.
10926         (json-read-string): Use concat for making a string from chars.
10927         (json-read-array): Use cond and more appropriate conversion instead
10928         of blindly applying.
10930 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
10932         Be consistent in spelling 'ok-if-already-exists'.
10934 2017-08-13  Alexander Gramiak  <agrambot@gmail.com>
10936         Use 'header-line-highlight' face in proced and erc
10938         * lisp/erc/erc-list.el (erc-list-button):
10939         * lisp/proced.el (proced-format): Use the 'header-line-highlight
10940         face.  (Bug#28033)
10942 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
10944         Remove feeds with dead uris from newsticker--raw-url-list-defaults
10946         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults):
10947           Remove feeds with dead uris.
10949 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
10951         Fix vertical cursor motion when cursor is on the fringe
10953         * lisp/simple.el (line-move-visual): Fix an off-by-one error in
10954         setting temporary-goal-column when newline overflows into the
10955         fringe.  Support that use case in R2L paragraphs as well.
10957 2017-08-13  Eli Zaretskii  <eliz@gnu.org>
10959         Fix vertical cursor motion across too wide images
10961         * src/indent.c (Fvertical_motion): If lines are truncated and we
10962         end up beyond the right margin of the window, don't assume we are
10963         in the next screen line, unless VPOS actually says so.  (Bug#28071)
10965 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
10967         Add test suites for arc-mode and tar-mode
10969         * test/lisp/arc-mode-tests.el (arc-mode-test-archive-int-to-mode)
10970         * test/lisp/tar-mode-tests.el (tar-mode-test-tar-grind-file-mode):
10971         New tests.
10973 2017-08-13  Tino Calancha  <tino.calancha@gmail.com>
10975         * lisp/tar-mode.el (tar-grind-file-mode): Fix docstring
10977 2017-08-13  Ulf Jasper  <ulf.jasper@web.de>
10979         Fix uri of Emacs Wiki
10981         * lisp/net/newst-backend.el (newsticker--raw-url-list-defaults): Fix
10982           uri of Emacs Wiki.  (Bug#27981)
10984 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
10986         Fix make-temp-file bug with ""/"."/".." prefix
10988         The bug with "." and ".." has been present for a while; I
10989         introduced the bug with "" earlier today in my patch for Bug#28023.
10990         * lisp/files.el (make-temp-file): Do not use expand-file-name if
10991         PREFIX is empty or "." or "..", as it does the wrong thing.
10992         Compute absolute-prefix here ...
10993         (files--make-magic-temp-file): ... instead of here ...
10994         * src/fileio.c (Fmake_temp_file_internal): ... or here.
10996         * lisp/files.el (make-temp-file): If the prefix is empty, append
10997         "/" to the absolute prefix so that the new files are children
10998         rather than siblings of temporary-file-directory.  This fixes a
10999         bug introduced in the previous change.
11000         * test/lisp/files-tests.el (files-test-make-temp-file-empty-prefix):
11001         New test, for the bug.
11003 2017-08-13  Paul Eggert  <eggert@cs.ucla.edu>
11005         Improve make-temp-file performance on local files
11007         For the motivation behind this patch, please see Bug#28023 and:
11008         http://emacshorrors.com/posts/make-temp-name.html
11009         Although, given the recent changes to Tramp, the related security
11010         problem in make-temp-file is already fixed, make-temp-file still has
11011         several unnecessary system calls.  In the typical case on GNU/Linux,
11012         this patch replaces 8 syscalls (symlink, open, close, readlinkat, uname,
11013         getpid, unlink, umask) by 2 (open, close).
11014         * admin/merge-gnulib (GNULIB_MODULES): Add tempname, now
11015         that Emacs is using it directly.
11016         * configure.ac (AUTO_DEPEND): Remove AC_SYS_LONG_FILE_NAMES;
11017         no longer needed.
11018         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
11019         * lisp/files.el (files--make-magic-temp-file): Rename from
11020         make-temp-file.
11021         (make-temp-file): Use make-temp-file-internal for
11022         non-magic file names.
11023         * src/fileio.c: Include tempname.h.
11024         (make_temp_name_tbl, make_temp_name_count)
11025         (make_temp_name_count_initialized_p, make_temp_name): Remove.
11026         (Fmake_temp_file_internal): New function.
11027         (Fmake_temp_name): Use it.
11028         * src/filelock.c (get_boot_time): Use Fmake_temp_file_internal
11029         instead of make_temp_name.
11031 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
11033         Document internal-use naming conventions
11035         * doc/lispref/functions.texi (Function Names):
11036         * doc/lispref/variables.texi (Tips for Defining):
11037         Document naming conventions for internal-use functions and vars.
11038         See Bug#28023#59.
11040 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
11042         Simplify re and document 'autoconf.sh all'
11044         * GNUmakefile (ALL_IF_GIT): Remove; no longer needed, now that
11045         ./autogen.sh defaults to "all".  All uses removed.
11046         * README: Mention autoconf.sh's effect on Git configuration.
11048 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
11050         Default autogen.sh to 'all'
11052         This addresses a problem noted by RMS in:
11053         https://lists.gnu.org/r/emacs-devel/2017-08/msg00052.html
11054         * autogen.sh (do_git): Set to true if this script is invoked
11055         with no arguments and there is a .git subdirectory.
11057 2017-08-12  Paul Eggert  <eggert@cs.ucla.edu>
11059         Adjust jka-compr to recent Tramp changes.
11061         * lisp/jka-compr.el (jka-compr-write-region):
11062         Two new args LOCKNAME and MUSTBENEW.
11064 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
11066         Improve doc strings of 2 functions in simple.el
11068         * lisp/simple.el (beginning-of-visual-line)
11069         (move-beginning-of-line): Doc fix.  Reported by
11070         Justin Burkett <justin@burkett.cc>.
11072 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
11074         Fix completion on directory names on MS-DOS/MS-Windows
11076         * src/msdos.c (faccessat):
11077         * src/w32.c (faccessat): Support relative file names, and add D_OK
11078         to 'mode' if the argument is a directory.  This unbreaks file-name
11079         completion when the completion result is a directory.
11081 2017-08-12  Michael Albinus  <michael.albinus@gmx.de>
11083         Implement EXCL of write-region for Tramp
11085         * lisp/net/ange-ftp.el (ange-ftp-write-region):
11086         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region)
11087         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
11088         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region)
11089         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
11090         Implement MUSTBENEW.
11092         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file)
11093         * lisp/net/tramp-sh.el (tramp-sh-handle-make-symbolic-link)
11094         (tramp-sh-handle-add-name-to-file)
11095         (tramp-do-copy-or-rename-file)
11096         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
11097         Adapt error message for `file-already-exists'.
11099         * src/lisp.h:
11100         * src/eval.c (call8): New function.
11102         * src/fileio.c (write_region): Pass also lockname and
11103         mustbenew to the file name handler.
11105         * test/lisp/net/tramp-tests.el (tramp-test10-write-region):
11106         Add tests for MUSTBENEW.
11108 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
11110         Adapt Proced display to display-line-numbers
11112         * lisp/proced.el (proced-header-line): Account for the width taken
11113         by display-line-numbers.  (Bug#27895)
11115 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
11117         Adapt tabulated list when display-line-number is turned on
11119         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-mode): Add
11120         a hook to revert the display when display-line-numbers is turned
11121         on.  (Bug#27895)
11123 2017-08-12  Eli Zaretskii  <eliz@gnu.org>
11125         Use Gnulib 'tempname' on MS-Windows
11127         * lib-src/ntlib.h (mkdir, open): Remove redefinitions.  They are
11128         now in nt/inc/ms-w32.h.
11129         * lib-src/ntlib.c (sys_mkdir, sys_open): New functions.
11130         (mkostemp): Remove.
11132         * src/w32.c (mkostemp): Remove.
11133         (sys_mkdir): Accept a second (unused) argument.
11134         * src/fileio.c (Fmake_directory_internal): Remove the WINDOWSNT
11135         specific call to mkdir.  (Bug#28023)
11137         * nt/inc/ms-w32.h (mkdir): Remove from "#ifdef emacs" and redefine
11138         to accept 2 arguments.
11139         (open): Remove from "#ifdef emacs".
11140         * nt/mingw-cfg.site (ac_cv_func_mkostemp): Remove.
11141         * nt/gnulib-cfg.mk (OMIT_GNULIB_MODULE_mkostemp)
11142         (OMIT_GNULIB_MODULE_tempname): Remove.
11144 2017-08-12  Alexander Gramiak  <agrambot@gmail.com>
11146         Add new face 'header-line-highlight'
11148         * lisp/faces.el: Define the face.
11149         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header):
11150         * lisp/info.el (Info-fontify-node): Use the new face.
11151         * doc/emacs/display.texi (Standard Faces):
11152         * etc/NEWS: Document the new face.  (Bug#28033)
11154 2017-08-12  Arash Esbati  <arash@gnu.org>
11156         Make a case-sensitive match for strings
11158         * lisp/textmodes/reftex.el (reftex-typekey-check): Temporarily
11159         let-bind `case-fold-search' to nil in order to be case-sensitive
11160         when matching a string.  (Bug#27518)
11162 2017-08-11  Stephen Berman  <steve@rosalinde.fritz.box>
11164         Fix a minor todo-mode regression
11166         * lisp/calendar/todo-mode.el (todo-get-overlay): Wrap in
11167         save-excursion.  This fixes a regression introduced by the fix
11168         for bug#27609, whereby trying to raise the priority of the
11169         first item or lower the priority of the last item, which
11170         should be noops, moves point to the item's start.  Clarify
11171         comment.
11173         * test/lisp/calendar/todo-mode-tests.el
11174         (todo-test-raise-lower-priority): Add test cases for trying to
11175         raise first item and lower last item.
11176         (with-todo-test): Clear abbreviated-home-dir, since we change HOME.
11177         (todo-test-toggle-item-header02): Remove ":expected-result
11178         :failed" and tests of point after todo-next-item, since the
11179         effect when using Todo mode is not reproducible in the test
11180         environment.  Add commentary about this.
11182 2017-08-11  Paul Eggert  <eggert@cs.ucla.edu>
11184         Improve performance for rename-file etc.
11186         Although this does not fix Bug#27986, it is a step forward.
11187         I plan to propose a more-significant patch later.
11188         * lisp/files.el (directory-name-p): Move from here ...
11189         * src/fileio.c (Fdirectory_name_p): ... to here.
11190         (directory_like, cp_like_target): New static functions.
11191         (Fcopy_file, Frename_file, Fadd_name_to_file)
11192         (Fmake_symbolic_link):
11193         Use them, to avoid directory-testing syscalls on file names that
11194         must be directories if they exist.  Omit unnecessary
11195         initializations and CHECK_STRING calls.
11196         (Frename_file): Don't call file_name_case_insensitive_p
11197         twice on the same file.  Compare both file names expanded, instead
11198         of the old name expanded and the new one unexpanded.
11200 2017-08-11  Noam Postavsky  <npostavs@gmail.com>
11202         Respect buffer-local value of tags-table-list (Bug#27772)
11204         * lisp/progmodes/etags.el (visit-tags-table-buffer): Save the current
11205         buffer around the `tags-table-including' calls so as to get buffer
11206         local variables from the right buffer later.
11207         * test/lisp/progmodes/etags-tests.el (etags-visit-tags-table-buffer):
11208         New test.
11209         * test/lisp/progmodes/etags-tests.el (etags-tests--test-dir): New
11210         constant.
11211         (etags-bug-158, etags-bug-23164): Use it so that when running the test
11212         interactively, setting EMACS_TEST_DIRECTORY is not needed.
11214 2017-08-10  Tom Tromey  <tom@tromey.com>
11216         Fix auto-filling regression
11218         Bug#28003
11219         * lisp/newcomment.el (comment-indent-new-line): Check
11220         comment-auto-fill-only-comments.  Reverts earlier change.
11221         * lisp/simple.el (internal-auto-fill): Call auto-fill-function, not
11222         do-auto-fill.
11224 2017-08-09  Paul Eggert  <eggert@cs.ucla.edu>
11226         Merge from gnulib
11228         This incorporates:
11229         2017-08-09 tempname: do not depend on secure_getenv
11230         2017-08-08 extensions: add _OPENBSD_SOURCE
11231         2017-08-06 manywarnings: Add support for C++
11232         2017-08-06 warnings, manywarnings: Add support for multiple languages
11233         * admin/merge-gnulib: Don't use m4/manywarnings-c++.m4.
11234         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
11235         * lib/secure_getenv.c, m4/secure_getenv.m4: Remove.
11236         * lib/tempname.c, m4/extensions.m4, m4/manywarnings.m4, m4/warnings.m4:
11237         Copy from gnulib.
11239 2017-08-09  Eli Zaretskii  <eliz@gnu.org>
11241         Fix crashing emacs-module tests on MS-Windows
11243         * src/w32fns.c (syms_of_w32fns) <w32-disable-abort-dialog>: New
11244         variable.
11245         (emacs_abort): If w32-disable-abort-dialog is non-nil, abort right
11246         away, without displaying the Abort dialog, which waits for the user.
11248         * test/src/emacs-module-tests.el (module--test-assertion): Run the
11249         inferior Emacs with the w32 abort dialog disabled.  Expect the
11250         status of the aborted Emacs sub-process to be 3 on MS-Windows and
11251         2 on MS-DOS.
11253 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
11255         dired-delete-file:  Dont't ask for empty dirs
11257         * lisp/dired.el (dired--yes-no-all-quit-help): New defun.
11258         (dired-delete-file): Use it.  Dont't ask for empty dirs (Bug#27940).
11260         * test/lisp/dired-tests.el (dired-test-with-temp-dirs):
11261         New auxiliar macro.
11262         (dired-test-bug27940): Add new test.
11264 2017-08-09  Tino Calancha  <tino.calancha@gmail.com>
11266         Ask files for deletion in buffer order: top first, botton later
11268         * lisp/dired.el (dired-do-flagged-delete, dired-do-delete):
11269         Call `nreverse' t invert the output of `dired-map-over-marks'.
11271 2017-08-09  Alexander Gramiak  <agrambot@gmail.com>
11273         Use help-mode xrefs in describe-font
11275         * lisp/international/mule-diag.el (describe-font): Use help-setup-xref
11276         (Bug#27890).
11278 2017-08-09  Katsumi Yamaoka  <yamaoka@jpl.org>
11280         Don't try to jump to non-existent part (bug#28013)
11282         * lisp/gnus/gnus-art.el (gnus-article-edit-part): Don't try to jump to
11283         the next part if there is the only one part in the article (bug#28013).
11285 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
11287         Replace some uses of eval
11289         There are a number of places where eval is used unnecessarily to get
11290         or set the value of a symbol.
11291         * lisp/calendar/calendar.el (diary-date-forms): Use default-value in
11292         custom setter.
11293         * lisp/desktop.el (desktop-clear): Use set-default instead.
11294         * lisp/international/ogonek.el (ogonek-read-encoding): Use
11295         symbol-value.
11297 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
11299         Convert uses of looking-at in viper-ex to following-char
11301         * lisp/emulation/viper-ex.el (viper-get-ex-token): Bind
11302         (following-char) and use it in the subsequent cond's clauses.
11303         (viper-ex, ex-quit, viper-get-ex-file): Use following-char instead.
11304         Convert single branch ifs to when
11306 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
11308         Some cleanup in message.el
11310         * lisp/gnus/message.el (message-cross-post-insert-note):
11311         (message-strip-forbidden-properties): Mark unused args.
11312         (message-canlock-generate): Remove extinct variable
11313         sha1-maximum-internal-length.
11314         (message-make-mail-followup-to): Use loop's thereis clause.
11316 2017-08-08  Paul Eggert  <eggert@cs.ucla.edu>
11318         Document make-temp-name magic limitations
11320         * doc/lispref/files.texi (Unique File Names):
11321         * src/fileio.c (Fmake_temp_name): Document that make-temp-name
11322         does not guarantee uniqueness on magic file names.
11324 2017-08-08  Tom Tromey  <tom@tromey.com>
11326         Show number of errors in compilation-mode mode-line
11328         Bug#25354
11329         * lisp/progmodes/compile.el (compilation-num-errors-found): Provide
11330         default value.
11331         (compilation-num-warnings-found, compilation-num-infos-found): New
11332         defvars.
11333         (compilation-mode-line-errors): New defconst.
11334         (compilation-face): Remove.
11335         (compilation-type, compilation--note-type): New functions.
11336         (compilation-parse-errors): Call compilation--note-type.
11337         (compilation-start): Include compilation-mode-line-errors in
11338         mode-line-process.
11339         (compilation-setup): Initialize compilation-num-* variables to 0.
11340         (compilation-handle-exit): Include compilation-mode-line-errors in
11341         mode-line-process.
11342         * doc/emacs/building.texi (Compilation): Document new feature.
11344 2017-08-08  Mark Oteiza  <mvoteiza@udel.edu>
11346         Do some cleanup in mailcap.el
11348         * lisp/net/mailcap.el: Use lexical-binding.
11349         (mailcap--set-user-mime-data, mailcap-possible-viewers): Use pcase
11350         destructuring.
11351         (mailcap-mime-data): Remove some entries for ancient functions.
11352         (mailcap-parse-mailcaps, mailcap-mime-info): Nix single-branch ifs.
11353         (mailcap-parse-mimetype-file): Just use append.
11354         (mailcap-command-p): Remove unused function.
11356 2017-08-08  Tino Calancha  <tino.calancha@gmail.com>
11358         query-replace: Undo replacements performed with 'comma
11360         During a `query-replace', the char ',' replaces the character
11361         at point and doesn't move point;  right after, the char 'u'
11362         must undo such replacement (Bug#27268).
11363         * lisp/replace.el (replace--push-stack):
11364         New macro extracted from `perform-replace'.
11365         (perform-replace): Use it.
11366         * test/lisp/replace-tests.el (query-replace--undo): Add test.
11368 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
11370         Don't define gv expanders in compiler's runtime (Bug#27016)
11372         This prevents definitions being compiled from leaking into the current
11373         Emacs doing the compilation.
11374         * lisp/emacs-lisp/gv.el (gv-define-expander): Use function-put instead
11375         of `put' with `eval-and-compile'.
11376         * test/lisp/emacs-lisp/gv-tests.el: New tests.
11378 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
11380         Let the cl-typep effects of defclass work during compilation (Bug#27718)
11382         * lisp/emacs-lisp/eieio.el (defclass): Use `define-symbol-prop'
11383         instead of `put'.
11384         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
11385         (eieio-tests--dummy-function): Remove.
11386         (eieio-test-25-slot-tests, eieio-test-23-inheritance-check): Don't
11387         expect to fail if compiled.
11389 2017-08-08  Stefan Monnier  <monnier@IRO.UMontreal.CA>
11390             Noam Postavsky  <npostavs@gmail.com>
11392         Let `define-symbol-prop' take effect during compilation
11394         * src/fns.c (syms_of_fns): New variable `overriding-plist-environment'.
11395         (Fget): Consult it.
11396         * lisp/emacs-lisp/bytecomp.el (byte-compile-close-variables): Let-bind
11397         it to nil.
11398         (byte-compile-define-symbol-prop): New function, handles compilation
11399         of top-level `define-symbol-prop' and `function-put' calls by putting
11400         the symbol setting into `overriding-plist-environment'.
11402 2017-08-08  Gemini Lasswell  <gazally@runbox.com>
11404         Add a test of handling of circular values to testcover-tests
11406         * test/lisp/emacs-lisp-testcover-resources/testcases.el
11407         (testcover-testcase-cyc1): New function.
11408         (testcover-tests-circular-lists-bug-24402): New test.
11410 2017-08-08  Noam Postavsky  <npostavs@gmail.com>
11412         Don't error on circular values in testcover
11414         * lisp/emacs-lisp/testcover.el (testcover-after, testcover-1value):
11415         Consider circular lists to be non-equal instead of signaling error.
11417 2017-08-08  Alexander Gramiak  <agrambot@gmail.com>
11419         Catch argument and macroexpansion errors in ert
11421         This kludge catches errors caused by evaluating arguments in ert's
11422         should, should-not, and should-error macros; it also catches
11423         macroexpansion errors inside of the above macros (Bug#24402).
11425         * lisp/emacs-lisp/ert.el: (ert--should-signal-hook): New function.
11426         (ert--expand-should-1): Catch macroexpansion errors.
11427         * test/lisp/emacs-lisp/ert-tests.el (ert-test-should-error-argument)
11428         (ert-test-should-error-macroexpansion): Tests for argument and
11429         expansion errors.
11431 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
11433         Revert "Add Enchant support to ispell.el (Bug#17742)"
11435         This reverts commit 7136e6723d87b51ae3089f5ceef6b14621bfaf87.
11437 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
11439         Revert "Add support for arguments in ALTERNATE_EDITOR to emacsclient"
11441         This reverts commit 28f1fe97daa13e13714e6c43c9a6fbb0c0e99a26.
11443 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
11445         Add support for arguments in ALTERNATE_EDITOR to emacsclient
11447         * lib-src/emacsclient.c (fail): Parse ALTERNATE_EDITOR, or
11448         corresponding command-line argument, into space-separated tokens.
11449         * etc/NEWS: Document.
11450         * test/lib-src/emacsclient-tests.el: Add a test.
11452 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
11454         Add Enchant support to ispell.el (Bug#17742)
11456         * lisp/textmodes/ispell.el (ispell-program-name): Add “enchant”.
11457         (ispell-really-enchant): Add variable.
11458         (ispell-check-version): If using Enchant, check it’s new enough (at
11459         least 1.6.1).  (Like the ispell check, this is absolute: cannot work
11460         without.)
11461         (ispell-enchant-dictionary-alist): Add variable.
11462         (ispell-find-enchant-dictionaries): Add function, based on
11463         ispell-find-aspell-dictionaries.
11464         (ispell-set-spellchecker-params): Allow dictionary auto-detection for
11465         Enchant, and call ispell-find-enchant-dictionaries to find them.  Use
11466         old ispell name to locale mapping code for Enchant too.
11467         (ispell-send-replacement): Make it work with Enchant.
11469 2017-08-07  Reuben Thomas  <rrt@sc3d.org>
11471         Allow async command output buffer to be shown only on output
11473         * lisp/simple.el (async-shell-command-display-buffer): Add
11474         defcustom.
11475         (shell-command): Use the new defcustom to determine whether to show
11476         the buffer immediately, or add a process filter that shows it only
11477         when there is some output.
11478         * etc/NEWS: Document the new variable.
11479         * doc/emacs/misc.texi: Likewise.
11481         Thanks to Juri Linkov and Eli Zaretskii for advice and guidance.
11483 2017-08-07  Eli Zaretskii  <eliz@gnu.org>
11485         Fix infinite recursion under prettify-symbols-mode and linum-mode
11487         * src/xdisp.c (get_overlay_strings_1)
11488         (handle_single_display_spec, push_prefix_prop): Invalidate the
11489         composition information before starting to iterate on a string.
11490         Otherwise we might think in set_iterator_to_next that we are
11491         delivering characters from a composition, and do all kinds of
11492         nonsensical things, like over-step the string end.  (Bug#27761)
11494 2017-08-07  Stefan Monnier  <monnier@iro.umontreal.ca>
11496         * lisp/gnus/gnus-bcklg.el (gnus-backlog-request-article): Fix thinko.
11498 2017-08-07  Martin Rudalics  <rudalics@gmx.at>
11500         Fix doc-string of `delete-other-windows'
11502         * lisp/window.el (delete-other-windows): Fix doc-string.
11504 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
11506         Fix a couple more make-temp-file races
11508         * lisp/files.el (basic-save-buffer-2, move-file-to-trash):
11509         Use make-temp-name, not make-temp-file with retry.
11510         (basic-save-buffer-2): Use condition-case, instead of
11511         unwind-protect with a success flag.
11513 2017-08-07  Noam Postavsky  <npostavs@gmail.com>
11515         Merge null and without-null regexp alists (Bug#27840, Bug#27873)
11517         * lisp/progmodes/grep.el (grep-mode-font-lock-keywords): Allow for NUL
11518         characters following filename in grep context lines.
11519         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
11520         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): Remove.
11521         (grep-regexp-alist): Recombine their contents here.
11522         (grep-mode):
11523         * lisp/cedet/semantic/symref/grep.el
11524         (semantic-symref-parse-tool-output-one-line):
11525         * lisp/progmodes/xref.el (xref-collect-matches): Use the variable
11526         `grep-regexp-alist' rather than the function.
11528 2017-08-07  Paul Eggert  <eggert@cs.ucla.edu>
11530         Fix some crashes on self-modifying Elisp code
11532         Prompted by a problem report by Alex in:
11533         https://lists.gnu.org/r/emacs-devel/2017-08/msg00143.html
11534         * src/eval.c (For, Fprogn, Fsetq, FletX, eval_sub):
11535         Compute XCDR (x) near XCAR (x); although this doesn't fix any bugs,
11536         it is likely to run a bit faster with typical hardware caches.
11537         (Fif): Use Fcdr instead of XCDR, to avoid crashing on
11538         self-modifying S-expressions.
11539         (Fsetq, Flet, eval_sub): Count the number of arguments as we go
11540         instead of trusting an Flength prepass, to avoid problems when the
11541         code is self-modifying.
11542         (Fquote, Ffunction, Fdefvar, Fdefconst): Prefer !NILP to CONSP
11543         where either will do.  This is mostly to document the fact that
11544         the value must be a proper list.  It's also a tiny bit faster on
11545         typical machines nowadays.
11546         (Fdefconst, FletX): Prefer XCAR+XCDR to Fcar+Fcdr when either will do.
11547         (eval_sub): Check that the args are a list as opposed to some
11548         other object that has a length. This prevents e.g. (if . "string")
11549         from making Emacs dump core in some cases.
11550         * test/src/eval-tests.el (eval-tests--if-dot-string)
11551         (eval-tests--let-with-circular-defs, eval-tests--mutating-cond):
11552         New tests.
11554 2017-08-06  Eli Zaretskii  <eliz@gnu.org>
11556         * etc/tutorials/TUTORIAL.he: Update to match recent changes to TUTORIAL.
11558 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
11560         Minor tweak in a dired test
11562         * test/lisp/dired-tests.el (dired-test-bug27968):
11563         Ensure the new header has different length than the original one.
11565 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
11567         dired-delete-file: Do not TAB complete the user answer
11569         This action might delete directories containing valuable information.
11570         Before previous commit, we prompted users with `yes-or-no-p'
11571         which doesn't TAB complete the user answer.  Let's play safe and
11572         keep requiring full answers.
11573         * lisp/dired.el (dired-delete-file): Use `read-string'
11574         instead of `completing-read' to read the user answers.
11576 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
11578         dired-do-delete: Allow to delete dirs recursively without prompts
11580         * lisp/dired.el (dired-delete-file): Accept 2 additional answers:
11581         'all', to delete all directories recursively and no prompt anymore.
11582         'quit', to cancel directory deletions (Bug#27940).
11583         Show help message when user inputs 'help'.
11584         (dired-do-flagged-delete): Bind locally dired-recursive-deletes
11585         so that we can overwrite its global value.
11586         Wrapp the loop within a catch '--delete-cancel to catch when
11587         the user abort the directtry deletion.
11588         * doc/emacs/dired.texi (Dired Deletion): Update manual.
11589         * etc/NEWS (Changes in Specialized Modes and Packages in Emacs 26.1):
11590         Announce this change.
11592 2017-08-06  Paul Eggert  <eggert@cs.ucla.edu>
11594         Fix a couple of make-temp-file races
11596         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
11597         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
11598         Use make-temp-file, not make-temp-name, to avoid an unlikely race
11599         that could lose data.  Remove the deletion hook as quickly as
11600         possible after the file is renamed; though a race still remains
11601         here, it is smaller than before.
11603 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
11605         Dired w/ eshell-ls: Handle shell wildcards in file name
11607         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
11608         Use eshell-extended-glob (Bug#27844).
11609         * test/lisp/dired-tests.el (dired-test-bug27844): Add test.
11611 2017-08-06  Tino Calancha  <tino.calancha@gmail.com>
11613         dired-revert: save line numbers instead of positions
11615         Positions might change if the length of one dired header line
11616         changes; this happen, for instance, if we add new files.
11617         Instead, line numbers are invariant under shrinks/enlargements
11618         of the file header.
11619         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
11620         * lisp/dired.el (dired-save-positions): Save the line numbers at point.
11621         (dired-restore-positions): Use forward-line to restore the original
11622         position (Bug#27968).
11623         * test/lisp/dired-tests.el (dired-test-bug27968): Add test.
11625 2017-08-06  Tom Tromey  <tom@tromey.com>
11627         Respect comment-auto-fill-only-comments
11629         Respect comment-auto-fill-only-comments when auto-filling and a
11630         comment syntax is defined.
11632         * lisp/newcomment.el (comment-indent-new-line): Do not check
11633         comment-auto-fill-only-comments.
11634         * lisp/simple.el (internal-auto-fill): New defun.
11635         * src/cmds.c (internal_self_insert): Call Qinternal_auto_fill, not
11636         auto_fill_function.
11637         (syms_of_cmds): Define Qinternal_auto_fill.
11639 2017-08-05  Richard Stallman  <rms@gnu.org>
11641         * etc/tutorials/TUTORIAL: Update.
11643 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
11645         Unify CNS11643-15 in a way that avoids segfaults
11647         * lisp/international/mule-conf.el: Redo unification of
11648         cns11643-15.  (Bug#27964)
11649         (chinese-cns11643-15): Add the missing :unify-map attribute.
11651 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
11653         Avoid segfaults while producing Punct.el
11655         * lisp/international/mule-conf.el: Undo unification of
11656         cns11643-15, as that causes segfaults during bootstrap.
11657         (Bug#27964)
11659 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
11661         Make header line in some modes be sensitive to display-line-numbers
11663         * lisp/ruler-mode.el (ruler-mode-ruler, ruler-mode-window-col):
11664         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-init-header)
11665         (tabulated-list-print-entry): Account for the width taken by
11666         line-number display.  (Bug#27895)
11668 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
11670         Fix a bug in 'generate-new-buffer-name'
11672         * src/buffer.c (Fgenerate_new_buffer_name): Test IGNORE for being
11673         nil before calling string-equal, since the latter will compare
11674         "nil and 'nil' as equal.  (Bug#27966)
11676         * test/src/buffer-tests.el
11677         (test-generate-new-buffer-name-bug27966): New test.
11679 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
11681         Unify CNS11643-15
11683         * lisp/international/mule-conf.el (chinese-cns11643-15): Add a
11684         unify-charset form for it.  (Bug#27964)
11686 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
11688         Improve test of error message when Emacs cannot be suspended
11690         * lisp/term/x-win.el (x-win-suspend-error):
11691         * lisp/term/ns-win.el (ns-suspend-error): Improve the error
11692         message.  (Bug#27901)
11694 2017-08-05  Alexander Gramiak  <agrambot@gmail.com>
11696         Make "C-h o" show faces as well as variables
11698         * lisp/faces.el (describe-face): Return (buffer-string).  Reorder
11699         the placement of variables/faces in describe-symbol, to put more
11700         emphasis on the variable entry rather than the face.  (Bug#24543)
11702 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
11704         Fix files-tests.el for MS-Windows
11706         * test/lisp/files-tests.el
11707         (files-tests--file-name-non-special--subprocess): Fix this test
11708         for MS-Windows.
11710 2017-08-05  Eli Zaretskii  <eliz@gnu.org>
11712         Improve documentation of 'region-extract-function'
11714         * lisp/simple.el (region-extract-function): Rename the argument to
11715         METHOD.  Doc fix.  (Bug#27927)
11717 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
11719         Merge from gnulib
11721         This incorporates:
11722         2017-08-04 manywarnings: port to 64-bit GCC builds of Emacs
11723         2017-08-01 manywarnings: port to 32-bit GCC bug
11724         * lib/gnulib.mk.in: Regenerate.
11725         * m4/manywarnings.m4: Copy from gnulib.
11727 2017-08-05  Paul Eggert  <eggert@cs.ucla.edu>
11729         Port recent rename changes to Ubuntu 14.04
11731         * src/sysdep.c (renameat_noreplace) [!RENAME_NOREPLACE]:
11732         Don’t use syscall.  Problem reported by Tino Calancha (Bug#27946#10).
11734 2017-08-05  Tino Calancha  <tino.calancha@gmail.com>
11736         insert-directory-wildcard-in-dir-p: Tweak regexp
11738         This function must return non-nil for a wildcard like '/*/*.txt'.
11739         * lisp/files.el (insert-directory-wildcard-in-dir-p): Adjust regexp.
11740         * test/lisp/files-tests.el (files-tests--insert-directory-wildcard-in-dir-p):
11741         Add test.
11743 2017-08-04  Toby S. Cubitt  <tsc25@cantab.net>
11745         Implement iterator generator for avl-trees.
11747         * lisp/emacs-lisp/avl-tree.el (avl-tree-iter): New iter-defun.
11749 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
11751         ls-lisp: Drop eshell dependencies
11753         Use 'file-expand-wildcards' instead of 'eshell-extended-glob' to
11754         expand the wildcards.
11755         Suggested by Fabrice Popineau in:
11756         https://lists.gnu.org/r/emacs-devel/2017-08/msg00108.html
11757         * lisp/ls-lisp.el (ls-lisp--dired): Use file-expand-wildcards.
11759 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
11761         Fix dired-test-bug27631 on MS-Windows
11763         Skip the test if Dired use 'ls' emulation with lisp.  The same
11764         bug is tested in their respective test suites: ls-lisp-tests.el
11765         and em-ls-tests.el.
11766         * test/lisp/dired-tests.el (dired-test-bug27631): Skip test if 'ls-lisp'
11767         or 'eshell' features are enabled.
11769 2017-08-04  Eli Zaretskii  <eliz@gnu.org>
11771         Fix dired-test-bug25609 on MS-Windows
11773         * test/lisp/dired-tests.el (dired-test-bug25609): On MS-Windows,
11774         pass temporary files through file-truename, to avoid bogus
11775         failures due to file-name comparison as strings.
11777 2017-08-04  Tino Calancha  <tino.calancha@gmail.com>
11779         Fix 2 tests that fail in MS-Windows
11781         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
11782         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
11783         Add comments to explain the test logic.
11784         Pass '--binary' option to 'patch' program in windows environments.
11785         Check explicitly that a backup is created before compare file contents.
11787         * test/lisp/dired-tests.el (dired-test-bug25609):
11788         Declare variable 'dired-dwim-target' right before the test.
11789         Add comments to explain the test logic.
11790         Ensure, before test the bug condition, that we are displaying the
11791         2 dired buffers created in this test, and no other dired buffer
11792         is shown.
11794 2017-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
11796         * lisp/shell.el (explicit-shell-file-name): Mention shell-file-name
11798         * lisp/files.el (insert-directory): Don't hardcode "-c".
11799         * lisp/term.el (term, ansi-term): Use shell-file-name.
11801 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
11803         Fix version numbers for some GnuTLS features
11805         Problem reported by Glenn Morris (Bug#27708#58).
11806         * src/gnutls.c (HAVE_GNUTLS_X509_SYSTEM_TRUST):
11807         New macro.  Use it instead of low-level version number checks.
11808         (HAVE_GNUTLS_AEAD): Move here from gnutls.h, and rename from
11809         HAVE_GNUTLS3_AEAD.  All uses changed.  Indent preprocessor lines.
11810         * src/gnutls.h (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST)
11811         (HAVE_GNUTLS3_HMAC): Remove, since these were available
11812         before GnuTLS 3.0.0 and the code checks them only if HAVE_GNUTLS3
11813         is defined.  Remove all uses; this simplifies the code a bit.
11815 2017-08-04  Paul Eggert  <eggert@cs.ucla.edu>
11817         Port recent rename changes to RHEL 7 + NFS
11819         Problem reported by Ted Zlatanov in:
11820         https://lists.gnu.org/r/emacs-devel/2017-08/msg00082.html
11821         * src/fileio.c (Frename_file): On RHEL 7 + NFS, renameat2 can fail
11822         with errno == EINVAL when it is not supported.  So treat that case
11823         like errno == ENOSYS.  Also, when ok_if_already_exists is neither
11824         nil nor an integer, just call plain rename; this avoids an extra
11825         syscall to renameat2 when the latter fails with errno == EINVAL or
11826         ENOSYS or ENOENT.
11828 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
11830         Port GnuTLS usage to Ubuntu 16.04.2 LTS
11832         * src/gnutls.h (HAVE_GNUTLS3_AEAD): Define only if GnuTLS 3.5.1 or
11833         later, as opposed to the old 3.4.0 or later.
11835 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
11837         Simplify configuration of HAVE_GNUTLS3 etc.
11839         There's only one GnuTLS, so configuring these symbols at
11840         'configure' time is overkill.  Simplify things by moving their
11841         configuration to src/gnutls.h (Bug#27708).
11842         * configure.ac (HAVE_GNUTLS3, HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
11843         (HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_DIGEST): Move these definitions
11844         from here ...
11845         * src/gnutls.h: ... to here, and simplify.
11847 2017-08-03  Paul Eggert  <eggert@cs.ucla.edu>
11849         Default to --with-mailutils if it is installed
11851         * configure.ac (with_mailutils): Default to 'yes' if GNU Mailutils
11852         is installed.  See:
11853         https://lists.gnu.org/r/emacs-devel/2017-08/msg00054.html
11855 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
11857         Clarify when autogen.sh should run only autoconf
11859         * Makefile.in (configure, bootstrap): Run ‘./autogen.sh autoconf’,
11860         not plain ‘./autogen.sh’, to make it clear that only
11861         autoconf-related tools should be run here.
11863 2017-08-02  Toon Claes  <toon@iotcl.com>
11865         .gitlab-ci.yml: Use stretch Debian image instead of unstable
11867 2017-08-02  Stephen Berman  <stephen.berman@gmx.net>
11869         Add debugging messages to a Dired test
11871         * test/lisp/dired-tests.el (dired-test-bug27243-01): Log
11872         positions saved and restored by dired-revert to try and find
11873         out why the test fails on Hydra.
11875 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
11877         ls-lisp: Autoload call instead of cookie
11879         * lisp/ls-lisp.el (eshell-extended-glob): autoload call instead of cookie.
11881 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
11883         When renaming a file, ask only if EEXIST or ENOSYS
11885         * src/fileio.c (Frename_file): Avoid calling Ffile_directory_p
11886         more than once on FILE.  Use renameat_noreplace, so that we can
11887         ask the user (and unlink and retry) only if this fails with errno
11888         == EEXIST or ENOSYS.  This avoids the need to ask the user for
11889         permission to do an operation that will fail anyway.  Simplify
11890         computation of ok_if_already_exists for subsidiary functions.
11891         * src/filelock.c (rename_lock_file): Prefer renameat_noreplace
11892         if it works, as this avoids the need to link and unlink.
11893         * src/lisp.h (renameat_noreplace): New decl.
11894         * src/sysdep.c [HAVE_LINUX_FS_H]: Include linux/fs.h and sys/syscall.h.
11895         (renameat_noreplace): New function.
11897 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
11899         When creating a link, ask only if EEXIST
11901         * src/fileio.c (Fadd_name_to_file, Fmake_symbolic_link):
11902         Ask the user (and unlink and retry) only if link creation fails
11903         with errno == EEXIST.  This avoids the need to ask the user for
11904         permission to do an operation that will fail anyway.
11906 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
11908         dired-align-file: Inherit text properties in inserted spaces
11910         * lisp/dired.el (dired-align-file): Inherit text
11911         properties in inserted spaces (Bug#27899).
11912         * test/lisp/dired-tests.el (dired-test-bug27899): Add test.
11914 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
11916         Don't assume /bin/sh as the 'sh' location in the local host
11918         * lisp/dired.el (dired-insert-directory): Use executable-find in
11919         a local host.
11921 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
11923         Move dired tests using ls emulation to different files
11925         Suggested in:
11926         https://lists.gnu.org/r/emacs-devel/2017-08/msg00018.html
11927         * test/lisp/dired-tests.el (dired-test-bug27693)
11928         (dired-test-bug27762, dired-test-bug27817)
11929         (dired-test-bug27631, dired-test-bug27843): Delete those
11930         parts requiring either ls-lisp or eshell-ls.
11932         * test/lisp/ls-lisp-tests.el (ls-lisp-test-bug27762)
11933         (ls-lisp-test-bug27631, ls-lisp-test-bug27693):
11934         Add all dired tests using ls-lisp here.
11936         * test/lisp/eshell/em-ls-tests.el (em-ls-test-bug27631)
11937         (em-ls-test-bug27817, em-ls-test-bug27843): New test file.  Add
11938         all dired tests using eshell-ls here.
11940 2017-08-02  Tino Calancha  <tino.calancha@gmail.com>
11942         * test/lisp/ls-lisp-tests.el: Rename it from ls-lisp.el
11944 2017-08-02  Katsumi Yamaoka  <yamaoka@jpl.org>
11946         * lisp/gnus/mm-uu.el (mm-uu-org-src-code-block-extract):
11947         Say the handle is already decoded.
11948         cf. <yw.87lgnh5cfv.fsf@alex.chromebook> in the info-gnus-english list.
11950 2017-08-02  Paul Eggert  <eggert@cs.ucla.edu>
11952         Don’t worry about unlink if errno == ENOENT
11954         * src/fileio.c (Fdelete_file):
11955         * src/keyboard.c (Fopen_dribble_file): Do not report failure to
11956         remove a file if unlink fails with errno == ENOENT.  This can
11957         happen even if Emacs is the only program removing the file, in
11958         case an NFS cache overflows.  The file does not exist if errno ==
11959         ENOENT, so it is OK to proceed.
11961 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
11963         Fix misalignment in Dired when dired-directory is a cons
11965         * lisp/dired.el (dired--need-align-p, dired--align-all-files):
11966         New defuns.
11967         (dired-internal-noselect): Call dired--align-all-files when
11968         dired-directory is a cons (Bug#27762).
11969         * test/lisp/dired-tests.el (dired-test-bug27762): Test should pass.
11971 2017-08-01  Eli Zaretskii  <eliz@gnu.org>
11973         Fix some dired-tests.el on MS-Windows
11975         * test/lisp/dired-tests.el (dired-test-bug27243-01)
11976         (dired-test-bug27243-02): On MS-Windows, pass test-dir through
11977         file-truename, to avoid bogus failures due to file-name comparison
11978         as strings.
11980 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
11982         Insert subdir content if dir-or-list is a string w/o wildcards
11984         * lisp/eshell/em-ls.el (eshell-ls--insert-directory):
11985         Append '("-d") into 'eshell-ls-dired-initial-args'
11986         if 'dired-directory' is a cons or there are wildcars (Bug#27843).
11987         * test/lisp/dired-tests.el (dired-test-bug27843): Add test.
11989 2017-08-01  Stephen Berman  <stephen.berman@gmx.net>
11991         Update todo-mode defcustoms in a less hideous way
11993         * lisp/calendar/todo-mode.el (todo-reevaluate-filelist-defcustoms)
11994         (todo-reevaluate-default-file-defcustom)
11995         (todo-reevaluate-category-completions-files-defcustom)
11996         (todo-reevaluate-filter-files-defcustom): Delete these functions.
11997         (todo-update-filelist-defcustoms): New function.  This replaces
11998         todo-reevaluate-filelist-defcustoms, using the 'custom-type'
11999         property instead of re-evaluating the defcustoms.
12000         (todo-add-file, todo-rename-file, todo-delete-file)
12001         (todo-delete-category, todo-move-category)
12002         (todo-convert-legacy-files, todo-check-file): Replace call of
12003         todo-reevaluate-filelist-defcustoms by
12004         todo-update-filelist-defcustoms.
12005         (todo-show, todo-category-completions): Replace call of
12006         todo-reevaluate-* function by use of 'custom-type' property.
12008 2017-08-01  Tino Calancha  <tino.calancha@gmail.com>
12010         Add more should form calls in a failing dired test
12012         Some dired tests fail intermittently in hydra.  Add few
12013         more should form calls for debugging.
12014         See:
12015         https://lists.gnu.org/r/emacs-devel/2017-07/msg01092.html
12016         * test/lisp/dired-tests.el (dired-test-bug27243-01): Add few more should
12017         forms for debugging.
12019 2017-08-01  Michael Albinus  <michael.albinus@gmx.de>
12021         Follow SAUNA recommendations for display-line-numbers-type
12023         * lisp/display-line-numbers.el (display-line-numbers-type): Do not autoload.
12025         * lisp/menu-bar.el (display-line-numbers-type): Declare.
12027 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
12029         Avoid most stat calls when completing file names
12031         * admin/merge-gnulib (GNULIB_MODULES): Add d-type.
12032         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
12033         * m4/d-type.m4: New file, copied from gnulib.
12034         * src/dired.c (DT_UNKNOWN, DT_DIR, DT_LINK)
12035         [!HAVE_STRUCT_DIRENT_D_TYPE]: New constants.
12036         (dirent_type): New function.
12037         (file_name_completion): Use it, to avoid unnecessary calls to
12038         stat-like functions on GNU/Linux and other platforms with d_type.
12039         (file_name_completion_stat): Just follow the link; there is no
12040         need to try first with AT_SYMLINK_NOFOLLOW since the directory
12041         entry was already checked to exist.
12043 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
12045         dired-tests: Unload tested features after test them
12047         Some tests are for Dired with ls-lisp or eshell-ls.
12048         Requiring these features add an advice on `dired' and
12049         might affect other tests.
12050         Do not require these features at the top of the file; require
12051         then inside the tests and unload then at the end.
12052         * test/lisp/dired-tests.el (dired-test-bug27693)
12053         (dired-test-bug7131, dired-test-bug27817, dired-test-bug27631):
12054         require ls-lisp and/or eshell-ls inside the test; unload the
12055         features at the end.
12057 2017-07-31  Michael Albinus  <michael.albinus@gmx.de>
12059         Small adaptions for directory wildcards
12061         * lisp/dired.el (dired-insert-directory): Remove "--dired"
12062         when there are wildcards, and the directory is remote.
12064         * test/lisp/net/tramp-tests.el (tramp--test-make-temp-name):
12065         Adapt docstring.
12066         (tramp-test17-dired-with-wildcards): Skip for all methods but
12067         those from tamp-sh.p.
12069 2017-07-31  Tino Calancha  <tino.calancha@gmail.com>
12071         * lisp/dired.el (dired-trivial-filenames): Use \` and \' to match
12072         string bounds.
12074 2017-07-31  Paul Eggert  <eggert@cs.ucla.edu>
12076         Merge from gnulib
12078         This incorporates:
12079         2017-07-30 Don't interpret EOVERFLOW to mean nonexistence
12080         * lib/tempname.c: Copy from gnulib.
12082 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
12084         ls-lisp: Do not require em-glob at top of the file
12086         Require em-glob inside 'ls-lisp--dired'.  This is necessary to
12087         not break the Emacs build.
12088         See following thread for details:
12089         https://lists.gnu.org/r/emacs-devel/2017-07/msg01083.html
12090         * lisp/ls-lisp.el (dired-goto-next-file)
12091         (dired-read-dir-and-switches, eshell-extended-glob):
12092         Add function declarations.
12093         * lisp/eshell/em-ls.el (dired-goto-next-file): Fix function declaration.
12095 2017-07-30  Michael Albinus  <michael.albinus@gmx.de>
12097         * lisp/dired.el (dired-insert-directory): Move `file-remote-p' check up.
12099         * test/lisp/net/tramp-tests.el (tramp-test17-dired-with-wildcards): New test.
12101 2017-07-30  Simen Heggestøyl  <simenheg@gmail.com>
12103         Change default CSS property face
12105         * lisp/textmodes/css-mode.el (css-property): Inherit from
12106         `font-lock-keyword-face' instead of `font-lock-variable-name-face' to
12107         distinguish CSS properties from variables.
12109 2017-07-30  Tino Calancha  <tino.calancha@gmail.com>
12111         Dired: Handle posix wildcards in directory part
12113         Allow Dired to handle calls like
12114         \(dired \"~/foo/*/*.el\"), that is, with wildcards within
12115         the directory part of the file argument (Bug#27631).
12116         * lisp/files.el (insert-directory-wildcard-in-dir-p): New predicate.
12117         (insert-directory-clean): New defun extracted from insert-directory.
12118         (insert-directory)
12119         * lisp/dired.el (dired-internal-noselect)
12120         (dired-insert-directory): Use the new predicate; when it's true,
12121         handle the directory wildcards with a shell call.
12122         * lisp/eshell/em-ls.el (eshell-ls-use-in-dired): Add/remove both advices.
12123         (eshell-ls-unload-hook): New defun.  Use it in
12124         eshell-ls-unload-hook instead of an anonymous function.
12125         (eshell-ls--dired)
12126         * lisp/ls-lisp.el (ls-lisp--dired):
12127         Advice dired to handle wildcards in the directory part with both
12128         eshell-ls and ls-lisp.
12129         * etc/NEWS: Announce it.
12130         * doc/emacs/dired.texi (Dired Enter): Update manual.
12131         * test/lisp/dired-tests.el (dired-test-bug27631): Add test.
12133 2017-07-29  Tino Calancha  <tino.calancha@gmail.com>
12135         * lisp/find-lisp.el: Enable lexical binding
12137         * lisp/find-dired.el: Enable lexical binding
12139 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
12141         * lisp/kmacro.el: Use lexical binding.
12143 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
12145         Use lexical-binding in dired-aux.el
12147         * lisp/dired.el: Use lexical binding.
12148         (dired-do-shell-command): Remove unused bindings.
12150 2017-07-29  Mark Oteiza  <mvoteiza@udel.edu>
12152         * lisp/ido.el: Use lexical binding.
12154         * lisp/whitespace.el: Use lexical binding.
12156 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
12158         artist.el: Avoid error with keyboard command invocation
12160         * lisp/textmodes/artist.el (artist-mouse-choose-operation):
12161         Call x-popup-menu with t instead of last-nonmenu-event as the
12162         value of the position argument; this allows invoking the
12163         command from the keyboard without raising an error (bug#27819).
12165 2017-07-29  Stephen Berman  <stephen.berman@gmx.net>
12167         Preserve point under 'dired-auto-revert-buffer' (third case)
12169         * lisp/files.el (find-file): Use pop-to-buffer-same-window
12170         instead of switch-to-buffer.  This preserves Dired window
12171         point when dired-auto-revert-buffer is non-nil.  (Bug#27243)
12173         * test/lisp/dired-tests.el (dired-test-bug27243-01)
12174         (dired-test-bug27243-02, dired-test-bug27243-03): New tests.
12175         The first two replace a previous test that combined them; that
12176         test intermittently fails in the Hydra build system, so maybe
12177         separating the two cases will help locate the point of
12178         failure.  The third test involves find-file but is here
12179         because it, like the others, is testing the effect of
12180         dired-auto-revert-buffer.
12182 2017-07-29  Allen Li  <vianchielfaura@gmail.com>  (tiny change)
12184         Do not unset user key remaps in dired-x
12186         * lisp/dired-x.el (dired-x-bind-find-file): Don't map any keys if user
12187         sets dired-x-hands-off-my-keys.  (Bug#27828)
12189 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
12191         Improve documentation of 'occur'
12193         * doc/emacs/search.texi (Other Repeating Search):
12194         * lisp/replace.el (occur): Make the documentation of 'occur' be
12195         more accurate when matches overlap.  (Bug#27818)
12197 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
12199         Minor copyedits of comments in faces.el
12201         * lisp/faces.el (face-font-family-alternatives): More info about
12202         requirements from "Monospace Serif".
12204 2017-07-29  Paul Eggert  <eggert@cs.ucla.edu>
12206         Do not worry about paxctl on newer NetBSD
12208         Problem reported privately by Thomas Klausner.
12209         * configure.ac (emacs_uname_r): New var.  Use it to avoid paxctl
12210         on newer NetBSD platforms, where it is not needed.  Also use it to
12211         simplify Cygwin diagnostic.
12213 2017-07-29  Eli Zaretskii  <eliz@gnu.org>
12215         Clarify documentation of ':inherit' face attribute
12217         * doc/lispref/display.texi (Face Attributes): Document the special
12218         treatment of 'unspecified' in the ':inherit' attribute.
12220 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
12222         * lisp/password-cache.el (password-data): Use a hash-table
12224         * lisp/auth-source.el (auth-source-magic): Remove.
12225         (auth-source-forget+, auth-source-forget-all-cached): Adjust to new
12226         format of password-data.
12227         (auth-source-format-cache-entry): Just use a cons.
12229         (password-cache-remove, password-cache-add, password-reset)
12230         (password-read-from-cache, password-in-cache-p): Adjust accordingly.
12232         (Bug#26699)
12234 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
12236         * lisp/subr.el (define-symbol-prop): New function
12238         (symbol-file): Make it find symbol property definitions.
12240         * lisp/emacs-lisp/pcase.el (pcase-defmacro):
12241         * lisp/emacs-lisp/ert.el (ert-set-test): Use it instead of `put'.
12242         (ert-describe-test): Adjust call to symbol-file accordingly.
12244 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
12246         * lisp/subr.el (method-files): Move function to cl-generic.el
12248         * lisp/emacs-lisp/cl-generic.el (cl-generic-p): New function.
12249         (cl--generic-method-files): New function, moved from subr.el.
12250         * lisp/emacs-lisp/edebug.el (edebug-instrument-function): Use them.
12251         * test/lisp/emacs-lisp/cl-generic-tests.el:
12252         * test/lisp/subr-tests.el: Move and adjust method-files tests accordingly.
12254 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
12256         Preserve this-command-keys across recursive-edit invocations
12258         * src/minibuf.c (read_minibuf, read_minibuf_unwind): Save and
12259         restore this-command-keys, to preserve it across recursive-edit.
12260         (Bug#27470)
12262 2017-07-28  Eli Zaretskii  <eliz@gnu.org>
12264         Improve doc string of 'locate-dominating-file'
12266         * lisp/files.el (locate-dominating-file): Doc fix.  (Bug#27798)
12268 2017-07-28  Drew Adams  <drew.adams@oracle.com>
12270         New commands 'apropos-local-variable', 'apropos-local-value'
12272         * lisp/apropos.el (apropos-local-variable, apropos-local-value):
12273         New functions.  (Bug#27424)
12275         * doc/emacs/help.texi (Apropos): Document 'apropos-local-variable'
12276         and 'apropos-local-value'.
12277         * etc/NEWS: Mention the new commands.
12279 2017-07-28  Stefan Monnier  <monnier@iro.umontreal.ca>
12281         * lisp/loadhist.el (unload-feature): Remove ad-hoc ELP code
12283         * lisp/emacs-lisp/elp.el (loadhist-unload-element): Un-instrument functions.
12285 2017-07-27  Alan Mackenzie  <acm@muc.de>
12287         Fix C++ class initializers not always being fontified at mode start.
12289         The problem here happened when an "outer list" of declarations moved beyond an
12290         "inner list" containing class initializers.  These weren't being checked for
12291         by the code.
12293         Also, fix places in c-get-fontification-context where point is undefined.
12295         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): when argument
12296         not-front-decl is set, test for class initializers.  Also, anchor point in
12297         places where it is moved and is otherwise undefined.
12299 2017-07-27  Alan Mackenzie  <acm@muc.de>
12301         Fix variables in C++ "for" statement not always being fontified.
12303         The error happened when there was a comma inside template delimiters.
12305         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): In "for"
12306         statements, recognize template delimiters containing "," and "&".
12308 2017-07-27  Michael Albinus  <michael.albinus@gmx.de>
12310         Add watchdog process to tramp-test36-asynchronous-requests
12312         * test/lisp/net/tramp-tests.el (tramp--test-timeout-handler):
12313         New defun.
12314         (tramp-test36-asynchronous-requests): Use a watchdog process,
12315         listening for SIGUSR1.
12317 2017-07-27  Alan Mackenzie  <acm@muc.de>
12319         CC Mode: Fix declarator being cut off from terminator by end of jit-lock chunk
12321         If a declarator is so cut off, extend the fontification chunk to include it.
12323         * lisp/progmodes/cc-mode.el (c-fl-decl-end): New function.
12324         (c-change-expand-fl-region, c-context-expand-fl-region): Use the new function.
12326 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12328         * lisp/vc/smerge-mode.el: Avoid N² blow up in degenerate cases
12330         (smerge--refine-long-words): New var.
12331         (smerge--refine-chopup-region): Use it.
12333 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12335         * lisp/url/url-cookie.el: Use lexical-binding
12337         (url-cookie-host-can-set-p): Remove unused var `last'.
12338         Use string-suffix-p.
12339         (url-cookie-list): De morgan.
12340         (url-cookie-quit): Remove.
12341         (url-cookie-mode): Inherit from special-mode.
12342         (url-cookie-mode-map): Simplify accordingly.
12344 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12346         * lisp/calendar/todo-mode.el (todo-print-buffer-function): Rework docstring.
12348         * lisp/ruler-mode.el (ruler-mode-ruler): Document problem.
12350 2017-07-27  Stefan Monnier  <monnier@iro.umontreal.ca>
12352         * lisp/emacs-lisp/cl-generic.el (cl-generic-define-method):
12354         Record this as the function's definition site if it's the first def.
12356 2017-07-26  Glenn Morris  <rgm@gnu.org>
12358         * doc/lispref/loading.texi (When to Autoload): New section.
12360 2017-07-26  Glenn Morris  <rgm@gnu.org>
12362         Stop using unibyte buffers for ert backtraces
12364         * lisp/emacs-lisp/ert.el
12365         (ert-results-pop-to-backtrace-for-test-at-point):
12366         Set multibyte true, not false.  This copies a
12367         debugger-setup-buffer change from 2009-08-30, and stops the
12368         "Backtrace for" header line containing ^X and ^Y.
12370 2017-07-26  Dmitry Gutov  <dgutov@yandex.ru>
12372         Fix semantic-symref-parse-tool-output-one-line after 644cdd1aa0
12374         * lisp/cedet/semantic/symref/grep.el
12375         (semantic-symref-grep--line-re): Delete.
12376         (semantic-symref-parse-tool-output-one-line):
12377         Use regexp and group numbers from (grep-regexp-alist).
12379 2017-07-26  Grégoire Jadi  <daimrod@omecha.info>
12381         Fix cl-defmethod indentation
12383         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
12384         Declare (indent defun).  Fixes bug#23994.
12386 2017-07-26  Martin Rudalics  <rudalics@gmx.at>
12388         Fix two customization types in frame.el
12390         * lisp/frame.el (window-divider-default-bottom-width)
12391         (window-divider-default-right-width): Fix customization types.
12393 2017-07-26  Tino Calancha  <tino.calancha@gmail.com>
12395         Dired: Support eshell-ls from the beginning if the user wants to
12397         * lisp/dired.el (dired-insert-directory): Check for eshell-ls
12398         as well (Bug#27817).
12399         * test/lisp/dired-tests.el (dired-test-bug27817): Add test.
12401 2017-07-26  Mark Oteiza  <mvoteiza@udel.edu>
12403         * lisp/progmodes/sh-script.el (sh-mode): Recognize mkshrc.
12405 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
12407         * lisp/emacs-lisp/eieio-compat.el (eieio--defgeneric-init-form):
12409         Adjust to change in cl-generic-ensure-function.
12411 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
12413         ls-lisp: Add an unload function and enable lexical binding
12415         Enable lexical binding.
12416         * lisp/ls-lisp.el (ls-lisp-unload-function): New defun.
12417         * test/lisp/ls-lisp-tests.el (ls-lisp-unload): Add test.
12419 2017-07-25  Tino Calancha  <tino.calancha@gmail.com>
12421         register-read-with-preview: Quit if user input C-g or ESC
12423         * lisp/register.el (register-read-with-preview):
12424         Quit if user input C-g or ESC (bug#27634).
12425         * doc/emacs/regs.texi (Registers): Update manual.
12426         * test/lisp/register-tests.el (register-test-bug27634): Add test.
12428 2017-07-25  Mark Oteiza  <mvoteiza@udel.edu>
12430         Recognize MirBSD Korn shell rc file
12432         * lisp/files.el (auto-mode-alist): Add .mkshrc to the list.
12434 2017-07-25  Glenn Morris  <rgm@gnu.org>
12436         * configure.ac: Be explicit about ImageMagick version in summary.
12438 2017-07-25  Andreas Schwab  <schwab@linux-m68k.org>
12440         Properly align global lispsym
12442         * lib-src/make-docfile.c (close_emacs_globals): Wrap struct
12443         Lisp_Symbols inside struct.
12444         * src/alloc.c (sweep_symbols): Update use of lispsym.
12445         * src/lisp.h (builtin_lisp_symbol): Likewise.
12447 2017-07-25  Paul Eggert  <eggert@cs.ucla.edu>
12449         Do not use ImageMagick 7 and later
12451         Suggested by Glenn Morris (Bug#25967#15).
12452         * configure.ac (IMAGEMAGICK_MODULE): Reject 7 and later.
12454 2017-07-25  Stefan Monnier  <monnier@iro.umontreal.ca>
12456         * lisp/progmodes/perl-mode.el: Add support for indented here docs
12458         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
12459         Recognize the new <<~ syntax for indented here docs.
12460         (perl-syntax-propertize-special-constructs): Adjust search of the
12461         end of here docs accordingly.
12463         * test/manual/indent/perl.perl: Add test for indented here docs.
12465 2017-07-24  Stefan Monnier  <monnier@iro.umontreal.ca>
12467         (loadhist-unload-element): Move ERT and cl-generic methods
12469         * lisp/loadhist.el (loadhist-unload-element): Don't define cl-generic
12470         and ert methods here.
12471         (loadhist-unload-element) <(head define-type)>: Remove unused var `slots'.
12473         * lisp/emacs-lisp/cl-generic.el (loadhist-unload-element): Define
12474         unload method for cl-defmethod.
12475         (cl-generic-ensure-function): Remove redundant `defalias'.
12477         * lisp/emacs-lisp/ert.el (ert-set-test): Move the current-load-list
12478         setting here...
12479         (ert-deftest): ...from here.
12480         (loadhist-unload-element): Define unload method for ert-deftest.
12482 2017-07-24  Michael Albinus  <michael.albinus@gmx.de>
12484         Fix Bug#27371
12486         * lisp/loadhist.el (loadhist-unload-element): Declare for
12487         different entry types of `load-history'.
12488         (loadhist--restore-autoload): New variable.
12489         (loadhist--unload-function): New defun.
12490         (unload-feature): Use `loadhist-unload-element'.  Recommended by
12491         Stefan Monnier.  (Bug#27371)
12493         * test/lisp/net/tramp-tests.el (tramp-test39-unload):
12494         Check, that the `tramp-file-name' structure has been unloaded.
12496 2017-07-24  Grégoire Jadi  <gjadi@omecha.info>
12498         Ensure that we parse images right in shr.el
12500         * lisp/net/shr.el (shr-image-fetched): Go back to the
12501         beginning of the buffer before trying to parse the image
12502         fetched.
12504 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12506         Update .gitignore for Valgrind and no Automake
12508         * .gitignore: Remove .deps/ since we no longer use Automake.
12509         Add vgcore.*[0-9], for debugging Emacs with Valgrind+GDB.
12511 2017-07-24  Paul Eggert  <eggert@cs.ucla.edu>
12513         Merge from gnulib
12515         This incorporates:
12516         2017-07-23 Rename module 'strftime' to 'nstrftime'
12517         * admin/merge-gnulib (GNULIB_MODULES): Add nstrftime, remove strftime.
12518         * build-aux/config.guess: Copy from gnulib.
12519         * lib/nstrftime.c: Rename from lib/strftime.c.
12520         * m4/nstrftime.m4: Rename from m4/strftime.m4.
12521         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
12523 2017-07-23  Philipp Stephani  <phst@google.com>
12525         Add 'rx' pattern for pcase.
12527         * lisp/emacs-lisp/rx.el (rx): New pcase macro.
12528         * test/lisp/emacs-lisp/rx-tests.el (rx-pcase): Add unit test.
12530 2017-07-23  Mark Oteiza  <mvoteiza@udel.edu>
12532         Use a named function for global minor mode turn-on argument
12534         * lisp/display-line-numbers.el (turn-on-display-line-numbers-mode):
12535         New function.
12536         (global-display-line-numbers-mode): Use it.
12538 2017-07-23  Charles A. Roelli  <charles@aurox.ch>
12540         Enable GUI Emacs without 'make install' on macOS (Bug #27645)
12542         * nextstep/INSTALL: Correct it, and mention that Emacs can be run
12543         from 'src/emacs'.
12545         * src/nsterm.m (applicationDidFinishLaunching:): When Emacs is
12546         launched outside of a macOS application bundle, change its
12547         activation policy from the default 'prohibited' to 'regular'.
12549 2017-07-23  Alan Mackenzie  <acm@muc.de>
12551         Convert CC Mode's c-found-types from an obarray to a hash table.
12553         * lisp/progmodes/cc-engine.el (c-clear-found-types): create a hash table
12554         rather than an obarray.
12555         (c-copy-found-types): Remove.
12556         (c-add-type, c-unfind-type, c-check-type, c-list-found-types): Amend to use
12557         the new hash table.
12558         (c-forward-<>-arglist): Use copy-hash-table rather than c-copy-found-types.
12560 2017-07-23  Lars Ingebrigtsen  <larsi@gnus.org>
12562         Fix image/svg+xml display in shr
12564         * lisp/net/shr.el (shr-put-image): Display svg images as svg
12565         (bug#27799).  I suspect the previous change was checked in by
12566         accident in conjuction with some other svg changes.
12568 2017-07-23  Michael Albinus  <michael.albinus@gmx.de>
12570         * lisp/display-line-numbers.el (display-line-numbers-type): Autoload it.
12572 2017-07-23  Glenn Morris  <rgm@gnu.org>
12574         Don't automatically enable Gconf if Gsettings was found
12576         * configure.ac (HAVE_GCONF) [HAVE_GSETTINGS]:
12577         Don't test for Gconf unless specifically requested.
12578         Gconf was deprecated in favor of Gsettings several years ago.
12580 2017-07-23  Glenn Morris  <rgm@gnu.org>
12582         * configure.ac (MODULES_SUFFIX): Always give it a value.
12584         This prevents a Makefile thinko like "rm *${MODULE_SUFFIX}".
12586 2017-07-23  Glenn Morris  <rgm@gnu.org>
12588         * doc/emacs/frames.texi (Fonts): Mention Gsettings.
12590 2017-07-22  Michael Albinus  <michael.albinus@gmx.de>
12592         Add line numbers display to the Options menu
12594         * lisp/menu-bar.el (toggle-display-line-numbers): Remove.
12595         (menu-bar-display-line-numbers-mode): New defun.
12596         (menu-bar-showhide-line-numbers-menu): New defvar.
12597         (menu-bar-showhide-menu): Use `menu-bar-showhide-line-numbers-menu'
12599 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
12601         Signal error for symbol names with strange quotes (Bug#2967)
12603         * src/lread.c (read1): Signal an error when a symbol starts with a
12604         non-escaped quote-like character.
12605         * test/src/lread-tests.el (lread-tests--funny-quote-symbols): New
12606         test.
12607         * etc/NEWS: Announce change.
12609 2017-07-22  Noam Postavsky  <npostavs@gmail.com>
12611         Revert "Let delete-selection-mode work with popup-menu commands (Bug#27569)"
12613         It turns out that this change is not needed, and it leaves several
12614         command loops settings not done.
12616         https://lists.gnu.org/r/emacs-devel/2017-07/msg00757.html
12617         https://lists.gnu.org/r/emacs-devel/2017-07/msg00840.html
12619 2017-07-22  Alexander Gramiak  <agrambot@gmail.com>
12621         Add a minor mode interface for display-line-numbers
12623         * lisp/cus-start.el: Use the new display-line-numbers group.
12624         * lisp/display-line-numbers.el: New file.
12626         * doc/emacs/custom.texi (Init Rebinding): Re-add entry that used to
12627         belong to linum-mode.
12628         * doc/emacs/modes.texi (Minor Modes): Summarize the mode.
12629         * etc/NEWS: Document display-line-numbers-mode and its customization
12630         variables, and mention that display-line-numbers-width is
12631         buffer-local.
12633         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-width>: Fix a
12634         typo.
12636 2017-07-22  vividsnow  <vividsnow@gmail.com>  (tiny change)
12638         Support indented HERE-DOCs in cperl-mode
12640         * lisp/progmodes/cperl-mode.el (cperl-find-pods-heres): Support
12641         indented here-docs.  (Bug#27254) (Bug#27697)
12643 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
12645         Document the support for "scrollBar" X resource
12647         * doc/emacs/xresources.texi (Table of Resources): Document the new
12648         'scrollBar' setting.
12649         * etc/NEWS: Document the new 'scrollBar' setting.
12651 2017-07-22  Matthew Bauer  <mjbauer95@gmail.com>  (tiny change)
12653         Add 'scroll-bar-mode' to settings in 'x-apply-session-resources'
12655         * lisp/startup.el (x-apply-session-resources): Add scroll-bar-mode
12656         settings.
12658 2017-07-22  Alexander Kuleshov  <kuleshovmail@gmail.com>
12660         Update ld-script mode (bug#27629)
12662         * lisp/progmodes/ld-script.el: (ld-script-keywords): New commands
12663         NOCROSSREFS_TO and HIDDEN added.  Fix documentation sections
12664         numbers for PROVIDE/PROVIDE_HIDDEN commands.
12665         (ld-script-builtins): New builtin function LOG2CEIL added.
12667 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
12669         Index 'rectangle' in the ELisp manual
12671         * doc/lispref/text.texi (Registers): Index the "rectangle" value.
12672         (Bug#27541)
12674 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
12676         * lisp/subr.el (add-to-history): Doc fix.  (Bug#27494)
12678 2017-07-22  Eli Zaretskii  <eliz@gnu.org>
12680         Doc fixes for kmacro.el functions
12682         * lisp/kmacro.el (kmacro-start-macro, kmacro-call-macro)
12683         (kmacro-end-and-call-macro): Don't use "permanent name", as that
12684         could be misinterpreted.  (Bug#27492)
12686 2017-07-22  Charles A. Roelli  <charles@aurox.ch>
12688         ElDoc: add docstrings and minor refactoring
12690         * lisp/emacs-lisp/eldoc.el (eldoc-edit-message-commands): Add
12691         docstring.
12692         (turn-on-eldoc-mode): Fix capitalization.
12693         (eldoc--supported-p): Add docstring.
12694         (eldoc-schedule-timer): Add docstring and use
12695         'eldoc--supported-p'.
12696         (eldoc-message): Add docstring and make calling convention
12697         clearer.
12698         (eldoc--message-command-p):
12699         (eldoc-pre-command-refresh-echo-area):
12700         (eldoc-display-message-p):
12701         (eldoc-display-message-no-interference-p):
12702         (eldoc-print-current-symbol-info):
12703         (eldoc-docstring-format-sym-doc):
12704         (eldoc-add-command, eldoc-add-command-completions):
12705         (eldoc-remove-command, eldoc-remove-command-completions):
12706         Add docstring.  (Bug#27230)
12708 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
12710         Mention 'C-M-i' as key binding for 'ispell-complete-word'
12712         * doc/emacs/fixit.texi (Spelling): ispell-complete-word
12713         can also be invoked by C-M-i.  (Bug#27349)
12715 2017-07-22  Fabrice Bauzac  <libnoon@gmail.com>  (tiny change)
12717         Fix the eww-search-words description in the Emacs manual
12719         * doc/emacs/search.texi (Word Search):
12720         Include the key binding for eww-search-words in the manual.
12721         Fix the spelling of the 'eww-search-words' command.
12723 2017-07-22  Andrew L. Moore  <slewsys@gmail.com>
12725         Introduce defcustom 'executable-prefix-env'
12727         * lisp/progmodes/executable.el (executable-prefix): Update the doc
12728         string.
12729         (executable-prefix-env): New defcustom.
12730         (executable-set-magic): Use executable-prefix-env.
12732         * etc/NEWS: Document the new variable.
12734 2017-07-22  Glenn Morris  <rgm@gnu.org>
12736         * test/lisp/ibuffer-tests.el: Delete temporary files.
12738 2017-07-21  Glenn Morris  <rgm@gnu.org>
12740         Further attempt to avoid hang in network-stream-tests
12742         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv6-nowait):
12743         Limit the time we wait for the external process.
12745 2017-07-21  Glenn Morris  <rgm@gnu.org>
12747         Stop skipping many ibuffer tests by default
12749         * test/lisp/ibuffer-tests.el (ibuffer-0autoload):
12750         Rename so it sorts first.
12751         (ibuffer-save-filters, ibuffer-filter-inclusion-1)
12752         (ibuffer-filter-inclusion-2, ibuffer-filter-inclusion-3)
12753         (ibuffer-filter-inclusion-4, ibuffer-filter-inclusion-5)
12754         (ibuffer-filter-inclusion-6, ibuffer-filter-inclusion-7)
12755         (ibuffer-filter-inclusion-8, ibuffer-decompose-filter)
12756         (ibuffer-and-filter, ibuffer-or-filter, ibuffer-format-qualifier)
12757         (ibuffer-unary-operand): Require ibuf-ext so tests not skipped.
12759 2017-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
12761         Use lexical-binding in todo-mode.el
12763         Adjust code accordingly and make various minor improvements.
12765         * lisp/calendar/todo-mode.el: Enable lexical-binding.
12766         (dayname, monthname, day, month, year): Make forward defvars
12767         of these keywords from macros defined in calendar.el; wrap
12768         them in with-no-warnings.
12769         (todo-files, todo-files-function, todo-date-pattern)
12770         (todo-mode-line-function, todo-show, todo-forward-category)
12771         (todo-edit-item--header, todo-set-category-number)
12772         (todo-adjusted-category-label-length)
12773         (todo-total-item-counts, todo-filter-items)
12774         (todo-print-buffer-function, todo-convert-legacy-date-time)
12775         (todo-category-number, todo-category-completions)
12776         (todo-read-file-name, todo-read-category)
12777         (todo-validate-name, todo-read-date)
12778         (todo-set-show-current-file, todo-modes-set-1)
12779         (todo-modes-set-2, todo-modes-set-3, todo-mode):
12780         Use #' instead of ' to quote functions.
12781         (todo-files): Use \' instead of $ in regexp.
12782         (todo--files-type-list): New function.
12783         (todo-default-todo-file, todo-category-completions-files)
12784         (todo-filter-files, todo-multiple-filter-files)
12785         (todo-reevaluate-default-file-defcustom)
12786         (todo-reevaluate-category-completions-files-defcustom)
12787         (todo-reevaluate-filter-files-defcustom): Use it.
12788         (todo-show, todo-rename-file, todo-move-category)
12789         (todo-edit-item--text, todo-edit-quit, todo-edit-item--header)
12790         (todo-item-undone, todo-unarchive-items, todo-search)
12791         (todo-filter-items, todo-filter-items-1, todo-find-item)
12792         (todo-category-select, todo-read-date)
12793         (todo-nondiary-marker-matcher, todo-date-string-matcher)
12794         (todo-diary-expired-matcher, todo-convert-legacy-files)
12795         (todo-read-category): Reformat to avoid code hiding behind a
12796         more deeply embedded element.
12797         (todo-forward-category, todo-set-category-number):
12798         Use 'funcall' instead of 'apply'.
12799         (todo-toggle-mark-item, todo-edit-item--diary-inclusion)
12800         (todo-edit-category-diary-inclusion)
12801         (todo-insert-sort-button, todo-insert-category-line)
12802         (todo-multiple-filter-files): Mark unused local variables.
12803         (todo-edit-item--header, todo-move-item, todo-print-buffer)
12804         (todo-edit-item--header, todo-move-item, todo-check-file)
12805         (todo-edit-item--next-key): Remove unused local variables.
12806         (todo-insert-sort-button, todo-insert-category-line):
12807         Use a closure instead of a backquoted lambda.
12808         (todo-update-categories-display, todo-print-buffer): Simplify code.
12809         (todo-print-buffer-function): Document calling convention.
12810         (todo-category-completions): Use cl-pushnew instead of add-to-list.
12811         (todo-mode-map, todo-archive-mode-map)
12812         (todo-categories-mode-map, todo-filtered-items-mode-map):
12813         Remove superfluous call of suppress-keymap, since it's already
12814         in the parent special-mode-map.
12816 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
12818         dired: Revert buffer when DIRNAME is a cons
12820         * lisp/dired.el (dired-internal-noselect): Revert buffer if DIR-OR-LIST
12821         is a cons, or dired-directory is a cons and DIR-OR-LIST a string (Bug#7131).
12822         Update the comments.
12823         * test/lisp/dired-tests.el (dired-test-bug7131): Test should pass.
12825 2017-07-21  Tino Calancha  <tino.calancha@gmail.com>
12827         Handle when dired-directory is a cons in some Dired functions
12829         * lisp/dired-aux.el (dired-rename-subdir-1)
12830         * lisp/dired-x.el (dired-mark-omitted):
12831         Handle when dired-directory is a cons.
12833 2017-07-21  Noam Postavsky  <npostavs@gmail.com>
12835         Make eshell-next-prompt more reliable (Bug#27405)
12837         * lisp/eshell/em-prompt.el (eshell-next-prompt): Search for
12838         `eshell-prompt-regexp' (and `read-only' text-property if
12839         `eshell-highlight-prompt' is set) rather than trying to use
12840         `forward-paragraph'.
12841         (eshell-previous-prompt): Don't count prompt on current line.
12843 2017-07-21  Paul Eggert  <eggert@cs.ucla.edu>
12845         Simplify recent gnutls.c changes
12847         * src/gnutls.c (clear_storage) [HAVE_GNUTLS3_AEAD]: Remove.
12848         All uses replaced by calls to explicit_bzero; that’s clear enough.
12849         (gnutls_symmetric_aead) [HAVE_GNUTLS3_AEAD]: Simplify by
12850         coalescing duplicate actions.  There is no need to invoke
12851         SAFE_FREE before calling ‘error’.
12853 2017-07-20  Michael Albinus  <michael.albinus@gmx.de>
12855         Stylistic changes in tramp-cache.el
12857         * lisp/net/tramp-cache.el (tramp-get-file-property)
12858         (tramp-set-file-property): Use `bound-and-true-p'.  Add
12859         counter variables to `tramp-cache-unload-hook'.
12861 2017-07-20  Glenn Morris  <rgm@gnu.org>
12863         * admin/notes/hydra: Small updates.
12865 2017-07-20  Glenn Morris  <rgm@gnu.org>
12867         Make tramp unloading handle debug counter variables
12869         * lisp/net/tramp-cache.el (tramp-get-file-property)
12870         (tramp-set-file-property): Add counter variables to tramp-unload-hook.
12872 2017-07-20  Eli Zaretskii  <eliz@gnu.org>
12874         Fix hscrolling calculations when display-line-numbers is set
12876         * src/xdisp.c (move_it_in_display_line_to): Account for line
12877         numbers in hscrolled lines.  (Bug#27756)
12879 2017-07-20  Katsumi Yamaoka  <yamaoka@jpl.org>
12881         Fix the bogus change made 13 years ago (bug#27084)
12883         * lisp/gnus/gnus-sum.el (gnus-summary-toggle-header):
12884         Fix the way to test if there is no visible header (bug#27084).
12886 2017-07-20  Noam Postavsky  <npostavs@gmail.com>
12888         Use grep's --null option (Bug#6843)
12890         * lisp/progmodes/grep.el (grep-use-null-filename-separator): New option.
12891         (grep--regexp-alist-column, grep--regexp-alist-bin-matcher)
12892         (grep-with-null-regexp-alist, grep-fallback-regexp-alist): New
12893         constants, replacing `grep-regexp-alist'.
12894         (grep-regex-alist): Mark the variable obsolete, add a new function of
12895         the same name to replace it.
12896         (grep-compute-defaults): Compute default for
12897         `grep-use-null-filename-separator'.
12898         (grep-mode): Set compilation-error-regexp-alist (buffer locally) to the
12899         value of `grep-with-null-regexp-alist' or `grep-fallback-regexp-alist'
12900         according to `grep-use-null-filename-separator'.
12901         * lisp/progmodes/xref.el (xref-collect-matches): Call
12902         `grep-regex-alist' instead of the obsolete variable.  Don't hardcode
12903         grep-regexp-alist match groups.
12904         * etc/NEWS: Announce new use of --null.  Move 'grep-save-buffers'
12905         item under "Grep" heading as well.
12907 2017-07-19  Philipp Stephani  <phst@google.com>
12909         * src/gnutls.c (clear_storage): Define only if needed.
12911 2017-07-19  Stephen Berman  <stephen.berman@gmx.net>
12913         Adjust todo-quit to recent change in dired
12915         * lisp/calendar/todo-mode.el (todo-quit): Use quit-window instead of
12916         bury-buffer to exit todo-mode.  This restores the desired behavior
12917         of not immediately returning to the exited todo-mode buffer on
12918         quitting another buffer, which a dired bug fix had changed (see
12919         https://lists.gnu.org/r/emacs-devel/2017-07/msg00739.html).
12921 2017-07-19  Tino Calancha  <tino.calancha@gmail.com>
12923         Add test for bugs 7131, 27762
12925         Require 'ls-lisp' at top of the file.
12926         * test/lisp/dired-tests.el (dired-test-bug7131, dired-test-bug27762):
12927         New tests.
12928         (dired-test-bug27693): Delete Dired buffer at the end.
12930 2017-07-18  Michael Albinus  <michael.albinus@gmx.de>
12932         * admin/notes/hydra: Mention environment variable EMACS_HYDRA_CI.
12934 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
12936         * lisp/emacs-lisp/nadvice.el (advice--defalias-fset): Strip advices
12938         This tries to make sure that (defalias F (symbol-function F)) stays a no-op.
12940 2017-07-18  Glenn Morris  <rgm@gnu.org>
12942         Use a more specific test for running on hydra.nixos.org
12944         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
12945         * test/Makefile.in (WRITE_LOG):
12946         * test/lisp/filenotify-tests.el:
12947         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
12948         (eieio-test-method-order-list-6):
12949         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
12950         (eieio-test-37-obsolete-name-in-constructor):
12951         * test/lisp/net/tramp-tests.el: Replace NIX_STORE with EMACS_HYDRA_CI.
12953 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
12955         Avoid infloop due to Eshell's "smart" redisplay
12957         * src/xdisp.c (pos_visible_p): Save and restore the window's
12958         mode-line and header-line height.  (Bug#27752)
12960 2017-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
12962         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): Accept `[]'
12964 2017-07-18  Eli Zaretskii  <eliz@gnu.org>
12966         Fix indentation when display-line-numbers is non-nil
12968         * src/xdisp.c (x_produce_glyphs): Fix a typo in deciding whether
12969         to go one more tab stop to display a TAB.  (Bug#27743)
12971 2017-07-18  Lars Ingebrigtsen  <larsi@gnus.org>
12973         Don't use gtk_widget_get_scale_factor on old GTK3 versions
12975         * src/gtkutil.c (xg_get_scale): gtk_widget_get_scale_factor is
12976         only present since GTK 3.10.
12978 2017-07-18  Noam Postavsky  <npostavs@gmail.com>
12980         Let delete-selection-mode work with popup-menu commands (Bug#27569)
12982         * lisp/menu-bar.el (popup-menu): Run `pre-command-hook' with
12983         `this-command' set to the selected command.
12985 2017-07-18  Paul Eggert  <eggert@cs.ucla.edu>
12987         Port gnutls.c to older (buggier?) GnuTLS
12989         Problem reported for GnuTLS 3.2.1 by Glenn Morris in:
12990         https://lists.gnu.org/r/emacs-devel/2017-07/msg00716.html
12991         https://lists.gnu.org/r/emacs-devel/2017-07/msg00742.html
12992         Although I don't see how this bug can occur with vanilla GnuTLS 3.2.1,
12993         perhaps hydra was using a modified GnuTLS.
12994         * src/gnutls.c (Fgnutls_ciphers): Don't assume GNUTLS_CIPHER_NULL
12995         is at the end of the list returned by gnutls_cipher_list,
12996         or that the earlier ciphers all have non-null names.
12998 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
13000         Fix relocation with named cell referred to by a one-symbol formula.
13002         * lisp/ses.el (ses-replace-name-in-formula): Fix bug for it to
13003         work also with one symbol formulas.
13005         * test/lisp/ses-tests.el
13006         (ses-tests-renaming-cell-with-one-symbol-formula): Add new
13007         test for renaming with relocating a one symbol formula.
13009 2017-07-17  Vincent Belaïche  <vincentb1@users.sourceforge.net>
13011         Fix symbol completion and document it.
13013         * doc/misc/ses.texi (Configuring what printer function
13014         applies): Add description of keys for completing local printer
13015         symbols and listing local printers in a help buffer.
13016         (Formulas): Add decription for key to list the named cell
13017         symbols in a help buffer.
13019         * lisp/ses.el (ses-completion-keys): New constant.
13020         (ses--completion-table): New defvar.
13021         (ses--list-orig-buffer): New defvar.
13022         (ses-mode-edit-map): Fixed for symbol completion, plus add
13023         help functions to list named cells or local printers.
13024         (ses-edit-cell-complete-symbol)
13025         (ses--edit-cell-completion-at-point-function): New defuns for
13026         completion during formula edition.
13027         (ses-edit-cell): Redefine dynamically edit keymap for
13028         completion keys to point at the right function.
13029         (ses-read-printer-complete-symbol)
13030         (ses--read-printer-completion-at-point-function): New defuns
13031         for completion during printer edition.
13032         (ses-read-printer): Redefine dynamically edit keymap for
13033         completion keys to point at the right function.
13034         (ses-list-local-printers): New defun.
13035         (ses-list-named-cells): New defun.
13037 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
13039         Move comments around
13041 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
13043         Make scaling work (?) on pre-GTK3 systems
13045         * src/gtkutil.c (xg_get_gdk_scale): Reinstate function.
13046         (xg_get_scale): Use it on non-GTK3 systems.
13048 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
13050         Always return the GDK scale
13052         * src/gtkutil.c (xg_get_scale): Return the GDK scale always.
13054 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
13056         Remove usage of the GDK_SCALE variable
13058         * src/gtkutil.c (xg_get_gdk_scale): Remove.
13059         (xg_get_default_scrollbar_height)
13060         (xg_get_default_scrollbar_width): Pass in a frame to check for
13061         scaling.
13062         (xg_frame_set_char_size): Use the API for querying scale
13063         instead of looking at the GDK_SCALE variable.
13064         (xg_get_default_scrollbar_width): Ditto.
13065         (xg_get_default_scrollbar_height): Ditto.
13066         (xg_update_scrollbar_pos): Ditto.
13068         * src/xfns.c (x_set_scroll_bar_default_height): Pass in the
13069         frame to get the width.
13071 2017-07-17  Lars Ingebrigtsen  <larsi@gnus.org>
13073         Get positions of menus and tooltips right on HiDPI
13075         * src/gtkutil.c (xg_get_scale): New function.
13076         (xg_show_tooltip): Use it.
13078         * src/xmenu.c (create_and_show_popup_menu): Put menus in the
13079         right place.
13081 2017-07-17  Eli Zaretskii  <eliz@gnu.org>
13083         Allow user control on what starts and ends a paragraph for bidi
13085         * src/buffer.h (struct buffer): New members
13086         bidi_paragraph_separate_re_ and bidi_paragraph_start_re_.
13087         * src/buffer.c (bset_bidi_paragraph_start_re)
13088         (bset_bidi_paragraph_separate_re): New setters/
13089         (Fbuffer_swap_text): Swap the values of bidi-paragraph-start-re and
13090         bidi-paragraph-separate-re.
13091         (init_buffer_once): Init the values of bidi-paragraph-start-re and
13092         bidi-paragraph-separate-re.
13093         (syms_of_buffer) <bidi-paragraph-start-re, bidi-paragraph-separate-re>:
13094         New per-buffer variables.
13095         * src/bidi.c (bidi_at_paragraph_end, bidi_find_paragraph_start):
13096         Support bidi-paragraph-start-re and bidi-paragraph-separate-re.
13097         (bidi_move_to_visually_next): Handle correctly the case when the
13098         separator matches an empty string.  (Bug#27526)
13100         * doc/emacs/mule.texi (Bidirectional Editing):
13101         * doc/lispref/display.texi (Bidirectional Display): Document
13102         bidi-paragraph-start-re and bidi-paragraph-separate-re.
13104         * etc/NEWS: Mention bidi-paragraph-start-re and
13105         bidi-paragraph-separate-re.
13107 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
13109         * lisp/emacs-lisp/map.el (map-put): Fix redundancy in docstring.
13111 2017-07-17  Tino Calancha  <tino.calancha@gmail.com>
13113         alist-get: Add optional arg TESTFN
13115         If TESTFN is non-nil, then it is the predicate to lookup
13116         the alist.  Otherwise, use 'eq' (Bug#27584).
13117         * lisp/subr.el (alist-get): Add optional arg FULL.
13118         * lisp/emacs-lisp/map.el (map-elt, map-put): Add optional arg TESTFN.
13119         * lisp/emacs-lisp/gv.el (alist-get): Update expander.
13120         * doc/lispref/lists.texi (Association Lists): Update manual.
13121         * etc/NEWS: Announce the changes.
13122         * test/lisp/emacs-lisp/map-tests.el (test-map-put-testfn-alist)
13123         (test-map-elt-testfn): New tests.
13125 2017-07-17  Michael Albinus  <michael.albinus@gmx.de>
13127         Fix `tramp-test39-unload'
13129         * test/lisp/net/tramp-tests.el (tramp--test-instrument-test-case-p)
13130         (tramp--test-instrument-test-case): Rename.  Adapt all callees.
13131         (tramp-test36-asynchronous-requests): Bind `timer-max-repeats'.
13132         (tramp-test39-unload): Expect it to pass.  Ignore buffer-local
13133         variables and autoload functions; they are not removed.  Check
13134         also for `-function(s)'.
13136 2017-07-17  Stephen Berman  <stephen.berman@gmx.net>
13138         Preserve point under 'dired-auto-revert-buffer' (second case)
13140         * lisp/dired.el (dired): Use pop-to-buffer-same-window instead
13141         of switch-to-buffer.  This preserves Dired window point when
13142         dired-auto-revert-buffer is non-nil.  (Bug#27243)
13144         * test/lisp/dired-tests.el (dired-test-bug27243): New test.
13146 2017-07-17  Martin Rudalics  <rudalics@gmx.at>
13148         Have Fgnutls_available_p return Qnil when GNUTLS is undefined
13150         * src/gnutls.c (Fgnutls_available_p): Return Qnil when GNUTLS is
13151         undefined to allow --with-gnutls=no builds to proceed.
13153 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
13155         * src/gnutls.c: Restore some comments.
13157 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
13159         Use memset, not bzero
13161         * src/ftcrfont.c (ftcrfont_glyph_extents): Use memset instead
13162         of the (less-portable) bzero.
13164 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
13166         Use explicit_bzero to clear GnuTLS keys
13168         * admin/merge-gnulib (GNULIB_MODULES): Add explicit_bzero.
13169         * lib/explicit_bzero.c, m4/explicit_bzero.m4: New files.
13170         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
13171         * src/gnutls.c (clear_storage): New function.
13172         (gnutls_symmetric_aead): Use it instead of memset.
13174 2017-07-17  Paul Eggert  <eggert@cs.ucla.edu>
13176         Merge from gnulib
13178         This incorporates:
13179         2017-07-16 explicit_bzero: new module
13180         2017-07-15 getdtablesize: Add minimal support for OpenVMS.
13181         * lib/getdtablesize.c, lib/string.in.h, m4/getdtablesize.m4:
13182         * m4/string_h.m4:
13183         Copy from Gnulib.
13184         * lib/gnulib.mk.in: Regenerate.
13186 2017-07-17  Dieter Deyke  <dieter.deyke@gmail.com>
13188         Fix vc-src-dir-status-files
13190         * lisp/vc/vc-src.el (vc-src-dir-status-files): Fix broken
13191         copy-paste from b1a765b3 (bug#27641).
13193 2017-07-16  Wilfred Hughes  <me@wilfred.me.uk>
13195         Fix mismatched parens
13197         * etc/NEWS.21: Remove excess parenthesis in code example
13199 2017-07-16  Alan Third  <alan@idiocy.org>
13201         Add missing declare-function for new function
13203         * lisp/frame.el: Add declare function for
13204         ns-mouse-absolute-pixel-position.
13206 2017-07-16  R. Bernstein  <rocky@gnu.org>
13208         Realgud for tango themes
13210 2017-07-16  Noam Postavsky  <npostavs@gmail.com>
13212         Fix test when running from test/lisp/subr-tests.elc
13214         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests): Don't
13215         assume a lambda expression will be `equal' to its quoted form.  That's
13216         not true if the lambda expression has been compiled.
13218 2017-07-15  Alan Third  <alan@idiocy.org>
13220         Fix some frame handling issues on NS
13222         * lisp/frame.el (mouse-absolute-pixel-position): Use new NS function.
13223         * src/nsfns.m (Sns_mouse_absolute_pixel_position): New function.
13224         * src/nsterm.m (x_make_frame_visible): Re-establish parent-child
13225         relationship if it's broken.
13227 2017-07-15  Tino Calancha  <tino.calancha@gmail.com>
13229         ls-lisp: Fix file size format
13231         * lisp/ls-lisp.el (ls-lisp-filesize-d-fmt, ls-lisp-filesize-f-fmt)
13232         (ls-lisp-filesize-b-fmt): Add space in front (Bug#27693).
13233         * test/lisp/dired-tests.el (dired-test-bug27693): Add test.
13235 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
13237         Avoid link errors with older versions of GnuTLS
13239         * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
13240         (Fgnutls_macs, Fgnutls_digests): Conditionally compile code that
13241         calls GnuTLS functions which might be unavailable in older
13242         versions of GnuTLS.
13244 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
13246         Improve comments in faces.el
13248         * lisp/faces.el (face-font-family-alternatives): Improve
13249         commentary.
13251 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
13253         Improve some GnuTL error messages
13255         * src/gnutls.c (gnutls_symmetric_aead, gnutls_symmetric):
13256         * src/fns.c (Fsecure_hash_algorithms): Fix error messages.
13258 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
13260         Fix the Elisp manual wrt GnuTL cryptography
13262         * doc/lispref/elisp.texi (Top): Update the master menu.
13263         * doc/lispref/text.texi (GnuTLS Cryptography): Add a @menu, to
13264         avoid errors in makeinfo.
13266 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
13268         Fix compilation of gnutls.c with older GnuTLS
13270         * src/gnutls.c (syms_of_gnutls): Condition some defsubr's
13271         on HAVE_GNUTLS3, to avoid compilation errors when GnuTLS
13272         v3.X is not available.  Reported by Colin Baxter <m43cap@yandex.com>.
13274 2017-07-15  rocky  <rb@dustyfeet.com>
13276         Realgud for two more light themes
13278 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
13280         Rearrange MS-Windows code that dynamically loads GnuTLS functions
13282         * src/gnutls.c [WINDOWSNT]: Reorganize definitions and loading
13283         of functions using the same preprocessing directives as in the code.
13285 2017-07-15  Eli Zaretskii  <eliz@gnu.org>
13287         Fix the MS-Windows build broken in gnutls.c
13289         * src/gnutls.c (Fgnutls_available_p) [WINDOWSNT]: Move the DLL
13290         loading code to after 'capabilities' has been calculated.  Remove
13291         redundant comments.
13293 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
13295         src/image.c (compute_image_size): Remove superfluous checks.
13297         * src/image.c (compute_image_size): Remove superfluous checks.
13299 2017-07-15  Lars Ingebrigtsen  <larsi@gnus.org>
13301         Make combinations of :width/:max-height image specs work reliably
13303         * doc/lispref/display.texi (ImageMagick Images): Document
13304         :width/:max-height combinations (etc) (bug #25583).
13306         * src/image.c (compute_image_size): Handle :width/:max-height
13307         (etc) combinations consistently (by letting "max" win and
13308         preserve ratio).
13310         * test/manual/image-size-tests.el (image-size-tests): Add
13311         tests for :width/:max-height (etc) combinations.
13313 2017-07-15  Glenn Morris  <rgm@gnu.org>
13315         Fix recent theme changes
13317         * etc/themes/manoj-dark-theme.el, etc/themes/tsdh-dark-theme.el:
13318         Fix typos in recent changes.
13320 2017-07-15  Paul Eggert  <eggert@cs.ucla.edu>
13322         GnuTLS integer-overflow and style fixes
13324         This tweaks the recently-added GnuTLS improvements so that
13325         they avoid some integer-overflow problems and follow typical
13326         Emacs style a bit better.
13327         * configure.ac (HAVE_GNUTLS3_HMAC, HAVE_GNUTLS3_AEAD)
13328         (HAVE_GNUTLS3_CIPHER): Use AC_CACHE_CHECK so that the
13329         configure-time results are displayed.
13330         * src/fns.c (extract_data_from_object): Return char *, not char
13331         const *, since one gnutls caller wants a non-const pointer.  Use
13332         CONSP rather than !NILP when testing for conses.  Use CAR_SAFE
13333         instead of rolling our own code.  Prefer signed types to unsigned
13334         when either will do.  Report problems for lengths out of range,
13335         instead of silently mishandling them.
13336         * src/gnutls.c (emacs_gnutls_strerror): New function, to simplify
13337         callers.  All callers of gnutls_sterror changed.
13338         (Fgnutls_boot): Check for integers out of range rather than
13339         silently truncating them.
13340         (gnutls_symmetric_aead): Check for integer overflow in size
13341         calculations.
13342         (gnutls_symmetric_aead, Fgnutls_macs, Fgnutls_digests):
13343         Prefer signed to unsigned integers where either will do.
13344         (gnutls_symmetric_aead, gnutls_symmetric):
13345         Work even if ptrdiff_t is wider than ‘long’.
13346         (gnutls_symmetric, Fgnutls_hash_mac, Fgnutls_hash_digest):
13347         Check for integer overflow in algorithm selection.
13349 2017-07-14  Noam Postavsky  <npostavs@gmail.com>
13351         * .gitlab-ci.yml: Don't install a C++ compiler.  Suppress apt interaction.
13353 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
13355         Fix the MS-Windows build due to added GnuTLS functions
13357         * src/gnutls.c [WINDOWSNT]: Add DEF_DLL_FN for new functions.
13358         (init_gnutls_functions) [WINDOWSNT]: Add LOAD_DLL_FN for new
13359         functions.  Add #define redirections for new functions.
13360         (gnutls_symmetric_aead): Fix format specs to be more portable when
13361         printing ptrdiff_t arguments.
13362         * src/fns.c (gnutls_rnd) [WINDOWSNT]: Redirect to w32_gnutls_rnd
13363         wrapper.
13364         * src/gnutls.h [WINDOWSNT]: Add prototype for w32_gnutls_rnd.
13366         * test/lisp/net/gnutls-tests.el (gnutls-tests-tested-macs)
13367         (gnutls-tests-tested-digests, gnutls-tests-tested-ciphers): Call
13368         gnutls-available-p, otherwise GnuTLS functions might not be loaded
13369         from the DLL on MS-Windows.
13371 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
13373         * lisp/emacs-lisp/bytecomp.el: Fix bug#14860.
13375         * lisp/emacs-lisp/bytecomp.el (byte-compile--function-signature): New fun.
13376         Dig into advice wrappers to find the "real" signature.
13377         (byte-compile-callargs-warn, byte-compile-arglist-warn): Use it.
13378         (byte-compile-arglist-signature): Don't bother with "new-style" arglists,
13379         since bytecode functions are now handled in byte-compile--function-signature.
13381         * lisp/files.el (create-file-buffer, insert-directory):
13382         Remove workaround introduced for (bug#14860).
13384         * lisp/help-fns.el (help-fns--analyse-function): `nadvice` is preloaded.
13386         * lisp/help.el (help-function-arglist):
13387         Dig into advice wrappers to find the "real" signature.
13389 2017-07-14  Ted Zlatanov  <tzz@lifelogs.com>
13391         GnuTLS HMAC and symmetric cipher support
13393             * etc/NEWS: Add news for new feature.
13395             * doc/lispref/text.texi (GnuTLS Cryptography): Add
13396             documentation.
13398             * configure.ac: Add macros HAVE_GNUTLS3_DIGEST,
13399             HAVE_GNUTLS3_CIPHER, HAVE_GNUTLS3_AEAD, HAVE_GNUTLS3_HMAC.
13401             * src/fns.c (Fsecure_hash_algorithms): Add function to list
13402             supported `secure-hash' algorithms.
13403             (extract_data_from_object): Add data extraction function that
13404             can operate on buffers and strings.
13405             (secure_hash): Use it.
13406             (Fsecure_hash): Mention `secure-hash-algorithms'.
13408             * src/gnutls.h: Include gnutls/crypto.h.
13410             * src/gnutls.c (Fgnutls_ciphers, gnutls_symmetric_aead)
13411             (gnutls_symmetric, Fgnutls_symmetric_encrypt, Fgnutls_symmetric_decrypt)
13412             (Fgnutls_macs, Fgnutls_digests, Fgnutls_hash_mac, Fgnutls_hash_digest)
13413             (Fgnutls_available_p): Implement GnuTLS cryptographic integration.
13415             * test/lisp/net/gnutls-tests.el: Add tests.
13417 2017-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
13419         * lisp/emacs-lisp/cl-lib.el (cl--random-time): Remove as well
13421         It's also defined in cl-extra.el.
13423 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
13425         Do not convert ij and IJ to compatibility chars
13427         * lisp/leim/quail/latin-alt.el: Omit lines for ij and IJ in Dutch.
13428         Problem reported by James Cloos (Bug#518#10).
13430 2017-07-14  Toon Claes  <toon@iotcl.com>
13432         Remove Turkish ligatures from Dutch input method
13434         * lisp/leim/quail/latin-alt.el: Remove Turkish ligatures (Bug#518).
13436 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
13438         Improve stack-overflow heuristic on GNU/Linux
13440         Problem reported by Steve Kemp (Bug#27585).
13441         * src/eval.c (near_C_stack_top): Remove.  All uses replaced
13442         by current_thread->stack_top.
13443         (record_in_backtrace): Set current_thread->stack_top.
13444         This is for when the Lisp interpreter calls itself.
13445         * src/lread.c (read1): Set current_thread->stack_top.
13446         This is for recursive s-expression reads.
13447         * src/print.c (print_object): Set current_thread->stack_top.
13448         This is for recursive s-expression printing.
13449         * src/thread.c (mark_one_thread): Get stack top first.
13450         * src/thread.h (struct thread_state.stack_top): Now void *, not char *.
13452 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
13454         Remove duplicate cl--random-state definition
13456         * lisp/emacs-lisp/cl-lib.el (cl--random-state): Remove.
13457         This variable is now defined in cl-extra.el (Bug#27617).
13459 2017-07-14  Michael Albinus  <michael.albinus@gmx.de>
13461         Adjust timer in tramp-test36-asynchronous-requests
13463         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
13464         Adjust timer if it takes too much time.
13466 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
13468         Always display rmail progress report under user control
13470         * lisp/mail/rmail.el (rmail-show-message-1): Delete the second
13471         copy of '(message "Showing message %d..." msg)'.  (Bug#27535)
13473 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
13475         Avoid byte-compilation warnings for advised functions
13477         * lisp/files.el (insert-directory, create-file-buffer): Add an
13478         advertised-calling-convention form to shut up byte-compilation
13479         warnings.  (Bug#14860)
13481 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
13483         Add assertion related to display-line-numbers
13485         * src/xdisp.c (maybe_produce_line_number): Add assertion for the
13486         condition regarding IT->glyph_row->used[TEXT_AREA] expected by the
13487         code.  (Bug#27668)
13489 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
13491         Prevent display corruption when display-line-numbers is set
13493         * src/xdisp.c (try_window_reusing_current_matrix): If giving up
13494         due to display-line-numbers, clear the window's desired glyph
13495         matrix before returning, as the following call to try_window will
13496         call display_line, which expects rows of the desired matrix
13497         cleared.  (Bug#27668)
13499 2017-07-14  Eli Zaretskii  <eliz@gnu.org>
13501         Revert "Use fixed-pitch font for display-line-numbers"
13503         This reverts commit d014a5e15c1110af77e7a96f06ccd0f0cafb099f.
13504         * lisp/faces.el (line-number): Don't use a fixed-pitch font, by
13505         popular demand.  For relevant discussions, see
13507          https://lists.gnu.org/r/emacs-devel/2017-07/msg00433.html
13508          https://lists.gnu.org/r/emacs-devel/2017-07/msg00445.html
13510 2017-07-14  Paul Eggert  <eggert@cs.ucla.edu>
13512         Merge from gnulib
13514         This incorporates:
13515         2017-07-13 Improve cross-compilation guesses for native Windows
13516         2017-07-11 More systematic m4 quoting and indentation
13517         2017-07-10 Make sure $host and $host_os are defined when used
13518         2017-07-03 stdioext: Port to OpenVMS
13519         2017-06-24 xalloc-oversized: port to icc
13520         * doc/misc/texinfo.tex, lib/fpending.c, lib/stdio-impl.h:
13521         * lib/xalloc-oversized.h, m4/dirfd.m4, m4/gettimeofday.m4:
13522         * m4/lstat.m4, m4/mktime.m4, m4/pselect.m4, m4/putenv.m4:
13523         * m4/stdint.m4, m4/strtoimax.m4, m4/utimes.m4:
13524         Copy from Gnulib.
13526 2017-07-13  Alan Mackenzie  <acm@muc.de>
13528         C++ Mode.  Fix anomaly occurring when a ">" is deleted then reinserted.
13530         This fontification anomaly happened because after deleting the ">",
13531         c-forward-<>-arglist parses the preceding identifier as a putative type but
13532         stores it in c-found-types before it becomes clear it is not an unambiguous
13533         type.  c-forward-<>-arglist fails, leaving the spurious type id in
13534         c-found-types.  Fix this by "binding" c-found-types "to itself" in
13535         c-forward-<>-arglist, and restoring the original value when that function call
13536         fails.
13538         * lisp/progmodes/cc-engine.el (c-copy-found-types): New function.
13539         (c-forward-<>-arglist): Record the original value of c-found-types at the
13540         beginning of the function, and restore it at the end on failure.
13542         * lisp/progmodes/cc-mode.el (c-unfind-coalesced-tokens): Rewrite more
13543         accurately.
13545 2017-07-13  Vincent Belaïche  <vincentb1@users.sourceforge.net>
13547         Add tests for SES, and fix one more cell renaming bug.
13549         * lisp/ses.el (ses-relocate-all): In case of insertion, do not
13550         relocate value for named cells as they keep the same symbol.
13551         (ses-rename-cell): Set new cell name symbol to cell value --- do not
13552         rely on recalculating.  Push cells with updated data --- cell name,
13553         cell reference list, or cell formula --- to deferred write list.
13555         * test/lisp/ses-tests.el: New file, with 7 tests for SES.
13557 2017-07-12  Alan Mackenzie  <acm@muc.de>
13559         Fix some bugs in c-defun-name.  This fixes bug #25623.
13561         * lisp/progmodes/cc-cmds.el (c-defun-name): Fix some bugs to do with structs,
13562         etc.
13564 2017-07-12  Vasilij Schneidermann  <mail@vasilij.de>
13566         Make prog-mode-map the parent of c-mode-base-map.  Fixes bug #26658.
13568         * lisp/progmodes/cc-mode.el (top level): Make prog-mode-map the parent of
13569         c-mode-base-map if possible.
13571 2017-07-12  Alan Mackenzie  <acm@muc.de>
13573         CC Mode: create and use c-set-keymap-parent.
13575         * lisp/progmodes/cc-defs.el (c-set-keymap-parent): New macro.
13577         * lisp/progmodes/cc-mode.el (top-level): Remove cc-bytecomp-defun for
13578         set-keymap-parents.
13579         (c-make-inherited-keymap): Use c-set-keymap-parent in place of inline code.
13581 2017-07-12  Martin Rudalics  <rudalics@gmx.at>
13583         Minor tweaks of new line number display variables
13585         * src/xdisp.c (Vdisplay_line_numbers): Tweak doc-string.
13586         (Vdisplay_line_number_width): Rename to
13587         Vdisplay_line_numbers_width.
13588         (maybe_produce_line_number): Comply with above rename.
13589         * lisp/cus-start.el (standard):
13590         * lisp/frame.el (top-level):
13591         * etc/NEWS: Comply with renaming of
13592         `display-line-number-width' to `display-line-numbers-width'.
13594 2017-07-12  Eli Zaretskii  <eliz@gnu.org>
13596         Avoid assertion violations in close_infile_unwind
13598         * src/lread.c (close_infile_unwind): A temporary band-aid solution
13599         for bug#27642: allow 'infile' be NULL.
13601 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
13603         Use fixed-pitch font for display-line-numbers
13605         * lisp/faces.el (line-number): Use a fixed-pitch font by default,
13606         even if the default face uses a variable-pitch font.  Reported by
13607         James Cloos <cloos@jhcloos.com>.
13609 2017-07-11  Eli Zaretskii  <eliz@gnu.org>
13611         Improve documentation of display-line-numbers
13613         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: Improve the
13614         doc string.  Suggested by Alex <agrambot@gmail.com>.
13616 2017-07-11  Nicolas Petton  <nicolas@petton.fr>
13618         Add an optional testfn parameter to assoc
13620         * src/fns.c (assoc): New optional testfn parameter used for comparison
13621         when provided.
13622         * test/src/fns-tests.el (test-assoc-testfn): Add tests for the new
13623         'testfn' parameter.
13624         * src/buffer.c:
13625         * src/coding.c:
13626         * src/dbusbind.c:
13627         * src/font.c:
13628         * src/fontset.c:
13629         * src/gfilenotify.c:
13630         * src/image.c:
13631         * src/keymap.c:
13632         * src/process.c:
13633         * src/w32fns.c:
13634         * src/w32font.c:
13635         * src/w32notify.c:
13636         * src/w32term.c:
13637         * src/xdisp.c:
13638         * src/xfont.c: Add a third argument to Fassoc calls.
13639         * etc/NEWS:
13640         * doc/lispref/lists.texi: Document the new 'testfn' parameter.
13642 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
13644         Use `with-demoted-errors' in Tramp
13646         * lisp/net/tramp.el (tramp-with-demoted-errors): New defmacro.
13648         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered): Use it.
13650 2017-07-10  Michael Albinus  <michael.albinus@gmx.de>
13652         Add Quick Start Guide to Tramp manual
13654         * doc/misc/tramp.texi: Use consequently "@value{tramp}" and
13655         "MS Windows".
13656         (Quick Start Guide): New node.
13658         * doc/misc/trampver.texi:
13659         * lisp/net/trampver.el: Change version to "2.3.3-pre".
13661 2017-07-10  Glenn Morris  <rgm@gnu.org>
13663         Fix failing module tests on GNU/Linux
13665         * test/src/emacs-module-tests.el
13666         (module--test-assertions--load-non-live-object)
13667         (module--test-assertions--call-emacs-from-gc):
13668         Avoid test failures due to backtraces.
13670 2017-07-10  Paul Eggert  <eggert@cs.ucla.edu>
13672         Fix core dump in substitute-object-in-subtree
13674         Without this fix, (substitute-object-in-subtree #0=(#0# 'a) 'a)
13675         would dump core, since the C code would recurse indefinitely through
13676         the infinite structure.  This patch adds an argument to the function,
13677         and renames it to lread--substitute-object-in-subtree as the function
13678         is not general-purpose and should not be relied on by outside code.
13679         See Bug#23660.
13680         * src/intervals.c (traverse_intervals_noorder): ARG is now void *,
13681         not Lisp_Object, so that callers need not cons unnecessarily.
13682         All callers changed.  Also, remove related #if-0 code that was
13683         “temporary” in the early 1990s and has not been compilable for
13684         some time.
13685         * src/lread.c (struct subst): New type, for substitution closure data.
13686         (seen_list): Remove this static var, as this info is now part of
13687         struct subst.  All uses removed.
13688         (Flread__substitute_object_in_subtree): Rename from
13689         Fsubstitute_object_in_subtree, and give it a 3rd arg so that it
13690         doesn’t dump core when called from the top level with an
13691         already-cyclic structure.  All callers changed.
13692         (SUBSTITUTE): Remove.  All callers expanded and then simplified.
13693         (substitute_object_recurse): Take a single argument SUBST rather
13694         than a pair OBJECT and PLACEHOLDER, so that its address can be
13695         passed around as part of a closure; this avoids the need for an
13696         AUTO_CONS call.  All callers changed.  If the COMPLETED component
13697         is t, treat every subobject as potentially circular.
13698         (substitute_in_interval): Take a struct subst * rather than a
13699         Lisp_Object, for the closure data.  All callers changed.
13700         * test/src/lread-tests.el (lread-lread--substitute-object-in-subtree):
13701         New test, to check that the core dump does not reoccur.
13703 2017-07-10  Philipp Stephani  <phst@google.com>
13705         Minor simplification of module_free_global_ref
13707         * src/emacs-module.c (module_free_global_ref): Remove unused variable
13708         'hashcode'.  Inline variable 'value' that's only used once.
13710 2017-07-10  Philipp Stephani  <phst@google.com>
13712         Re-add a useful assertion
13714         * src/emacs-module.c (module_free_global_ref): Re-add assertion that
13715         the reference count is zero.  This assertion was removed in commit
13716         8afaa1321f8088bfb877fe4b6676e8517adb0bb7, but it's not included in the
13717         test performed by XFASTINT before, because the previous reference
13718         count could have been zero already in the case of a buggy
13719         implementation.  This assertion might have detected Bug#27587.
13721 2017-07-10  Valentin Gatien-Baron  <vgatien-baron@janestreet.com>  (tiny change)
13723         Fix bug in module_free_global_ref (Bug#27587)
13725         * src/emacs-module.c (module_free_global_ref): Actually remove entry
13726         from hash table.
13728 2017-07-09  Philipp Stephani  <phst@google.com>
13730         Further improve electric quote support for Markdown (Bug#24709)
13732         Markdown sets both 'comment-start' and 'comment-use-syntax' to non-nil
13733         values.  Therefore 'electric-quote-mode' recognized it as a
13734         programming mode.  Fix this by first checking whether the current
13735         major mode is derived from 'text-mode'.
13737         * lisp/electric.el (electric-quote-post-self-insert-function): Treat
13738         'text-mode' as stronger signal than comment syntax.
13740         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
13741         (electric-quote-markdown-in-code): Adapt unit tests.
13743 2017-07-09  Philipp Stephani  <phst@google.com>
13745         Remove pointless code in 'electric-quote-mode'
13747         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
13748         pointless form.
13750 2017-07-09  Philipp Stephani  <phst@google.com>
13752         Refactor 'electric-quote-mode'
13754         * lisp/electric.el (electric-quote-post-self-insert-function): Remove
13755         local variable 'start', which was misnamed and only used once.
13757 2017-07-09  Saulius Menkevičius  <saulius.menkevicius@gmail.com>  (tiny change)
13759         Avoid crashes on MS-Windows starting 64-bit .NET executables
13761         * src/w32proc.c (w32_executable_type): Don't assume that the
13762         import directory in a DLL will always be non-NULL.  (Bug#27527)
13764 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
13766         Avoid compilation warning in files.el
13768         * lisp/files.el (auto-save-visited-file-name): Avoid obsoletion
13769         warning due to its use in auto-save-visited-mode.
13771 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
13773         Improve indexing of VC-related stuff in the Emacs manual
13775         * doc/emacs/maintaining.texi (Version Control): Add a "VC" index
13776         entry.  (Bug#27627)
13778 2017-07-09  Eli Zaretskii  <eliz@gnu.org>
13780         Speed up display of line numbers for very large buffers
13782         * src/xdisp.c (maybe_produce_line_number): Speed up line counting
13783         using values cached by mode-line display of line numbers.
13784         (Bug#27622)
13786 2017-07-09  Alexander Kuleshov  <kuleshovmail@gmail.com>
13788         Define internal_border_parts for window systems only (Bug#27615)
13790         * src/keyboard.c: (internal_border_parts): Define only
13791         when HAVE_WINDOW_SYSTEM is enabled.  (Bug#27615)
13793 2017-07-09  R. Bernstein  <rocky@gnu.org>
13795         Add realgud faces faces to whiteboard...
13797         Adjust wheatgrass to use underline for enabled/disabled breakpoints
13799 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
13801         Optimize UCS normalization tests
13803         Brings the the time for `ucs-normalize-part1' from 200s down to 130s.
13804         * test/lisp/international/ucs-normalize-tests.el
13805         (ucs-normalize-tests--parse-column): Use character instead of string
13806         of length 1 for terminator.  Convert return value into string since
13807         all callers need that form anyway.
13808         (ucs-normalize-tests--normalization-equal-p): Rename from
13809         ucs-normalize-tests--normalize.  Use dedicated buffer instead of
13810         messing with narrowing.  Take string to compare against and insert it
13811         into buffer so that compare-buffer-substrings can be used instead of
13812         allocating a new string from buffer contents.
13813         (ucs-normalize-tests--normalization-chareq-p): New macro, specialized
13814         for comparing single character.
13815         (ucs-normalize-tests--rule1-holds-p)
13816         (ucs-normalize-tests--rule2-holds-p): Turn into defsubst.
13817         (ucs-normalize-tests--rule1-failing-for-partX): Use `eq' instead of
13818         `='.
13820 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
13822         Update failing lines for UCS normalize tests
13824         * test/lisp/international/ucs-normalize-tests.el
13825         (ucs-normalize-tests--failing-lines-part2): Update for new
13826         admin/unidata/NormalizationTest.txt version.
13828 2017-07-08  Noam Postavsky  <npostavs@gmail.com>
13830         Semi-automate the procedure for updating UCS normalize test bad lines
13832         * test/lisp/international/ucs-normalize-tests.el: Remove incorrect
13833         commentary describing a manual procedure for producing the updated
13834         failing lines, it did not actually work.  Replace it with pointer to
13835         new function which prints the updated values.
13836         (ucs-normalize-tests--rule1-holds-p): Renamed from
13837         ucs-normalize-tests--invariants-hold-p.
13838         (ucs-normalize-tests--rule2-holds-p): Renamed from
13839         ucs-normalize-tests--invariants-rule2-hold-p.
13840         (ucs-normalize-tests--rule1-failing-for-partX): Renamed from
13841         ucs-normalize-tests--invariants-failing-for-part.
13842         (ucs-normalize-tests--rule1-failing-for-lines): Renamed from
13843         ucs-normalize-tests--invariants-failing-for-lines.
13844         (ucs-normalize-tests--part2-rule1-failed-lines): New variable.
13845         (ucs-normalize-part2): Set it.
13846         (ucs-normalize-part1): Always run through to end of test before
13847         checking for failures.
13848         (ucs-normalize-tests--insert-failing-lines)
13849         (ucs-normalize-check-failing-lines): New functions, used to update
13850         the *--failing-lines-part* variables.
13852 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
13854         * lisp/cus-start.el (standard): Spelling fix.
13856 2017-07-08  Philipp Stephani  <phst@google.com>
13858         Module assertions: check for garbage collections
13860         It's technically possible to write a user pointer finalizer that calls
13861         into Emacs module functions.  This would be disastrous because it
13862         would allow arbitrary Lisp code to run during garbage collection.
13863         Therefore extend the module assertions to check for this case.
13865         * src/emacs-module.c (module_assert_thread): Also check whether a
13866         garbage collection is in progress.
13868         * test/data/emacs-module/mod-test.c (invalid_finalizer)
13869         (Fmod_test_invalid_finalizer): New test module functions.
13870         (emacs_module_init): Register new test function.
13872         * test/src/emacs-module-tests.el (module--test-assertion)
13873         (module--with-temp-directory): New helper macros.
13874         (module--test-assertions--load-non-live-object): Rename existing
13875         unit test, use helper macros.
13876         (module--test-assertions--call-emacs-from-gc): New unit test.
13878 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
13880         Capitalize the menu entry for display-line-numbers
13882         * lisp/menu-bar.el (menu-bar-showhide-menu): Capitalize menu item
13883         for display-line-numbers.  Suggested by Martin Rudalics
13884         <rudalics@gmx.at>.
13886 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
13888         Update Unicode data and files to Unicode 10.0
13890         * admin/notes/unicode:
13891         * admin/unidata/README:
13892         * admin/unidata/BidiBrackets.txt:
13893         * admin/unidata/BidiMirroring.txt:
13894         * admin/unidata/Blocks.txt:
13895         * admin/unidata/IVD_Sequences.txt:
13896         * admin/unidata/NormalizationTest.txt:
13897         * admin/unidata/SpecialCasing.txt:
13898         * admin/unidata/UnicodeData.txt:
13899         * lisp/international/characters.el:
13900         * lisp/international/fontset.el (script-representative-chars):
13901         * lisp/international/mule-cmds.el (ucs-names): Update per Unicode 10.0.
13903 2017-07-08  Alexander Gramiak  <agrambot@gmail.com>
13905         Support '=' in Scheme and Lisp tags in 'etags'
13907         * lib-src/etags.c (get_lispy_tag): New function.
13908         (L_getit, Scheme_functions): Use get_lispy_tag (Bug#5624).
13909         * test/manual/etags/CTAGS.good:
13910         * test/manual/etags/ETAGS.good_1:
13911         * test/manual/etags/ETAGS.good_2:
13912         * test/manual/etags/ETAGS.good_3:
13913         * test/manual/etags/ETAGS.good_4:
13914         * test/manual/etags/ETAGS.good_5:
13915         * test/manual/etags/ETAGS.good_6:
13916         * test/manual/etags/Makefile:
13917         * test/manual/etags/el-src/TAGTEST.EL: Update tests.
13918         * test/manual/etags/scm-src/test.scm: New tests for Scheme.
13920 2017-07-08  Alexander Kuleshov  <kuleshovmail@gmail.com>
13922         Avoid compiler warnings in xdisp.c debugging code
13924         * src/xdisp.c (dump_glyph, dump_glyph_row, Fdump_glyph_matrix):
13925         Use pD directives for ptrdiff_t values instead of pI, to avoid
13926         compilation warnings on 64-bit hosts.  (Bug#27597)
13928 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
13930         Commentary enhancement in frame.el
13932         * lisp/frame.el: Explain how to test whether a variable needs to
13933         be added to the list of those which are watched for buffer
13934         redisplay.
13936 2017-07-08  Eli Zaretskii  <eliz@gnu.org>
13938         Support display of line numbers natively
13940         This merges branch 'line-numbers'.
13941         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
13942         function.
13943         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
13944         * src/dispextern.h (struct it): New members pt_lnum, lnum,
13945         lnum_bytepos, lnum_width, and lnum_pixel_width.
13946         * src/indent.c (line_number_display_width): New function,
13947         refactored from line-number width calculations in vertical-motion.
13948         (Fvertical_motion): Call line_number_display_width when the width
13949         of line-number display is needed.
13950         (Fline_number_display_width): New defun.
13951         (syms_of_indent): Defsubr it.
13952         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
13953         the width used up by line numbers by looking near the window-start
13954         point.  If window-start is outside of the accessible portion,
13955         temporarily widen the buffer.
13956         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
13957         space taken by the line-number display.
13958         * src/xdisp.c (display_count_lines_logically)
13959         (display_count_lines_visually, maybe_produce_line_number)
13960         (should_produce_line_number, row_text_area_empty): New functions.
13961         (try_window_reusing_current_matrix): Don't use this method when
13962         display-line-numbers is in effect.
13963         (try_window_id, try_cursor_movement): Disable these optimizations
13964         when the line-number-current-line face is different from
13965         line-number face and for relative line numbers.
13966         (try_window_id, redisplay_window, try_cursor_movement): For
13967         visual line-number display, disable the same redisplay
13968         optimizations as for relative.
13969         (x_produce_glyphs): Adjust tab stops for the horizontal
13970         space taken by the line-number display.
13971         (hscroll_window_tree): Adjust hscroll calculations to line-number
13972         display.
13973         (DISP_INFINITY): Renamed from INFINITY to avoid clashes with
13974         math.h; all users changed.
13975         (set_cursor_from_row): Fix calculation of cursor X coordinate in
13976         R2L rows with display-produced glyphs at the beginning.
13977         (display_line): Use should_produce_line_number to determine
13978         whether a line number should be produced for each glyph row, and
13979         maybe_produce_line_number to produce line numbers.
13980         Don't display line numbers in the minibuffer and in tooltip
13981         frames.
13982         Call row_text_area_empty to verify that a glyph
13983         row's text area is devoid of any glyphs that came from a buffer or
13984         a string.  This fixes a bug with empty-lines indication
13985         disappearing when line numbers or line-prefix are displayed.
13986         (syms_of_xdisp) <display-line-numbers, display-line-numbers-widen>
13987         <display-line-number-width>: New buffer-local variables.
13988         <display-line-numbers-current-absolute>: New variable.
13990         * lisp/cus-start.el (standard): Provide customization forms for
13991         display-line-numbers and its sub-features.
13992         * lisp/faces.el (line-number, line-number-current-line): New faces.
13993         * lisp/frame.el: Add display-line-numbers, display-line-numbers-widen,
13994         display-line-numbers-current-absolute, and
13995         display-line-number-width to the list of variables that should
13996         trigger redisplay of the current buffer.
13997         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
13998         turn display-line-numbers on and off.
13999         (toggle-display-line-numbers): New function.
14000         * lisp/simple.el (last--line-number-width): New internal variable.
14001         (line-move-visual): Use it to adjust temporary-goal-column when
14002         line-number display changes its width.
14004         * doc/emacs/basic.texi (Position Info): Add cross-reference to
14005         "Display Custom", for line-number display.
14006         * doc/emacs/custom.texi (Init Rebinding):
14007         * doc/emacs/modes.texi (Minor Modes): Remove references to
14008         linum-mode.
14009         * doc/emacs/display.texi (Display Custom): Describe the
14010         line-number display.
14011         * doc/lispref/display.texi (Size of Displayed Text): Document
14012         line-number-display-width.
14014         * etc/NEWS: Document display-line-numbers and its customizations.
14016 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
14018         Fix more ungetc bugs with encoding errors
14020         * src/lread.c (infile): New variable, replacing ...
14021         (instream): ... this.  All uses changed.
14022         (readbyte_from_stdio): New function, which deals with lookahead.
14023         (readbyte_from_file, Fget_file_char): Use it.
14024         (Fget_file_char): When misused, signal an error instead of
14025         relying on undefined behavior.
14026         (close_infile_unwind): New function.
14027         (Fload): Use it.
14028         (readevalloop): 2nd arg is now struct infile *, not FILE *.
14029         All callers changed.
14030         (read1): Handle lookahead when copying doc strings with
14031         encoding errors.
14033 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
14035         Avoid ungetc when loading charset maps from files
14037         * src/charset.c (read_hex): New args LOOKAHEAD and TERMINATOR,
14038         replacing the old EOF.  All callers changed.  This avoids the
14039         need to call ungetc.
14041 2017-07-08  Paul Eggert  <eggert@cs.ucla.edu>
14043         Fix ungetc bug when reading an encoding error
14045         * src/lread.c (readchar, read_emacs_mule_char): Fix off-by-one
14046         error when reading an encoding error from a file, e.g., a symbol
14047         in an .elc file whose name is "\360\220\200\360".
14049 2017-07-07  Stefan Monnier  <monnier@iro.umontreal.ca>
14051         * lisp/wid-edit.el (widget-color--choose-action): Use a closure
14053         * lisp/window.el (display-buffer--special-action): Use a closure.
14055 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
14057         Add new todo-mode.el tests
14059         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
14060         Declare an Edebug spec.  Restore pre-test-run state of test files.
14061         (todo-test--show, todo-test--move-item)
14062         (todo-test--insert-item): New functions.
14063         (todo-test-get-archive): Remove, as subsumed by
14064         todo-test--show.  Adjust all callers.
14065         (todo-test--is-current-buffer): Rename from
14066         todo-test-is-current-buffer and adjust uses.
14067         (todo-test-item-highlighting): Use todo-test--show.
14068         (todo-test-revert-buffer01, todo-test-revert-buffer02)
14069         (todo-test-raise-lower-priority)
14070         (todo-test-todo-mark-unmark-category, todo-test-move-item01)
14071         (todo-test-move-item02, todo-test-move-item03)
14072         (todo-test-move-item04, todo-test-move-item05)
14073         (todo-test-toggle-item-header01)
14074         (todo-test-toggle-item-header02)
14075         (todo-test-toggle-item-header03)
14076         (todo-test-toggle-item-header04)
14077         (todo-test-toggle-item-header05)
14078         (todo-test-toggle-item-header06)
14079         (todo-test-toggle-item-header07): New tests.
14081         * test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
14082         * test/lisp/calendar/todo-mode-resources/todo-test-1.todo:
14083         Modify to accommodate new tests.
14085 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
14087         todo-mode.el: Fix handling of hidden item headers (bug#27609)
14089         * lisp/calendar/todo-mode.el (todo--item-headers-hidden): New variable.
14090         (todo-toggle-item-header): Use it.  Make this command a noop
14091         if the file has no items.
14092         (todo-move-item, todo-item-done): Instead of concatenating the
14093         items to move into one string, make a list of them to
14094         facilitate handling hidden headers.  Adjust insertion accordingly.
14095         (todo-archive-done-item): Handle hidden headers in archive file.
14096         (todo-unarchive-items): Handle hidden headers in todo file.
14097         (todo-backward-item): Use todo--item-headers-hidden and handle
14098         moving backward work when item date-time headers are hidden.
14099         (todo-remove-item): Delete date-time header overlay.
14100         (todo-get-overlay, todo-insert-with-overlays): Make them work
14101         with hidden date-time headers.
14102         (todo-modes-set-2): Make todo--item-headers-hidden buffer local.
14104 2017-07-07  Stephen Berman  <stephen.berman@gmx.net>
14106         Fix several todo-mode bugs found while debugging bug#27609
14108         * lisp/calendar/todo-mode.el (todo-toggle-mark-item): Calculate
14109         current category only once.
14110         (todo-mark-category): Update number of marked items to avoid
14111         spurious duplication in todo-categories-with-marks alist and
14112         corruption of the todo-categories alist.  Handle empty line
14113         when there are no todo items and done items are shown.
14114         (todo-set-item-priority): Make noop if called from
14115         todo-raise-item-priority or todo-lower-item-priority when
14116         point is on a done todo item or an empty line.
14117         (todo-move-item): Use markers instead of integer positions to
14118         correctly handle deleting the now moved items from the source
14119         category (without markers an infinite loop arises when moving
14120         marked item to a preceding category).
14121         (todo-unarchive-items): Put point on the (first) restored done
14122         item, instead of leaving it at the end of the done items
14123         separator string.
14124         (todo-revert-buffer): Ensure buffer remains read-only after
14125         reverting.
14127 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
14129         Exclude blank columns from value of line-number-display-width
14131         * src/indent.c (Fline_number_display_width): Don't add 2 to the
14132         number of columns we return, to make this consistent with
14133         display-line-number-width.
14135 2017-07-07  Eli Zaretskii  <eliz@gnu.org>
14137         Fix vertical-motion across the place where line-number width changes
14139         * src/indent.c (line_number_display_width): New function,
14140         refactored from line-number width calculations in vertical-motion.
14141         (Fvertical_motion): Call line_number_display_width when the width
14142         of line-number display is needed.
14143         (Fline_number_display_width): New defun.
14144         (syms_of_indent): Defsubr it.
14146         * doc/lispref/display.texi (Size of Displayed Text): Document
14147         line-number-display-width.
14149         * etc/NEWS: Mention line-number-display-width.
14151         * lisp/simple.el (last--line-number-width): New internal variable.
14152         (line-move-visual): Use it to adjust temporary-goal-column when
14153         line-number display changes its width.
14155 2017-07-07  Martin Rudalics  <rudalics@gmx.at>
14157         Remove Vwindow_text_change_functions and related code
14159         Vwindow_text_change_functions had been provided for implementing
14160         line numbers but apparently was never functional or in use.
14162         * src/xdisp.c (redisplay_window): Remove handling of
14163         Vwindow_text_change_functions.
14164         (syms_of_xdisp): Remove Qwindow_text_change_functions.
14165         (Vwindow_text_change_functions): Remove variable.
14166         * doc/lispref/hooks.texi (Standard Hooks): Remove entry for
14167         `window-text-change-functions'.
14169 2017-07-07  Mark Oteiza  <mvoteiza@udel.edu>
14171         Convert more uses of looking-at to following-char
14173         More followup to Karl Fogel's commit a84da83c1.
14174         * lisp/dired-aux.el (dired-add-entry, dired-subdir-hidden-p):
14175         * lisp/dired-x.el (dired-mark-unmarked-files, dired-mark-sexp):
14176         * lisp/help-fns.el (doc-file-to-man, doc-file-to-info):
14177         * lisp/proced.el (proced-toggle-marks):
14178         * lisp/progmodes/f90.el (f90-indent-line):
14179         * lisp/ses.el (ses-load):
14180         * lisp/tar-mode.el (tar-expunge): Replace instances of looking-at with
14181         char comparisons using following-char.
14183 2017-07-07  Noam Postavsky  <npostavs@gmail.com>
14185         Don't skip epg tests (Bug#23561)
14187         * test/lisp/epg-tests.el (with-epg-tests): Ignore REQUIRE-PASSPHRASE
14188         parameter, since we supply the passphrase via pinentry-program for all
14189         GPG versions (as of 2017-02-28 "Fix epg-tests with dummy-pinentry
14190         program (Bug#23619)").
14191         (epg-tests-program-alist-for-passphrase-callback): Remove.
14193 2017-07-06  Eli Zaretskii  <eliz@gnu.org>
14195         Implement line numbers that disregard narrowing
14197         * src/xdisp.c (display_count_lines_logically): New function,
14198         counts line numbers disregarding narrowing.  Suggested by Andy
14199         Moreton <andrewjmoreton@gmail.com>.
14200         (maybe_produce_line_number): Call display_count_lines_logically
14201         instead of display_count_lines.  Adapt BEGV, ZV, etc. to
14202         display-line-numbers-widen.
14203         (syms_of_xdisp) <display-line-numbers-widen>: New buffer-local
14204         variable.
14206         * lisp/cus-start.el (standard): Provide a customization form for
14207         display-line-numbers-widen.
14208         * lisp/frame.el: Add display-line-numbers-widen,
14209         display-line-numbers-current-absolute, and
14210         display-line-number-width to the list of variables that should
14211         trigger redisplay of the current buffer.
14213         * doc/emacs/display.texi (Display Custom): Document
14214         display-line-numbers-widen.
14216 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
14218         Fix lisp-comment-indent for single-semicolon case
14220         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): Only check for
14221         open paren if we're looking at multiple comment characters.
14222         * test/lisp/emacs-lisp/lisp-mode-tests.el (lisp-comment-indent-1)
14223         (lisp-comment-indent-2): New tests.
14225 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14227         Spelling fixes
14229         * lisp/org/org-table.el (org-table-sort-lines):
14230         Fix misspelling in prompt.
14231         * lisp/org/ox-ascii.el (org-ascii--describe-datum):
14232         Fix misspelling in call to org-element-lineage.
14234 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
14236         Don't put whitespace between open paren and comment in Lisp modes (Bug#19740)
14238         * lisp/emacs-lisp/lisp-mode.el (lisp-comment-indent): If current
14239         line's code ends in open paren, set comment indentation exactly to
14240         column following it.
14241         (lisp-mode-variables): Set `comment-indent-function' to
14242         `lisp-comment-indent'.
14244 2017-07-06  Noam Postavsky  <npostavs@gmail.com>
14246         Allow comment-indent-functions to specify exact indentation (Bug#385)
14248         * lisp/newcomment.el (comment-choose-indent): Interpret a cons of two
14249         integers as indicating a range of acceptable indentation.
14250         (comment-indent): Don't apply `comment-inline-offset',
14251         `comment-choose-indent' already does that.
14252         (comment-indent-function):
14253         * doc/emacs/programs.texi (Options for Comments): Document new
14254         acceptable return values.
14255         * etc/NEWS: Announce it.
14257 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14259         Check for integer overflow in xbm images
14261         * src/image.c (XBM_TK_OVERFLOW): New constant.
14262         (xbm_scan): Check for integer overflow instead of relying on
14263         undefined behavior.  Check that octal digits are actually octal.
14265 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14267         Convert hex digits more systematically
14269         This makes the code a bit smaller and presumably faster, as
14270         it substitutes a single lookup for conditional jumps.
14271         * src/character.c (hexdigit): New constant.
14272         (syms_of_character) [HEXDIGIT_IS_CONST]: Initialize it.
14273         * src/character.h (HEXDIGIT_CONST, HEXDIGIT_IS_CONST): New macros.
14274         (hexdigit): New decl.
14275         (char_hexdigit): New inline function.
14276         * src/charset.c: Do not include c-ctype.h.
14277         * src/charset.c (read_hex):
14278         * src/editfns.c (styled_format):
14279         * src/image.c (xbm_scan):
14280         * src/lread.c (read_escape):
14281         * src/regex.c (ISXDIGIT) [emacs]:
14282         Use char_hexdigit insted of doing it by hand.
14284 2017-07-06  Paul Eggert  <eggert@cs.ucla.edu>
14286         Don’t use -Woverride-init
14288         I have some further changes in mind that would also need to
14289         disable the -Woverride-init warnings.  In practice these warnings
14290         seem to be more trouble than they’re worth, so disable them in the
14291         cc command line.
14292         * configure.ac: Disable -Woverride-init here ...
14293         * src/bytecode.c: ... rather than here.
14295 2017-07-05  Glenn Morris  <rgm@gnu.org>
14297         * lisp/progmodes/python.el (auto-mode-alist): Add .pyi.  (Bug#27847)
14299         * lisp/org/ox-html.el (org-html-infojs-template): Update copyright.
14301 2017-07-05  Glenn Morris  <rgm@gnu.org>
14303         Small fix for bug-reference.el
14305         * lisp/progmodes/bug-reference.el (bug-reference-bug-regexp):
14306         Autoload safety property.  (Bug#27481)
14308 2017-07-05  Michael Albinus  <michael.albinus@gmx.de>
14310         Suppress timers in Tramp
14312         * lisp/net/tramp.el (tramp-file-name-handler): Don't trigger timers.
14314         * test/lisp/net/tramp-tests.el
14315         (tramp-test36-asynchronous-requests): Trigger timers.
14316         (tramp-test37-recursive-load, tramp-test38-remote-load-path):
14317         Set `default-directory' to a trustworthy value.
14319 2017-07-05  rocky  <rb@dustyfeet.com>
14321         Add realgud face definitions
14323         Add realgud faces to tdsh-dark-theme
14325 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14327         * lisp/progmodes/cc-awk.el: Mark unused args
14329         * lisp/progmodes/cc-bytecomp.el: Mark unused args
14331 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14333         * lisp/progmodes/cc-defs.el (lookup-syntax-properties): Move ...
14335         ... before first use
14337 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14339         * lisp/progmodes/cc-vars.el: Mark unused args
14341 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14343         * lisp/progmodes/cc-langs.el: Mark unused args
14345         (c-primary-expr-regexp): Remove unused vars ambiguous-prefix-ops and
14346         unambiguous-prefix-ops.
14348 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14350         * lisp/progmodes/cc-engine.el: Mark unused args
14352         (c-beginning-of-statement-1, c-guess-basic-syntax):
14353         Remove unused var c-in-literal-cache.
14354         (c-debug-sws-msg): Silence byte-compiler, even if we don't use the arg.
14355         (c-append-to-state-cache): Remove unused var `bra+1s'.
14356         (c-remove-stale-state-cache): Remove unused var `pps-point-state'.
14357         (c-invalidate-state-cache-1): Remove unused var `pa'.
14358         (c-forward-decl-or-cast-1): Change comments so they don't look like
14359         outline headers.
14360         (c-restricted-<>-arglists, c-parse-and-markup-<>-arglists):
14361         Declare before first use.
14362         (c-forward-decl-or-cast-1): Remove unused var `backup-kwd-sym'.
14363         (c-backward-over-enum-header): Remove unused var `up-sexp-pos'.
14365 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14367         * lisp/progmodes/cc-cmds.el: Remove unused vars
14369         (c-syntactic-context): Declare as dynbound.
14370         (c-beginning-of-defun, c-end-of-defun): Remove unused var `start'.
14372 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14374         * lisp/progmodes/cc-guess.el: Remove unused var
14376         (c-guess-view-reorder-offsets-alist-in-style): Remove redundantly bound
14377         and computed variable `guessed-syntactic-symbols'.
14379 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14381         * lisp/progmodes/cc-align.el: Mark unused arguments
14383 2017-07-05  Stefan Monnier  <monnier@iro.umontreal.ca>
14385         * lisp/progmodes/cc-mode.el: Mark unused arguments
14387         (c-parse-quotes-before-change, c-parse-quotes-after-change):
14388         Remove unused vars.
14390 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
14392         Mention `ffap-url-unwrap-local' in find-file-at-point's docstring (Bug#27564)
14394         * lisp/ffap.el (find-file-at-point): Mention `ffap-url-unwrap-local'
14395         and `ffap-url-unwrap-remote'.
14397 2017-07-05  Noam Postavsky  <npostavs@gmail.com>
14399         Fix infloop in uncomment-region-default (Bug#27112)
14401         When `comment-continue' has only blanks, `comment-padright' produces a
14402         regexp that matches the empty string, so `uncomment-region-default'
14403         will loop infinitely.
14404         * lisp/newcomment.el (comment-padright): Only return a regexp if STR
14405         has nonblank characters.
14407 2017-07-04  Eli Zaretskii  <eliz@gnu.org>
14409         Fix display of current line number in visual mode
14411         * src/xdisp.c (maybe_produce_line_number): Fix visual-mode display
14412         of current line when line-number-current-line face was customized.
14413         Reported by Filipe Silva <filipe.silva@gmail.com>.
14415 2017-07-03  Philipp Stephani  <phst@google.com>
14417         Use hook instead of face list to inhibit electric quoting
14419         This is more flexible and doesn't couple electric quoting to font
14420         locking.
14421         Give that 'electric-quote-code-faces' was just introduced, remove it
14422         without formal deprecation.
14424         * lisp/electric.el (electric-quote-inhibit-functions): New abnormal
14425         hook variable.
14426         (electric-quote-post-self-insert-function): Run the hook.  Remove
14427         use of old 'electric-quote-code-faces' variable.
14429         * test/lisp/electric-tests.el (electric-quote-markdown-in-text)
14430         (electric-quote-markdown-in-code): Adapt unit tests.
14432 2017-07-03  Ingo Lohmar  <i.lohmar@gmail.com>
14434         Offer non-aligned indentation in lists in js-mode (Bug#27503)
14436         * lisp/progmodes/js.el (js--proper-indentation):
14437         New customization option 'js-indent-align-list-continuation'.
14438         Affects argument lists as well as arrays and object properties.
14439         * test/manual/indent/js-indent-align-list-continuation-nil.js:
14440         Test the change.
14442 2017-07-03  Eli Zaretskii  <eliz@gnu.org>
14444         Avoid errors in vertical-motion when buffer is narrowed
14446         * src/indent.c (Fvertical_motion): If need to start from
14447         window-start, and it is outside of the accessible portion,
14448         temporarily widen the buffer.  This avoids errors in evil-mode.
14449         Reported by James Nguyen <james@jojojames.com>.
14451 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
14453         (Re-)activate remote tests of filenotify-tests.el
14455         * test/lisp/filenotify-tests.el
14456         (file-notify-test-remote-temporary-file-directory):
14457         Declare default host for mock method.  Offer home directory
14458         for mock method if it doesn't exist.
14459         (file-notify-test09-watched-file-in-watched-dir-remote):
14460         Remove, it doesn't work reliably.
14462 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
14464         Reset ansi escape context before printing eshell prompt (Bug#27407)
14466         * lisp/eshell/em-prompt.el (eshell-emit-prompt): Reset
14467         `ansi-color-context-region'.
14469 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
14471         Let ansi-color overlay hooks work in eshell (Bug#27407)
14473         * lisp/ansi-color.el (ansi-color-make-extent): Add
14474         `ansi-color-freeze-overlay' to `insert-behind-hooks' as well.
14475         * lisp/eshell/esh-mode.el (eshell-output-filter): Let-bind
14476         `inhibit-modification-hooks' to nil while inserting the string.
14478 2017-07-03  Noam Postavsky  <npostavs@gmail.com>
14480         Fix and simplify ansi escape detection (Bug#21381)
14482         * lisp/ansi-color.el (ansi-color-regexp, ansi-color-drop-regexp):
14483         Remove.
14484         (ansi-color-control-seq-regexp): New constant, matches all escape
14485         sequences.
14486         (ansi-color-filter-apply, ansi-color-apply)
14487         (ansi-color-filter-region, ansi-color-apply-on-region): Use it instead
14488         of matching color sequences separately from ignored sequences.
14489         Differentiate color sequences simply by checking the last character.
14491 2017-07-03  Damien Cassou  <damien@cassou.me>
14493         Add absolute optional parameter to line-number-at-pos (Bug#26417)
14495         * lisp/simple.el (line-number-at-pos): Add a second optional
14496           argument 'absolute'.
14497         * test/lisp/simple-tests.el: Add tests for 'line-number-at-pos'.
14499 2017-07-03  R. Bernstein  <rocky@gnu.org>
14501         Add realgud faces
14503 2017-07-03  Michael Albinus  <michael.albinus@gmx.de>
14505         Fix tramp-tests.el for hydra
14507         * test/Makefile.in: Remove instrumentation for tramp-tests.
14509         * test/lisp/net/tramp-tests.el (tramp-test36-asynchronous-requests):
14510         Remove instrumentation.  Wrap with a timeout.  Give hydra
14511         another timer value.  Set `default-directory' in timer.
14513 2017-07-03  Bastien  <bzg@gnu.org>
14515         Merge branch 'master' into scratch/org-mode-merge
14517         Merge branch 'master' into scratch/org-mode-merge
14519 2017-07-03  Tino Calancha  <tino.calancha@gmail.com>
14521         dired-do-shell-command: Fix check for wildcards
14523         * lisp/dired-aux.el (dired-do-shell-command): Replace just '?', '*'
14524         and '`?' i.e., keep the whitespaces.
14525         * test/lisp/dired-aux-tests.el (dired-test-bug27496): Add test.
14527 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
14529         Split shr-copy-url dwim behavior into separate functions (Bug#26826)
14531         * lisp/net/shr.el (shr-url-at-point, shr-probe-url)
14532         (shr-probe-and-copy-url, shr-maybe-probe-and-copy-url): New functions,
14533         split out from `shr-copy-url'.
14534         (shr-copy-url): Only copy the url, don't fetch it.
14535         (shr-map): Bind 'w' and 'u' to `shr-maybe-probe-and-copy-url', which
14536         has the same behavior as the old `shr-copy-url'.
14537         * etc/NEWS: Announce changes.
14539 2017-07-02  Alex Branham  <branham@utexas.edu>  (tiny change)
14541         Make eww-search-words prompt for query if nothing selected
14543         * lisp/net/eww.el (eww-search-words): Make eww-search-words prompt the
14544         user for a search query if the region is inactive or if the region is
14545         just whitespace.
14547 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
14549         * lisp/emacs-lisp/cl-print.el (cl-print-compiled-button): t by default.
14551         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace):
14552         * lisp/help-fns.el (describe-variable): No need to let-bind
14553         `cl-print-compiled-button' to t anymore.
14555 2017-07-02  Philipp Stephani  <phst@google.com>
14557         Electric quotes: Improve support for Markdown mode (Bug#24709)
14559         Introduce a new user option 'electric-quote-context-sensitive'.  If
14560         non-nil, have ' insert an opening quote if sensible.
14562         Also introduce a new variable 'electric-quote-code-faces'.  Major
14563         modes such as 'markdown-mode' can add faces to this list to treat text
14564         as inline code and disable electric quoting.
14566         * lisp/electric.el (electric-quote-context-sensitive): New user
14567         option.
14568         (electric-quote-code-faces): New variable.
14569         (electric-quote-post-self-insert-function): Treat ' as ` if
14570         desired and applicable; disable electric quoting for given faces.
14572         * test/lisp/electric-tests.el (electric-quote-opening-single)
14573         (electric-quote-closing-single, electric-quote-opening-double)
14574         (electric-quote-closing-double)
14575         (electric-quote-context-sensitive-backtick)
14576         (electric-quote-context-sensitive-bob-single)
14577         (electric-quote-context-sensitive-bob-double)
14578         (electric-quote-context-sensitive-bol-single)
14579         (electric-quote-context-sensitive-bol-double)
14580         (electric-quote-context-sensitive-after-space-single)
14581         (electric-quote-context-sensitive-after-space-double)
14582         (electric-quote-context-sensitive-after-letter-single)
14583         (electric-quote-context-sensitive-after-letter-double)
14584         (electric-quote-context-sensitive-after-paren-single)
14585         (electric-quote-context-sensitive-after-paren-double)
14586         (electric-quote-markdown-in-text)
14587         (electric-quote-markdown-in-code): New unit tests.
14589 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
14591         * doc/misc/tramp.texi: Replace ftp:// and http:// URLs by https://.
14593 2017-07-02  Eli Zaretskii  <eliz@gnu.org>
14595         Avoid off-by-one errors in column C-n/C-p calculations
14597         * src/indent.c (Fvertical_motion): Help C-n/C-p estimate correctly
14598         the width used up by line numbers by looking near the window-start
14599         point.
14601 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
14603         Ask confirmation for all suspicious wildcards
14605         * lisp/dired-aux.el (dired-do-shell-command): Check that all
14606         the wildcards are right.  Otherwise, ask for confirmation (Bug#27496).
14608 2017-07-02  Tino Calancha  <tino.calancha@gmail.com>
14610         Extend dired-do-shell-command substitutions
14612         Substitute "`?`" inside command with the current file name.
14613         See details in:
14614         https://lists.gnu.org/r/emacs-devel/2017-06/msg00618.html
14615         * lisp/dired-aux.el (dired-quark-subst-regexp, dired-star-subst-regexp):
14616         Mark as obsolete.
14617         (dired-isolated-string-re): New defun.
14618         (dired--star-or-qmark-p): New predicate.
14619         (dired-do-shell-command): Use dired--star-or-qmark-p.  Substitute "`?`"
14620         with the current file name.
14621         * doc/emacs/dired.texi (Shell Commands in Dired): Update manual.
14623 2017-07-02  Alan Mackenzie  <acm@muc.de>
14625         Fix bug in yesterday's CC Mode commit.
14627         * lisp/progmodes/cc-mode.el (c-quoted-number-head-before-point): Check a
14628         search has succeded before using the match data.
14629         (c-quoted-number-head-before-point, c-quoted-number-head-after-point):
14630         Specify that the position of the extremity of the head or tail is in the
14631         match data.
14633 2017-07-02  Philipp Stephani  <phst@google.com>
14635         Remove FIXME comments about sentinel values
14637         These FIXMEs can't be addressed because they would require breaking
14638         changes to the module API.  Furthermore, other module functions don't
14639         return sentinel values as well, so users generally have to call
14640         non_local_exit_check anyway.
14642         * src/emacs-module.c (module_set_user_ptr)
14643         (module_set_user_finalizer, module_vec_set, module_vec_size): Remove
14644         FIXME comments.
14646 2017-07-02  Philipp Stephani  <phst@google.com>
14648         Adapt Lisp reference to reader changes
14650         The reader now warns about some unescaped character literals, but
14651         still allows them for compatibility reasons.  Slightly adapt the
14652         manual to forbid them officially.
14654         * doc/lispref/objects.texi (Basic Char Syntax): Document that
14655         backslashes are now required before some characters.
14657 2017-07-02  Michael Albinus  <michael.albinus@gmx.de>
14659         Fix Bug#27502
14661         * lisp/autorevert.el (auto-revert-find-file-function): New defun.
14662         (find-file-hook): Use it.  (Bug#27502)
14663         (auto-revert-remove-current-buffer): New defun.
14664         (auto-revert-mode, auto-revert-buffers): Use it.
14666 2017-07-02  Noam Postavsky  <npostavs@gmail.com>
14668         Let test summary go through even if some logs were not generated
14670         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit): Check
14671         for existence of log files before reading.
14673 2017-07-01  Philipp Stephani  <phst@google.com>
14675         * src/module-env-25.h (copy_string_contents): Fix comment.
14677 2017-07-01  Philipp Stephani  <phst@google.com>
14679         Also mark module init function as noexcept if possible
14681         * src/emacs-module.h.in (emacs_module_init): Mark as noexcept if
14682         possible.
14684 2017-07-01  Philipp Stephani  <phst@google.com>
14686         Improve C++98 compatibility
14688         * src/emacs-module.h.in (emacs_funcall_exit): Lose trailing comma.
14689         C++98 doesn't allow trailing commas in enumerations.
14691 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
14693         Minor copyedits of manuals regarding bidi conformance
14695         * doc/emacs/mule.texi (Bidirectional Editing):
14696         * doc/lispref/display.texi (Bidirectional Display): Update the
14697         bidi conformance text.
14699 2017-07-01  Alan Mackenzie  <acm@muc.de>
14701         Make C++ digit separators work.  Amend the handling of single quotes generally
14703         Single quotes, even in strings and comments, are now marked with the
14704         "punctuation" syntax-table property, except where they are validly bounding a
14705         character literal.  They are font locked with font-lock-warning-face except
14706         where they are valid.  This is done in C, C++, ObjC, and Java Modes.
14708         * lisp/progmodes/cc-defs.el (c-clear-char-property-with-value-on-char-function)
14709         (c-clear-char-property-with-value-on-char, c-put-char-properties-on-char): New
14710         functions/macros.
14712         * lisp/progmodes/cc-fonts.el (c-font-lock-invalid-single-quotes): New function.
14713         (c-basic-matchers-before): invoke c-font-lock-invalid-single-quotes.
14715         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Remove
14716         c-before-after-change-digit-quote from wherever it occurs.  Insert
14717         c-parse-quotes-before-change into the entries for the languages where it is
14718         needed.
14719         (c-before-font-lock-functions): Remove c-before-after-change-digit-quote from
14720         wherever it occurs.  Insert c-parse-quotes-after-change into the entries for
14721         the languages which need it.
14722         (c-has-quoted-numbers): New lang-defconst/-defvar.
14724         * lisp/progmodes/cc-mode.el (c-before-after-change-digit-quote): Remove.
14725         (c-maybe-quoted-number-head, c-maybe-quoted-number-tail)
14726         (c-maybe-quoted-number): New defconsts.
14727         (c-quoted-number-head-before-point, c-quoted-number-tail-after-point)
14728         (c-quoted-number-straddling-point, c-parse-quotes-before-change)
14729         (c-parse-quotes-after-change): New functions.
14731 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
14733         Ignore mouse-movement for describe-key-briefly (Bug#12204)
14735         * lisp/help.el (help-read-key-sequence): Add optional argument ot
14736         ignore `mouse-movement' events.
14737         (describe-key-briefly): Use it.
14738         * doc/emacs/help.texi (Key Help):
14739         * etc/NEWS: Mention that mouse movement is ignored.
14741 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
14743         Refactor key describing commands
14745         * lisp/help.el (help-read-key-sequence, help--analyze-key): New
14746         functions, extracted from `describe-key' and `describe-key-briefly'.
14747         (describe-key, describe-key-briefly): Use them.
14749 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
14751         Improve display of tabs with line numbers
14753         * src/xdisp.c (x_produce_glyphs): Improve calculation of next tab
14754         stop in hscrolled lines.  Prevent aborts in compute_line_metrics.
14756 2017-07-01  Alan Third  <alan@idiocy.org>
14758         Fix threads on NS (bug#25265)
14760         src/nsterm.h (ns_select): Compiler doesn't like sigmask being const.
14761         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
14762         src/nsterm.m (ns_select): Call thread_select from within ns_select.
14763         (ns_run_loop_break) [HAVE_PTHREAD]: New function.
14764         (ns_send_appdefined): Don't wait for main thread when sending app
14765         defined event.
14766         src/process.c (wait_reading_process_output): Call thread_select from
14767         within ns_select.
14768         src/systhread.c (sys_cond_broadcast) [HAVE_NS]: Break ns_select out of
14769         its event loop using ns_run_loop_break.
14771 2017-07-01  Eli Zaretskii  <eliz@gnu.org>
14773         Avoid slow redisplay under 'visual' mode of line numbers
14775         * src/xdisp.c (display_count_lines_visually): Avoid very slow
14776         redisplay when this function is invoked very far from point.
14777         Reported by Alex <agrambot@gmail.com>.
14779 2017-07-01  Noam Postavsky  <npostavs@gmail.com>
14781         * lisp/help-fns.el (describe-variable): Let-bind cl-print-compiled-button.
14783 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
14785         * lisp/emacs-lisp/cl-extra.el (cl--random-state): New defstruct
14787         (cl--random-state, cl--random-time): Move from cl-lib.el.
14788         (cl-random): Use struct accessors.
14789         (cl-random-state-p): Remove, provided by the defstruct.
14790         (cl-make-random-state): Rewrite to struct constructor.
14792 2017-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
14794         * lisp/emacs-lisp/debug.el (debugger-list-functions): Remove obsolete msg
14796 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
14798         Improve documentation of faces related to display-line-numbers
14800         * lisp/faces.el (line-number, line-number-current-line): Warn
14801         against using non-monospaced fonts.
14803 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
14805         Fix relative-number display with non-nil display-line-number-width
14807         * src/xdisp.c (maybe_produce_line_number): Don't treat a zero
14808         value of display-line-number-width as acceptable.
14809         Handle the case of 'relative' with display-line-number-width
14810         non-nil and smaller than the absolute line number requires.
14811         Reported by Alex <agrambot@gmail.com>.
14813 2017-06-30  Michael Albinus  <michael.albinus@gmx.de>
14815         Release Tramp 2.3.2
14817         * doc/misc/tramp.texi (Android shell setup): Show default file name.
14818         Structure section.
14820         * doc/misc/trampver.texi:
14821         * lisp/net/trampver.el: Change version to "2.3.2".
14823         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
14824         Offer home directory for mock method if it doesn't exist.
14826 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
14828         Add documentation for display-line-numbers
14830         * doc/emacs/custom.texi (Init Rebinding):
14831         * doc/emacs/modes.texi (Minor Modes): Remove references to
14832         linum-mode.
14833         * doc/emacs/display.texi (Display Custom): Describe the
14834         line-number display.
14835         (Optional Mode Line): Fix the index entry to not conflict with
14836         that in "Display Custom".
14837         * doc/emacs/basic.texi (Position Info): Add cross-reference to
14838         "Display Custom", for line-number display.
14840         * src/xdisp.c (syms_of_xdisp): <display-line-numbers>: Mention
14841         display-line-numbers-disable in the doc string.
14843         * lisp/cus-start.el (standard): Fix lst change.
14845 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
14847         Support displaying zero as the number of the current line
14849         * src/xdisp.c (syms_of_xdisp)
14850         <display-line-numbers-current-absolute>: New variable.
14851         <display-line-numbers>: Doc fix.
14852         (maybe_produce_line_number): Support nil value of
14853         display-line-numbers-current-absolute.
14855         * lisp/cus-start.el (standard): Add customization form for
14856         display-line-numbers-current-absolute.
14858         * etc/NEWS: Document recently introduced features.
14860 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
14862         Speed up the visual-mode relative line numbers
14864         * src/xdisp.c (display_count_lines_visually): Introduce a
14865         shortcut: if a relative line number was already calculated for
14866         this iterator object, just increase it instead of the
14867         expensive call to move_it_to.  Argument list changed to pass a
14868         pointer to the iterator object.
14869         (maybe_produce_line_number): Adjust for change in signature of
14870         display_count_lines_visually.  Record the relative line number and
14871         the corresponding byte position in the iterator object also in the
14872         'visual' mode.
14874 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
14876         Fix hscrolling with line numbers on TTY frames
14878         * src/xdisp.c (hscroll_window_tree): Correct the X offset
14879         calculations on TTY frames.
14880         * src/term.c (produce_glyphs): Use it->lnum_pixel_width instead of
14881         a kludge using it->lnum_width.
14883 2017-06-30  Eli Zaretskii  <eliz@gnu.org>
14885         Fix TAB display when the line-number face uses a smaller/larger font
14887         * src/dispextern.h (struct it): New member lnum_pixel_width.
14888         * src/xdisp.c (maybe_produce_line_number): Compute the width of
14889         the line-number display in pixels.
14890         (x_produce_glyphs): Use it->lnum_pixel_width instead of a kludge
14891         that used it->lnum_width and made assumptions about pixel width.
14893 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
14895         Escape NUL bytes in X selections (Bug#6991)
14897         * lisp/term/w32-win.el (w32--set-selection):
14898         * lisp/select.el (xselect--encode-string): Replace NUL bytes with
14899         "\0".
14900         * doc/emacs/killing.texi: Document new behavior.
14901         * etc/NEWS (times): Announce it.
14903 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
14905         Hide byte code in backtraces (Bug#6991)
14907         * lisp/emacs-lisp/debug.el (debugger-print-function): New defcustom,
14908         defaulting to `cl-print'.
14909         (debugger-insert-backtrace, debugger-setup-buffer): Use it instead of
14910         `prin1'.
14911         * etc/NEWS: Announce it.
14913 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
14915         Don't redundantly cl-print arglist in function docstring again
14917         * lisp/emacs-lisp/cl-print.el (cl-print-object): Don't print arglist
14918         part of docstring.
14919         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Update
14920         test accordingly.
14922 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
14924         Escape control characters in backtraces (Bug#6991)
14926         * src/print.c (syms_of_print): Add new variable,
14927         print-escape-control-characters.
14928         (print_object): Print control characters with octal escape codes when
14929         print-escape-control-characters is true.
14930         * lisp/subr.el (backtrace):
14931         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Bind
14932         `print-escape-control-characters' to t.
14934 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
14936         Improve ert backtrace recording
14938         Change ert to use the new `backtrace-frames' function instead of
14939         collecting frames one by one with `backtrace-frame'.  Additionally,
14940         collect frames starting from `signal' instead the somewhat arbitrary
14941         "6 from the bottom".  Skipping 6 frames would skip the expression that
14942         actually caused the signal that triggered the debugger.  Possibly 6
14943         was chosen because in the case of a failed test, the triggering frame
14944         is an `ert-fail' call, which is not so interesting.  But in case of a
14945         test throwing an error, this drops the `error' call which is too much.
14947         * lisp/emacs-lisp/debug.el (debugger-make-xrefs): Remove.
14948         * lisp/emacs-lisp/ert.el (ert--make-xrefs-region): Bring in relevant
14949         code from `debugger-make-xrefs'.
14950         (ert--print-backtrace): Add DO-XREFS parameter, delegate to
14951         `debugger-insert-backtrace'.
14952         (ert--run-test-debugger): Record the backtrace frames starting from
14953         the instigating `signal' call.
14954         (ert-run-tests-batch): Pass nil for `ert--print-backtrace's new
14955         DO-XREFS parameter.
14956         (ert-results-pop-to-backtrace-for-test-at-point): Pass t as DO-XREFS
14957         to `ert--print-backtrace' and remove call to `debugger-make-xrefs'.
14958         * test/lisp/emacs-lisp/ert-tests.el (ert-test-record-backtrace): Check
14959         the backtrace list instead of comparing its string representation.
14960         Expect `signal' to be the first frame.
14962 2017-06-30  Noam Postavsky  <npostavs@gmail.com>
14964         Operate on frame list instead of printed backtrace
14966         * lisp/emacs-lisp/debug.el (debugger-insert-backtrace): New function,
14967         prints the given backtrace frames.
14968         (debugger-setup-buffer): Use it instead of editing the backtrace
14969         buffer text.
14971 2017-06-29  Eli Zaretskii  <eliz@gnu.org>
14973         Minor fixes
14975         * src/xdisp.c (maybe_produce_line_number): Fix bug that caused
14976         line numbers to be displayed in empty lines beyond ZV.
14977         (x_produce_glyphs): Start fixing TAB display in truncated lines.
14979 2017-06-29  Michael Albinus  <michael.albinus@gmx.de>
14981         Improve timer handling when Tramp accepts output
14983         * lisp/net/tramp-compat.el: Avoid compiler warning.
14985         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler):
14986         Remove lock machinery.
14988         * lisp/net/tramp.el (tramp-locked, tramp-locker): Move up.
14989         (tramp-file-name-handler): Add lock machinery from
14990         `tramp-sh-file-name-handler'.  Allow timers to run.
14991         (tramp-accept-process-output): Remove nasty workaround.
14992         Suppress timers.
14994         * test/lisp/net/tramp-tests.el (shell-command-sentinel):
14995         Suppress run in tests.
14996         (tramp--instrument-test-case-p): New defvar.
14997         (tramp--instrument-test-case): Use it in order to allow nested calls.
14998         (tramp--test-message, tramp--test-backtrace): New defsubst,
14999         will be used for occasional test instrumentation.
15000         (tramp-test00-availability, tramp-test31-vc-registered): Use them.
15001         (tramp-test28-shell-command)
15002         (tramp--test-shell-command-to-string-asynchronously): Suppress
15003         nasty messages.  Don't overwrite sentinel.
15004         (tramp-test36-asynchronous-requests): Rewrite major parts.
15005         Expect :passed.
15007 2017-06-28  Stefan Monnier  <monnier@iro.umontreal.ca>
15009         * lisp/url/url-history.el: Use lexical-binding
15011         (url-completion-function): Mark as obsolete.
15012         Mark unused args accordingly.
15014 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
15016         Don't assume url structs are vectors (Bug#27333)
15018         * lisp/url/url-history.el (url-history-update-url): Use `url-p'
15019         instead of `vectorp'.
15021 2017-06-28  Mark Oteiza  <mvoteiza@udel.edu>
15023         Replace with dolist some uses of while
15025         * lisp/calc/calc-units.el (calc-permanent-units):
15026         (math-compare-unit-names, math-simplify-units-quotient):
15027         (math-build-units-table-buffer): Use dolist to replace extra bindings
15028         and some while loops.
15030 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
15032         Make tcl-auto-fill-mode obsolete (Bug#10772)
15034         * lisp/progmodes/tcl.el (tcl-auto-fill-mode): Declare obsolete.
15035         * etc/NEWS: Announce it.
15037 2017-06-28  Noam Postavsky  <npostavs@gmail.com>
15039         Don't read eshell/which output from *Help* buffer (Bug#26894)
15041         * lisp/help-fns.el (help-fns--analyse-function)
15042         (help-fns-function-description-header): New functions, extracted from
15043         describe-function-1.
15044         (describe-function-1): Use them.
15045         * lisp/eshell/esh-cmd.el (eshell/which): Use
15046         `help-fns-function-description-header' instead of
15047         `describe-function-1'.
15049 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
15051         Support default-text-properties
15053         * src/xdisp.c (should_produce_line_number): Call get-char-property
15054         at ZV as well, to support default-text-properties.
15056 2017-06-27  Eli Zaretskii  <eliz@gnu.org>
15058         Avoid segfaults when some display vector is an empty string
15060         * src/xdisp.c (next_element_from_display_vector): Don't try
15061         accessing the dpvec[] array if its size is zero.  (Bug#27504)
15063 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
15065         Initial support for visually-relative line numbers
15067         Works very slowly.
15069         * src/xdisp.c (display_count_lines_visually): New function.
15070         (maybe_produce_line_number): Support 'visual' mode of line-number
15071         display.
15072         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
15073         also when glyph_row is NULL.  This is important for move_it_*
15074         functions.
15075         (syms_of_xdisp) <display-line-number-width>: Now buffer-local.
15076         (try_window_id, redisplay_window, try_cursor_movement): For
15077         'visual' line-number display, disable the same redisplay
15078         optimizations as for 'relative'.
15080         * lisp/cus-start.el (standard): Add new value for the
15081         customization form of display-line-numbers.
15083 2017-06-26  Eli Zaretskii  <eliz@gnu.org>
15085         Update IT's metrics while simulating display
15087         * src/xdisp.c (maybe_produce_line_number): Update IT's metrics
15088         also when glyph_row is NULL.  This is important for move_it_*
15089         functions.
15091 2017-06-26  Teemu Likonen  <tlikonen@iki.fi>
15093         Fix bug in handling GnuPG's TRUST_MARGINAL status
15095         * lisp/epg.el (epg--status-TRUST_MARGINAL): Change symbol `marginal'
15096         to `good'.
15098 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
15100         Prefer `when' instead of 1-branch `if'
15102         * lisp/dired-aux.el (dired-do-shell-command): Store condition value
15103         in local variable ok.
15104         Use `when' instead of 1-branch `if'.
15106 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
15108         Use #' instead of (function ...)
15110         * lisp/dired-aux.el (dired-do-chxxx, dired-clean-directory)
15111         (dired-mark-confirm, dired-query, dired-byte-compile)
15112         (dired-load, dired-update-file-line, dired-after-subdir-garbage)
15113         (dired-relist-file, dired-rename-subdir, dired-do-create-files)
15114         (dired-mark-read-file-name, dired-do-copy, dired-do-symlink)
15115         (dired-do-hardlink, dired-do-rename, dired-do-rename-regexp)
15116         (dired-do-copy-regexp, dired-do-hardlink-regexp)
15117         (dired-do-symlink-regexp, dired-create-files-non-directory)
15118         (dired-upcase, dired-downcase)
15120         * lisp/dired.el (dired-mode, dired-copy-filename-as-kill)
15121         (dired-internal-do-deletions, dired-internal-do-deletions):
15122         Prefer #' instead of (function ...).
15124 2017-06-26  Tino Calancha  <tino.calancha@gmail.com>
15126         Don't quote lambda forms
15128         * lisp/dired.el (dired-re-maybe-mark, dired-map-over-marks)
15129         (dired-mark, dired-desktop-buffer-misc-data)
15131         * lisp/dired-aux.el (dired-do-create-files, dired-do-create-files-regexp)
15132         (dired-create-files-non-directory, dired-insert-subdir-validate)
15133         (dired-alist-sort, dired-do-shell-command): Don't quote lambda forms.
15135 2017-06-26  Stefan Monnier  <monnier@iro.umontreal.ca>
15137         * lisp/progmodes/cc-fonts.el: Remove/mark unused vars
15139         (c-font-lock-declarators): Remove unused vars `id-end', `paren-depth',
15140         and `brackets-after-id'.
15141         (c-font-lock-objc-methods): Mark unused args.
15143 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
15145         Omit null-pointer test in intervals.h FRAME
15147         * src/intervals.h (ROOT_INTERVAL_P, ONLY_INTERVAL_P)
15148         (INTERVAL_LAST_POS): Omit unnecessary parens.
15149         (LENGTH): Omit test for null pointer.  The argument is never null.
15150         The unnecessary test causes GCC 7.1.0 to assume that the argument
15151         might be null, and therefore to issue false alarms when the
15152         argument is dereferenced in other expressions.
15154 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
15156         Parenthesize frame.h macro definitions
15158         * src/frame.h (FRAME_TOOL_BAR_POSITION)
15159         (FRAME_VERTICAL_SCROLL_BAR_TYPE, FRAME_HAS_VERTICAL_SCROLL_BARS)
15160         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_LEFT)
15161         (FRAME_HAS_VERTICAL_SCROLL_BARS_ON_RIGHT)
15162         (FRAME_OVERRIDE_REDIRECT, FRAME_UNDECORATED, FRAME_PARENT_FRAME)
15163         (FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
15164         (FRAME_NO_ACCEPT_FOCUS, FRAME_NO_SPECIAL_GLYPHS, FRAME_Z_GROUP)
15165         (FRAME_Z_GROUP_NONE, FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_BELOW)
15166         (FRAME_HAS_HORIZONTAL_SCROLL_BARS): Parenthesize macro definiens
15167         to allow arbitrary expression arguments.
15169 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
15171         Port recent frame changes to GCC 7
15173         * src/frame.c (keep_ratio): New arg P.  Caller changed.  Since it
15174         is non-null, it avoids a GCC 7 warning that FRAME_PARENT_FRAME
15175         might return null.  This also avoids a run-time test.
15177 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
15179         Minor aesthetic fix of last change.
15181 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
15183         Allow to disable display of line numbers beyond EOB
15185         * src/buffer.c (disable_line_numbers_overlay_at_eob): New
15186         function.
15187         * src/lisp.h (disable_line_numbers_overlay_at_eob): Add prototype.
15188         * src/xdisp.c (should_produce_line_number): When at ZV, call
15189         disable_line_numbers_overlay_at_eob to determine whether line
15190         numbers should be displayed beyond ZV.
15192 2017-06-25  Michael Albinus  <michael.albinus@gmx.de>
15194         Fix Android 6/7 problems in Tramp
15196         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp): Fix link part.
15197         (tramp-adb-handle-directory-files-and-attributes)
15198         (tramp-adb-handle-file-name-all-completions): Insert "."  and
15199         ".." only when needed.
15200         (tramp-adb-get-ls-command): Force one column output for toybox.
15202 2017-06-25  Stefan-W. Hahn  <stefan.hahn@s-hahn.de>  (tiny change)
15204         * lisp/subr.el (setq-local): Add debug declaration (Bug#27408).
15206 2017-06-25  Eli Zaretskii  <eliz@gnu.org>
15208         Fix line number display for overlay/display strings with newlines
15210         * src/xdisp.c (maybe_produce_line_number): Fix the condition for
15211         producing space glyphs instead of a line number to include the
15212         case of display strings and overlays.
15214 2017-06-25  Alan Mackenzie  <acm@muc.de>
15216         Make CC Mode load cl-lib rather than cl in Emacs 26.
15218         * lisp/progmodes/cc-cmds.el (c-declaration-limits): Remove unused local
15219         variable.
15221         * lisp/progmodes/cc-defs.el (c--mapcan-status): Remove.
15222         (c--cl-library): New variable.
15223         (Top level): Amend the form which requires library cl or cl-lib.
15224         (c--mapcan, c--set-difference, c--intersection, c--macroexpand-all)
15225         (c--delete-duplicate): Amend to use c--cl-library instead of
15226         c--mapcan-status.
15228         * lisp/progmodes/cc-engine.el (c-syntactic-skip-backward)
15229         (c-back-over-compound-identifier): Remove unused local variables.
15231         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove an unused
15232         local variable.
15234         * lisp/progmodes/cc-langs.el (Top level): Amend to use c--cl-library instead
15235         of c--mapcan-status.
15237         * lisp/progmodes/cc-styles.el (Top level): Add a cc-bytecomp-defun to try to
15238         silence a compiler warning.
15240 2017-06-25  Martin Rudalics  <rudalics@gmx.at>
15242         Provide additional support for child frames
15244         Provide mouse dragging and resizing of frames.  Allow resizing
15245         frames proportionally.  Provide additional functionality for
15246         child frames.  Minor bug fixes.
15248         * lisp/frame.el (frame-border-width, frame-pixel-width)
15249         (frame-pixel-height): Alias to `frame-internal-border-width',
15250         `frame-native-width' and `frame-native-height'.
15251         (frame-inner-width, frame-inner-height, frame-outer-width)
15252         (frame-outer-height): New functions.
15253         * lisp/minibuffer.el (completion-auto-help): Fix typo.
15254         * lisp/mouse.el (mouse-drag-line, mouse-drag-mode-line)
15255         (mouse-drag-header-line): Allow moving a frame by dragging the
15256         mode line of its bottommost window (on a minibuffer-less frame)
15257         or the header line of its topmost window.
15258         (mouse-drag-vertical-line): Mention argument in doc-string.
15259         (mouse-resize-frame, mouse-drag-frame, mouse-drag-left-edge)
15260         (mouse-drag-top-left-corner, mouse-drag-top-edge)
15261         (mouse-drag-top-right-corner, mouse-drag-right-edge)
15262         (mouse-drag-bottom-right-corner, mouse-drag-bottom-edge)
15263         (mouse-drag-bottom-left-corner): New functions for resizing a
15264         frame by dragging its internal border together with
15265         corresponding key bindings.
15266         * lisp/tooltip.el (tooltip-frame-parameters): Add
15267         'no-special-glyphs' to default parameters and update version
15268         tag.
15269         * lisp/window.el (frame-auto-hide-function): Add choice to make
15270         frame invisible and update version tag.
15271         (window--delete): Handle 'auto-hide-function' frame parameter.
15272         (window--maybe-raise-frame): Respect 'no-focus-on-map' and
15273         'no-accept-focus' frame parameters.
15274         (display-buffer--action-function-custom-type): Add
15275         `display-buffer-in-child-frame'.
15276         (display-buffer): Mention `display-buffer-in-child-frame' in
15277         doc-string.
15278         (display-buffer-in-child-frame): New action function for
15279         `display-buffer'.
15280         (window--sanitize-margin): Return zero when MARGIN cannot be
15281         sanitized.
15282         (fit-frame-to-buffer): Major rewrite to handle child frames and
15283         'fit-frame-to-buffer-sizes' and 'fit-frame-to-buffer-margins'
15284         frame parameters.
15285         (window-largest-empty-rectangle--maximums-1)
15286         (window-largest-empty-rectangle--maximums)
15287         (window-largest-empty-rectangle--disjoint-maximums)
15288         (window-largest-empty-rectangle): New functions.
15290         * src/dispextern.h (WINDOW_WANTS_MODELINE_P)
15291         (WINDOW_WANTS_HEADER_LINE_P): Remove.  Functionality is now
15292         provided by corresponding functions window_wants_modeline and
15293         window_wants_header_line in window.c.  Adjust users.
15294         * src/dispnew.c (adjust_glyph_matrix)
15295         (buffer_posn_from_coords): Use window_wants_modeline and
15296         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
15297         WINDOW_WANTS_HEADER_LINE_P.
15298         * src/frame.c (keep_ratio): New function.
15299         (adjust_frame_size): Call keep_ratio for each of F's child
15300         frames.
15301         (make_frame): Initialize no_special_glyphs slot.
15302         (frame_internal_border_part): New function.
15303         (Fframe_pixel_width, Fframe_pixel_height, Fborder_width): Rename
15304         to Fframe_native_width, Fframe_native_height mand
15305         Fframe_internal_border_width.
15306         (frame_parm_table): Add Qno_special_glyphs entry.
15307         (frame_float_type): New enumeration type.
15308         (frame_float): New function to handle frame size and position
15309         ratios.
15310         (x_set_frame_parameters): Handle size and position ratios.
15311         (x_set_no_special_glyphs): New function
15312         (x_figure_window_size): Handle size and position ratios.
15313         (syms_of_frame): Add Qdisplay_monitor_attributes_list,
15314         Qno_special_glyphs, Qframe_edges, Qkeep_ratio, Qwidth_only,
15315         Qheight_only, Qleft_only and Qtop_only.
15316         * src/frame.h (internal_border_part): New enumeration type.
15317         (struct frame): New slot no_special_glyphs.
15318         (FRAME_NO_SPECIAL_GLYPHS): New macro.
15319         * src/gtkutil.c (xg_frame_restack): Return immediately for
15320         GTK versions before 2.18.0.
15321         * src/keyboard.c (internal_border_parts): New array constant.
15322         (make_lispy_position): For frames with border dragging enabled
15323         return internal border part.
15324         (syms_of_keyboard): New symbols Qdrag_internal_border,
15325         Qleft_edge, Qtop_left_corner, Qtop_edge, Qtop_right_corner,
15326         Qright_edge, Qbottom_right_corner, Qbottom_edge and
15327         Qbottom_left_corner.
15328         * src/minibuf.c (read_minibuf_unwind): When exiting the
15329         minibuffer deal with frames that have the 'minibuffer-exit'
15330         parameter set.
15331         (syms_of_minibuf): New symbol Qminibuffer_exit.
15332         * src/nsfns.m (frame_parm_handler): Add entry for
15333         x_set_no_special_glyphs.
15334         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
15335         Intitialize new cursor types for dragging frame borders.
15336         * src/nsterm.h (struct ns_output): Add new cursor types for
15337         dragging frame borders.
15338         * src/w32fns.c (w32_frame_parm_handlers): Add entry for
15339         x_set_no_special_glyphs.
15340         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
15341         Intitialize new cursor types for dragging frame borders.
15342         * src/w32term.h (struct w32_output): Add new cursor types for
15343         dragging frame borders.
15344         * src/window.c (coordinates_in_window)
15345         (Fwindow_line_height, window_internal_height): Use
15346         window_wants_modeline and window_wants_header_line instead of
15347         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
15348         (Fwindow_lines_pixel_dimensions): New function.
15349         (window_parameter): New function.
15350         (Fwindow_parameter): Call window_parameter.
15351         (window_wants_mode_line, window_wants_header_line): New
15352         functions replacing the macros WINDOW_WANTS_MODELINE_P and
15353         WINDOW_WANTS_HEADER_LINE_P from dispextern.h.
15354         (syms_of_window): New symbols Qmode_line_format and
15355         Qheader_line_format.
15356         * src/window.h: Reorganize and re-comment macros.  Use
15357         window_wants_modeline and window_wants_header_line instead of
15358         WINDOW_WANTS_MODELINE_P and WINDOW_WANTS_HEADER_LINE_P.
15359         (MINI_NON_ONLY_WINDOW_P, MINI_ONLY_WINDOW_P): Minor rewrite.
15360         (WINDOW_BUFFER): New macro.
15361         (WINDOW_BOX_LEFT_EDGE_COL, WINDOW_BOX_RIGHT_EDGE_COL): Remove.
15362         * src/xdisp.c (window_text_bottom_y, window_box_height)
15363         (window_box, start_display)
15364         (compute_window_start_on_continuation_line)
15365         (try_cursor_movement, redisplay_window)
15366         (try_window_reusing_current_matrix, try_window_id)
15367         (display_line, expose_window): Use window_wants_modeline and
15368         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
15369         WINDOW_WANTS_HEADER_LINE_P.
15370         (pos_visible_p, display_mode_lines): Respect W's
15371         'mode-line-format' and 'header-line-format' window parameters.
15372         (init_iterator): Use window_wants_modeline and
15373         window_wants_header_line instead of WINDOW_WANTS_MODELINE_P and
15374         WINDOW_WANTS_HEADER_LINE_P.  For tip frames respect
15375         no_special_glyphs value.
15376         (note_mouse_highlight): Set frame border cursors when on
15377         internal border.
15378         (x_draw_right_divider, x_draw_bottom_divider): Try to improve
15379         drawing of window dividers.
15380         * src/xfns.c (mouse_cursor): Add entries for border parts.
15381         (mouse_cursor_types): Add entries for cursor types to drag
15382         frame borders.
15383         (INSTALL_CURSOR): Add entries for new cursor types to drag
15384         frame borders.
15385         (Fx_create_frame): Handle 'no-special-glyphs' parameter.
15386         (x_frame_parm_handlers): Add entry for
15387         x_set_no_special_glyphs.
15388         (Vx_window_left_edge_shape, Vx_window_top_left_corner_shape)
15389         (Vx_window_top_edge_shape, Vx_window_top_right_corner_shape)
15390         (Vx_window_right_edge_shape)
15391         (Vx_window_bottom_right_corner_shape)
15392         (Vx_window_bottom_edge_shape)
15393         (Vx_window_bottom_left_corner_shape): New variables.
15394         (x_frame_restack): Call xg_frame_restack only for GTK versions
15395         starting with 2.18.0.
15396         * src/xterm.c (x_free_frame_resources): Remove new cursors for
15397         dragging frame borders.
15398         * src/xterm.h (struct x_output): Add new cursor types for
15399         dragging frame borders.
15401         * doc/lispref/display.texi (Size of Displayed Text): Document
15402         `window-lines-pixel-dimensions'.
15403         * doc/lispref/elisp.texi (Top): Add entry for "Mouse Dragging
15404         Parameters".
15405         * doc/lispref/frames.texi (Frame Size): Replace
15406         frame-pixel-width/-height by frame-native-width/-height.  Add
15407         frame-inner-width/-height and frame-outer-width/-height docs.
15408         (Position Parameters): Describe specifying position as ratios.
15409         Clarify remark about positions relative to bottom/ridge display
15410         edge.
15411         (Size Parameters): Describe specifying sizes as ratios.
15412         Describe 'fit-frame-to-buffer-margins' and
15413         'fit-frame-to-buffer-sizes' parameters.
15414         (Layout Parameters): Describe 'no-special-glyphs' parameter.
15415         (Frame Interaction Parameters): Describe 'auto-hide-function',
15416         'minibuffer-exit' and 'keep-ratio' parameters.
15417         (Mouse Dragging Parameters): New section describing
15418         'drag-internal-border', 'drag-with-header-line',
15419         'drag-with-mode-line', 'snap-width', 'top-visible' and
15420         'bottom-visible' parameters.
15421         (Management Parameters): Mention that `override-redirect' has
15422         no effect on MS Windows.
15423         (Font and Color Parameters): Mention child frames for `alpha'
15424         parameter.
15425         (Child Frames): Rewrite section with description and cross
15426         references to new frame parameters added.
15427         * doc/lispref/modes.texi (Mode Line Basics): Mention
15428         'mode-line-format' and 'header-line-format' window parameters.
15429         * doc/lispref/windows.texi (Resizing Windows): Mention effect
15430         of `fit-frame-to-buffer-margins' for child frames.
15431         (Display Action Functions): New action function
15432         `display-buffer-in-child-frame'.
15433         (Quitting Windows): Mention `make-frame-invisible' as optional
15434         value of `frame-auto-hide-function' and `auto-hide-function'
15435         frame paameter.
15436         (Coordinates and Windows): Describe new function
15437         `window-largest-empty-rectangle'.
15438         (Window Parameters): Describe new parameters 'mode-line-format'
15439         and 'header-line-format'.  Index all window parameters described
15440         in this section.
15442 2017-06-25  Paul Eggert  <eggert@cs.ucla.edu>
15444         Adjust lm-verify to accept current notices
15446         Problem reported by Mike Kupfer in:
15447         https://lists.gnu.org/r/emacs-devel/2017-06/msg00512.html
15448         * lisp/emacs-lisp/lisp-mnt.el (lm-crack-copyright):
15449         Do not require later lines in a copyright notice to have more
15450         indentation than earlier lines.
15452 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15454         Minor change in NEWS.
15456         Improve documentation in NEWS.
15458 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15460         Move additional hscrolling code into a suitable 'if'
15462         * src/xdisp.c (hscroll_window_tree): Make additional calculations
15463         regarding glyphs produced for line numbers conditional on
15464         line-number display.
15466 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15468         Partial fix of hscroll of truncated lines with line numbers
15470         * src/xdisp.c (x_produce_glyphs, hscroll_window_tree): Adjust
15471         hscroll calculations to line-number display.
15472         * src/term.c (produce_glyphs): Adjust tab stop to window's
15473         hscroll.  These two changes fix horizontal scrolling when line
15474         numbers are displayed.  But there's still a bug: the horizontal
15475         shift of lines that begin with a TAB is different from the rest.
15476         * src/xdisp.c (move_it_in_display_line_to): Call
15477         should_produce_line_number to determine whether a line number
15478         should be produced for this screen line.
15480 2017-06-24  Noam Postavsky  <npostavs@gmail.com>
15482         Don't change byte-compile-delete-errors at runtime (Bug#27340)
15484         * lisp/emacs-lisp/eieio-core.el: Confine `cl-declaim' calls to compile
15485         time.
15487 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15489         Allow Lisp program to disable line-number display for specific lines
15491         * etc/NEWS: Update the documentation.
15493         * src/xdisp.c (syms_of_xdisp) <display-line-numbers-disable>: New
15494         symbol.
15495         (should_produce_line_number): New function.
15496         (display_line): Use should_produce_line_number to determine
15497         whether a line number should be produced for each glyph row.
15499 2017-06-24  Stefan Monnier  <monnier@iro.umontreal.ca>
15501         * lisp/net/html2text.el: Move to obsolete/.
15503 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15505         Support a separate face for displaying the current line's number
15507         * lisp/faces.el (line-number-current-line): New face.
15509         * src/xdisp.c (syms_of_xdisp) <line-number-current-line>: New
15510         symbol.
15511         (try_window_id, try_cursor_movement): Disable these optimizations
15512         when the line-number-current-line face is different from
15513         line-number face.
15514         (maybe_produce_line_number): Display the current line in the
15515         line-number-current-line face, if it's different from line-number.
15517 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15519         Change display of current line in relative mode
15521         * src/xdisp.c (maybe_produce_line_number): In relative mode
15522         display the current line number as its absolute value, not as zero.
15524 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15526         Rename display-line-width
15528         * etc/NEWS:
15529         * src/xdisp.c (syms_of_xdisp, maybe_produce_line_number):
15530         * lisp/cus-start.el: Rename display-line-width to
15531         display-line-number-width.
15533 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15535         Fix tab stops when line numbers are displayed
15537         * src/xdisp.c (x_produce_glyphs):
15538         * src/term.c (produce_glyphs): Adjust tab stops for the horizontal
15539         space taken by the line-number display.
15541 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15543         Fix crashes on TTY frames due to negative lnum_width.
15545         Don't display line numbers in the minibuffer and in tooltip frames.
15547 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15549         Fix problems with line-number updates in Follow mode
15551         * src/xdisp.c (redisplay_window): If forced window-start requires
15552         to move a window's point, and the window is under relative
15553         line-number display, force another round of redisplay to update
15554         the relative line numbers.  This fixes follow-mode "redisplay" of
15555         its window group.
15557         * lisp/frame.el: Add display-line-numbers to the list of variables
15558         that should trigger redisplay of the current buffer.
15560 2017-06-24  Eli Zaretskii  <eliz@gnu.org>
15562         Fix display of line numbers with fonts larger than the default
15564         * src/xdisp.c (maybe_produce_line_number): Update the metrics in
15565         IT, not in IT->glyph_row, since the latter gets overwritten in
15566         display_line.  Fixes display of line numbers when the font used
15567         for them is larger than that of the default face.
15569 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
15571         Fix background color beyond EOB and cursor display
15573         * src/xdisp.c:  (maybe_produce_line_number): Use the default face
15574         for background of the blank glyphs in the line-number area which
15575         are drawn beyond EOB.
15576         (display_line): Reset the glyph row's displays_text_p flag only on
15577         empty lines that don't display line numbers.  This fixes cursor
15578         display beyond EOB.  Fix the bidi information in the glyphs
15579         produced for line numbers.  Set the avoid_cursor_p flag of glyphs
15580         produced for line numbers.
15582 2017-06-23  Eli Zaretskii  <eliz@gnu.org>
15584         Fix display of indicate-empty-lines when line numbers are displayed
15586         * src/xdisp.c (row_text_area_empty): New function.
15587         (display_line): Call row_text_area_empty to verify that a glyph
15588         row's text area is devoid of any glyphs that came from a buffer or
15589         a string.  This fixes a bug with empty-lines indication
15590         disappearing when line numbers or line-prefix are displayed.
15591         (display_line): Delete the argument FORCE; all callers changed.
15592         Remove the condition for actually producing the glyphs for the
15593         line number, as even if the number didn't change we need to
15594         produce empty space.
15596 2017-06-23  Vincent Belaïche  <vincentb1@users.sourceforge.net>
15598         Fix symbol relocation when the relocated cell is renamed.
15600         * lisp/ses.el (ses-sym-rowcol):  Check that the renamed cell
15601         hashmap has been instantiated before getting data from it.  When
15602         editing several spreadsheets, and you have spreadsheet #1 with a
15603         cell named `foo', and no renamed cell in spreadsheet #2, then if
15604         you make a formula with `foo' in spreadsheet #2, not doing this
15605         check will make an error.
15606         (ses-cell-set-formula): Robustify versus incorrect cell references
15607         given in the user provided formula.  An explicit error message is
15608         provided after the action when the user gives an incorrect cell
15609         reference, but the formula edition is not changed.  This means that
15610         if the incorrect reference is to a cell that is created someday,
15611         then this new cell will not have the edited cell in its reference
15612         list.  Fixing this can still be done by editing again the first
15613         cell formula.
15614         (ses-relocate-symbol): Do not create symbol of referred-to cell
15615         when this is a renamed cell.
15617 2017-06-23  Rasmus  <rasmus@gmx.us>
15619         Synchronize with the "emacs-sync" branch from Org
15621 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15623         Remove getc_unlocked configure-time check
15625         * configure.ac (getc_unlocked): Remove check, as unlocked-io now
15626         does this for us.
15628 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15630         Use unlocked stdio more systematically
15632         This can improve performance significantly on stdio-bottlenecked code.
15633         E.g., make-docfile is 3x faster on my Fedora 25 x86-64 desktop.
15634         * admin/merge-gnulib (GNULIB_MODULES): Add unlocked-io.
15635         * lib-src/ebrowse.c, lib-src/emacsclient.c, lib-src/etags.c:
15636         * lib-src/hexl.c, lib-src/make-docfile.c, lib-src/movemail.c:
15637         * lib-src/profile.c, lib-src/update-game-score.c:
15638         Include unlocked-io.h instead of stdio.h, since these programs are
15639         single-threaded.
15640         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
15641         * lib/unlocked-io.h, m4/unlocked-io.m4: New files, copied from Gnulib.
15642         * src/charset.c, src/cm.c, src/emacs.c, src/image.c, src/keyboard.c:
15643         * src/lread.c, src/term.c:
15644         Include sysstdio.h, possibly instead of stdio.h, to define
15645         the unlocked functions if the system does not provide them.
15646         * src/charset.c, src/lread.c (getc_unlocked):
15647         Remove, since sysstdio.h now defines it if needed.
15648         * src/cm.c (cmputc, cmcheckmagic):
15649         * src/dispnew.c (update_frame, update_frame_with_menu)
15650         (update_frame_1, Fsend_string_to_terminal, Fding, bitch_at_user):
15651         * src/emacs.c (main, Fdump_emacs):
15652         * src/fileio.c (Fdo_auto_save, Fset_binary_mode):
15653         * src/image.c (slurp_file, png_read_from_file, png_load_body)
15654         (our_stdio_fill_input_buffer):
15655         * src/keyboard.c (record_char, kbd_buffer_get_event, handle_interrupt):
15656         * src/lread.c (readbyte_from_file):
15657         * src/minibuf.c (read_minibuf_noninteractive):
15658         * src/print.c (printchar_to_stream, strout)
15659         (Fredirect_debugging_output):
15660         * src/sysdep.c (reset_sys_modes, procfs_ttyname)
15661         (procfs_get_total_memory):
15662         * src/term.c (tty_ring_bell, tty_send_additional_strings)
15663         (tty_set_terminal_modes, tty_reset_terminal_modes)
15664         (tty_update_end, tty_clear_end_of_line, tty_write_glyphs)
15665         (tty_write_glyphs_with_face, tty_insert_glyphs)
15666         (tty_menu_activate):
15667         * src/xfaces.c (Fx_load_color_file):
15668         Use unlocked stdio when it should be safe.
15669         * src/sysstdio.h (clearerr_unlocked, feof_unlocked, ferror_unlocked)
15670         (fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked)
15671         (fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked)
15672         (putc_unlocked, putchar_unloced): Provide substitutes if not declared.
15674 2017-06-22  Glenn Morris  <rgm@gnu.org>
15676         * lisp/net/shr.el (shr-fill-text): Actually fill the text.  (Bug#27399)
15678 2017-06-22  Michal Nazarewicz  <mina86@mina86.com>
15680         unidata: don’t check special casing in unidata-check  (bug#26656)
15682         * admin/unidata/unidata-gen.el (unidata-check): Do not test special
15683         casing mapping of characters since that mapping is not constructed from
15684         the unidata.txt file.
15685         Also, check for integer decoder and cons char earlier so that less
15686         unnecessary processing is performed.
15688 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
15690         * lisp/descr-text.el (describe-char): Avoid string-*-multibyte
15692         Avoid string-to-multibyte and string-as-unibyte.
15693         Don't make *Help* unibyte just because the char was in a unibyte buffer.
15695 2017-06-22  Rasmus  <rasmus@gmx.us>
15697         Add Org schemas.xml contents to Emacs schemas.xml
15699         Entries from the Org version of schemas.xml have been added to
15700         the Emacs version of schemas.xml.
15702 2017-06-22  Rasmus  <rasmus@gmx.us>
15704         Update Org to v9.0.9
15706         Please see etc/ORG-NEWS for details.
15708 2017-06-22  Vincent Belaïche  <vincentb1@users.sourceforge.net>
15710         Do not hard code A1 cell reference, as it may be renamed.
15712         * lisp/ses.el (ses-recalculate-all): `A1' -> `(ses-cell-symbol 0 0)'
15714 2017-06-22  Martin Rudalics  <rudalics@gmx.at>
15716         Fix make_hash_table calls in lread.c
15718         * src/lread.c (readevalloop, read_internal_start): Fix
15719         make_hash_table calls to make build succeed.
15721 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
15723         Merge several Lisp reader speedups.
15725 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
15727         Create less garbage to collect while reading symbols.
15729         * src/lread.c (read1): When interning a symbol, only create a new
15730         string object for the name if we're going to use it for a new symbol
15731         object.
15733 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
15735         Replace read_objects assoc list with two hash tables.
15737         For larger input files with lots of shared data structures, an
15738         association list is too slow.
15740         * src/lread.c (read_objects_map, read_objects_completed): New
15741         variables, replacing read_objects.
15742         (readevalloop): Initialize them with hash tables before starting a
15743         top-level read, if they're not already empty hash tables, and reset
15744         them to Qnil afterwards if something was added to the hash tables.
15745         (read_internal_start): Likewise.
15746         (read1): Store first the placeholder and later the newly read object
15747         into read_objects_map under the specified object number.  If the new
15748         object can contain a reference to itself, store it in
15749         read_objects_completed.
15750         (substitute_objects_recurse): Check read_objects_completed instead of
15751         read_objects for the known possibly-recursive objects.
15752         (syms_of_lread): Update initializations.
15754 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
15756         Use getc_unlocked.
15758         * configure.ac: Check for getc_unlocked.
15759         * src/charset.c (read_hex, load_charset_map_from_file): Use
15760         getc_unlocked instead of getc.
15761         (getc_unlocked) [!HAVE_GETC_UNLOCKED]: Fall back to getc.
15762         * src/lread.c (readbyte_from_file, Fget_file_char, read1,
15763         getc_unlocked): Likewise.
15765 2017-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
15767         Reduce lread substitutions.
15769         * src/lread.c (read1): After reading an object using the "#n=" syntax,
15770         if the read object is a cons cell, instead of recursively substituting
15771         the placeholder with the new object, mutate the placeholder cons cell
15772         itself to have the correct car and cdr values.
15774 2017-06-22  Ken Raeburn  <raeburn@raeburn.org>
15776         Short-circuit substitutions for some simple types.
15778         Values that don't contain other values cannot be circular, so checking
15779         for circular objects is a waste of cycles.
15781         * src/lread.c (substitute_object_recurse): If the subtree being
15782         examined is a symbol, number, or property-less string, just return
15783         it.
15785 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15787         Limit style_format to MAX_ALLOCA
15789         * src/editfns.c (styled_format): Subtract initial buffer size
15790         from sa_avail, since it is nontrivial.
15792 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15794         Limit bidi_find_bracket_pairs to MAX_ALLOCA
15796         * src/bidi.c (MAX_BPA_STACK): Now a constant, not a macro.
15797         Shrink it to allow for the two struct bidi_it objects in
15798         the same frame.
15799         (PUSH_BPA_STACK): Avoid integer overflow with enormous bidi cache.
15800         (bidi_find_bracket_pairs): Use compile-time check instead of runtime.
15802 2017-06-22  Paul Eggert  <eggert@cs.ucla.edu>
15804         Limit insert-file-contents to MAX_ALLOCA
15806         * src/fileio.c (READ_BUF_SIZE): Don’t allocate more than
15807         MAX_ALLOCA bytes in a single stack array.
15809 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
15811         Remove malloc_find_address relic
15813         * src/gmalloc.c (register_heapinfo, _malloc_internal_nolock):
15814         Omit unnecessary initialization.
15816 2017-06-21  Paul Eggert  <eggert@cs.ucla.edu>
15818         Fix temacs hybrid_malloc core dump
15820         Without this patch, ./temacs would dump core sometimes on Fedora
15821         25 x86-64.  The problem was that the hybrid allocator assumed that
15822         all pointers into bss_sbrk_buffer are allocated via gmalloc.  This
15823         assumption is not true on Fedora, because the standard memory
15824         allocator calls gdefault_morecore, which means its blocks are
15825         interleaved with our blocks.  Usually the code happened to work,
15826         because our data structures agreed with the glibc data structures,
15827         but this was merely luck due to a shared pedigree, and as glibc
15828         mutates our luck has run out.
15829         * src/gmalloc.c (ALLOCATED_BEFORE_DUMPING) [HYBRID_MALLOC]:
15830         Remove; no longer needed.
15831         (BLOCK): Use unsigned division, as that does the right thing near zero.
15832         (register_heapinfo, __malloc_internal_nolock, __free_internal_nolock)
15833         (_realloc_internal_nolock):
15834         Big blocks now have type -1, not 0, as 0 now means the block is
15835         not ours.
15836         (morecore_nolock): Omit now-unnecessary casts to size_t.
15837         (allocated_via_gmalloc) [HYBRID_MALLOC]: New function.
15838         (hybrid_free, hybrid_realloc) [HYBRID_MALLOC]: Use it, to
15839         avoid calling the wrong free or realloc function in some cases.
15841 2017-06-21  Katsumi Yamaoka  <yamaoka@jpl.org>
15843         Make gnus-article-date-user work
15845         * lisp/gnus/gnus-art.el (article-date-ut):
15846         Work for unfolded multi-line Date header.
15847         (article-transform-date):
15848         Refactor; add header name if it is missing in user-defined date line.
15849         (article-date-user): Fix name of date type.
15851 2017-06-21  Noam Postavsky  <npostavs@gmail.com>
15853         Keep order of completion candidates (Bug#25995, Bug#24676)
15855         * lisp/minibuffer.el (completion-pcm--filename-try-filter)
15856         (completion-pcm--all-completions): Use nreverse to undo the reversing
15857         caused by using push in the loop.
15859 2017-06-21  Glenn Morris  <rgm@gnu.org>
15861         * src/lread.c (syms_of_lread) <load-history>: Doc fix.
15863 2017-06-21  Alex Gramiak  <agrambot@gmail.com>
15865         Mark prolog indent variables as safe (bug#27369)
15867         * lisp/progmodes/prolog.el (prolog-indent-width)
15868         (prolog-left-indent-regexp, prolog-paren-indent-p)
15869         (prolog-paren-indent): Add :safe property.
15871 2017-06-20  Simen Heggestøyl  <simenheg@gmail.com>
15873         Remove `:options' from `css-electric-keys'
15875         * lisp/textmodes/css-mode.el (css-electric-keys): Remove `:options`
15876         since it just duplicates the default value.
15878 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
15880         Fix crash when built by GNU Gold linker on x86
15882         Problem reported by Andrés Musetti (Bug#27248).
15883         * src/widget.c (emacsFrameClassRec): Do not initialize superclass here.
15884         (emacsFrameClass): Now a function (which initializes the
15885         superclass) instead of a variable.  All uses changed.
15887 2017-06-20  Paul Eggert  <eggert@cs.ucla.edu>
15889         Simplify autogen.sh version checking
15891         * autogen.sh (get_version): Simplify and make more reliable
15892         by using expr rather than echo | sed.  Check exit status of program.
15893         Run program in subshell in case it cannot be executed.
15894         (check_version): Check exit status of command rather than its output.
15895         Check return status of get_version.
15897 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
15899         Delete old Date header in a simple way
15901         * lisp/gnus/gnus-art.el (article-date-ut): Don't rely on text prop
15902         when searching the old Date header boundary in order to delete it.
15904 2017-06-20  Bastien  <bzg@gnu.org>
15906         Revert "Don't bind org-agenda key to an anonymous function"
15908         This reverts commit 49c0ff29c2e0243ba35ec17e3e3af49369be43db.
15910 2017-06-20  Katsumi Yamaoka  <yamaoka@jpl.org>
15912         Bind enable-local-variables to nil globally (fix dbe3e41)
15914         * lisp/gnus/mm-view.el (mm-display-inline-fontify):
15915         Bind enable-local-variables to nil globally instead of making it
15916         buffer-local; remove let-bind of local-enable-local-variables.
15917         cf. <b4mtw3bbfp5.fsf@jpl.org> in the emacs-devel list.
15919 2017-06-20  Glenn Morris  <rgm@gnu.org>
15921         kill-matching-buffers to optionally not confirm
15923         * lisp/files.el (kill-matching-buffers):
15924         Add option to not confirm killing.  (Bug#27286)
15926 2017-06-20  Glenn Morris  <rgm@gnu.org>
15928         * lisp/files.el (local-enable-local-variables): Doc fix.
15930 2017-06-20  Glenn Morris  <rgm@gnu.org>
15932         autogen.sh: try to check for tool being present but broken
15934         * autogen.sh (get_version): Check return status of "--version".
15935         (check_version): Try to distinguish between a missing tool
15936         and a broken one.  (Bug#27288)
15938 2017-06-19  Glenn Morris  <rgm@gnu.org>
15940         Avoid a custom-variable-type error (bug#27363)
15942         * lisp/cus-edit.el (custom-variable-type):
15943         Avoid an error due to plist-put becoming stricter of late.
15945 2017-06-19  Glenn Morris  <rgm@gnu.org>
15947         Don't put deleted packages in the trash (bug#14967)
15949         * lisp/emacs-lisp/package.el (package-delete):
15950         Don't pay attention to delete-by-moving-to-trash.
15952 2017-06-19  Nicolas Petton  <nicolas@petton.fr>
15954         Revert "Add current-line in simple.el"
15956         This reverts commit ae98cdf9431604d0f722f1db217ca06debfbb7b6.
15958 2017-06-19  Damien Cassou  <damien@cassou.me>
15960         Add current-line in simple.el
15962         * lisp/simple.el (current-line): New function.
15963         * test/lisp/simple-tests.el: Add tests for current-line.
15965 2017-06-19  Katsumi Yamaoka  <yamaoka@jpl.org>
15967         Don't try to eval local variables in Gnus article
15969         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Disable local vars.
15971 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
15973         Fix emacs-module.h cleaning
15975         * src/Makefile.in (clean): Do not remove emacs-module.h.in.
15976         (bootstrap-clean): Remove emacs-module.h.
15978 2017-06-18  Andreas Schwab  <schwab@linux-m68k.org>
15980         * lisp/url/url-util.el (url-get-url-at-point): Add missing group
15981         in regex.
15983 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
15985         * lib/gettext.h: Merge from gnulib.
15987 2017-06-18  Paul Eggert  <eggert@cs.ucla.edu>
15989         Merge from gnulib
15991         This (and my previous patch) incorporate:
15992         2017-06-17 diffseq: port to GCC 7 with --enable-gcc-warnings
15993         2017-06-15 gettext-h: Update comment
15994         * lib/diffseq.h: Copy from gnulib.
15996 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
15998         * test/Makefile.in: Don't suppress test failure for single tests.
16000 2017-06-17  Philipp Stephani  <phst@google.com>
16002         emacs-module.h: Create emacs_env_26
16004         This was part of the original design of the module
16005         API (https://lists.gnu.org/r/emacs-devel/2015-02/msg00960.html),
16006         but I didn't take it into account when adding the should_quit
16007         function.
16009         Instead of duplicating the environment fields or using the C
16010         preprocessor, use configure to build emacs-module.h.
16012         * configure.ac: Expand emacs-module.h template.
16014 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
16016         Improve documentation of replace-buffer-contents
16018         * etc/NEWS (replace-buffer-contents): Fix formatting.
16020         * src/editfns.c (Freplace_buffer_contents): Doc fix.
16022 2017-06-17  Eli Zaretskii  <eliz@gnu.org>
16024         Finish up native display of line numbers
16026         * src/xdisp.c (maybe_produce_line_number): Produce a blank before
16027         the number, for R2L rows.  Increment 'g' in the loop even if
16028         glyph_row is NULL.  Accept 2nd argument FORCE and produce the
16029         line-number glyphs if it is non-zero.
16030         (move_it_in_display_line_to): Account for the space taken by the
16031         line-number glyphs.  Call maybe_produce_line_number with 2nd
16032         argument non-zero.
16033         (set_cursor_from_row): Fix calculation of cursor X coordinate in
16034         R2L rows with display-produced glyphs at the beginning.
16035         (syms_of_xdisp) <line-number>: New face symbol.
16036         <relative, display-line-width>: New symbols.
16037         (maybe_produce_line_number): Use the line-number face for
16038         displaying line numbers.  Support relative line-number display.
16039         Support user-defined width for displaying line numbers.
16040         (try_cursor_movement, try_window_id): Disable these optimizations
16041         when displaying relative line numbers.
16042         * src/dispextern.h (struct it): New member 'pt_lnum'.
16044         * lisp/faces.el (line-number): New face.
16045         * lisp/cus-start.el (standard): Provide customization forms for
16046         display-line-numbers and display-line-width.
16047         * lisp/menu-bar.el (menu-bar-showhide-menu): Add menu-bar item to
16048         turn display-line-numbers on and off.
16050         * etc/NEWS: Document the new feature.
16052 2017-06-17  Philipp Stephani  <phst@google.com>
16054         Allow local variables section to begin with a square bracket
16056         Fixes Bug#27391.
16058         * lisp/international/mule.el (find-auto-coding): Fix regular
16059         expression for "Local Variables" section.
16061         * test/lisp/international/mule-tests.el (find-auto-coding--bug27391):
16062         Add unit test.
16064 2017-06-17  Philipp Stephani  <phst@google.com>
16066         Remove unnecessary point motion
16068         * src/editfns.c (Freplace_buffer_contents): Remove unnecessary point
16069         motion.
16071 2017-06-17  Philipp Stephani  <phst@google.com>
16073         Add command to replace buffer contents
16075         Add a new command 'replace-buffer-contents' that uses the Myers diff
16076         algorithm to non-destructively replace the accessible portion of the
16077         current buffer.  The Myers algorithm is implemented in Gnulib.
16079         * src/editfns.c (Freplace_buffer_contents): New command.
16080         (set_bit, bit_is_set, buffer_chars_equal): New helper functions.
16081         (syms_of_editfns): Define new command.
16083         * test/src/editfns-tests.el (replace-buffer-contents-1)
16084         (replace-buffer-contents-2): New unit tests.
16086         * src/buffer.h (BUF_FETCH_CHAR_AS_MULTIBYTE): New helper macro.
16088         * admin/merge-gnulib (GNULIB_MODULES): Add diffseq.h and minmax.h.
16090 2017-06-17  Andreas Schwab  <schwab@linux-m68k.org>
16092         * lisp/international/characters.el: Update list of zero and full
16093         width characters according to Unicode 9.0.0.
16095 2017-06-17  Simen Heggestøyl  <simenheg@gmail.com>
16097         Complete CSS property values less eagerly (Bug#27392)
16099         * lisp/textmodes/css-mode.el (css--complete-property-value): Be less
16100         eager by looking for a colon after the property which values are being
16101         completed for.
16103         * test/lisp/textmodes/css-mode-tests.el (css-test-complete-property):
16104         Add a test case ensuring that properties that are prefixes of other
16105         properties don't hinder further completion.
16107 2017-06-17  Noam Postavsky  <npostavs@gmail.com>
16109         Handle integer indices for eshell variables (Bug#26055)
16111         * lisp/eshell/esh-var.el (eshell-index-value): Convert index to number
16112         if it's been marked as one, just like `eshell-lisp-command' does.
16114 2017-06-17  Mark Oteiza  <mvoteiza@udel.edu>
16116         Don't bind org-agenda key to an anonymous function
16118         * lisp/org/org-agenda.el: Bind "g" to named command.
16119         (org-agenda-redo-all): New command.  Extend the previous functionality
16120         through a prefix argument.
16122 2017-06-17  Dmitry Gutov  <dgutov@yandex.ru>
16124         Add test for the fix in the parent commit
16126         * test/src/undo-tests.el (undo-test-skip-invalidated-markers):
16127         New test, for the fix in the parent commit.
16129 2017-06-17  Nitish Chandra  <nitishchandrachinta@gmail.com>  (tiny change)
16131         primitive-undo: Update only the currently valid markers
16133         * lisp/simple.el (primitive-undo):
16134         Update only the currently valid markers (bug#25599).
16136 2017-06-16  Eli Zaretskii  <eliz@gnu.org>
16138         Initial version of native display of line numbers
16140         * src/xdisp.c (syms_of_xdisp) <display-line-numbers>: New
16141         buffer-local variable.
16142         Include <math.h>.
16143         (maybe_produce_line_number): New function.
16144         (DISP_INFINITY): Rename from INFINITY, since math.h defines INFINITY.
16145         (try_window_reusing_current_matrix): Don't use this method when
16146         display-line-numbers is in effect.
16147         * src/dispextern.h (struct it): New members 'lnum'.
16149 2017-06-16  Philipp Stephani  <phst@google.com>
16151         Correctly detect URLs surrounded by parentheses in comments
16153         * lisp/thingatpt.el (thing-at-point--bounds-of-well-formed-url):
16154         Make parentheses match work inside comments.
16156         * test/lisp/thingatpt-tests.el (thing-at-point-url-in-comment): Add
16157         unit test.
16159 2017-06-16  Michael Albinus  <michael.albinus@gmx.de>
16161         Fix load-path issue when it contains remote directories
16163         * lisp/net/tramp.el (tramp-file-name-handler): Use `autoloadp'.
16164         (tramp-use-absolute-autoload-file-names): New defun.  Call it
16165         after loading tramp.el.
16167         * test/lisp/net/tramp-tests.el (tramp-test38-remote-load-path):
16168         New test.
16169         (tramp-test39-unload): Rename.
16171 2017-06-16  Alan Mackenzie  <acm@muc.de>
16173         Ensure C++ initializer lists don't get fontified.
16175         * lisp/progmodes/cc-cmds.el (c-block-comment-flag): Move declaration to solve
16176         compiler warning.
16178         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): Add an extra
16179         clause to handle C++ member initialization lists.
16180         (c-font-lock-single-decl): New function, extracted from
16181         c-font-lock-declarations.
16182         (c-font-lock-declarations): Call c-font-lock-single-decl in place of inline
16183         code.
16184         (c-font-lock-cut-off-declarators): Make more rigorous by calling
16185         c-get-fontification-context, c-forward-decl-or-cast-1, and
16186         c-font-lock-single-decl in place of rather approximate code.
16188 2017-06-16  Alan Mackenzie  <acm@muc.de>
16190         Fix hang in CC Mode when ":" is typed after identifier at EOB.
16192         * lisp/progmodes/cc-engine.el (c-forward-declarator): Fix coding error
16193         confusing ":" and EOB.
16195 2017-06-15  Alan Mackenzie  <acm@muc.de>
16197         Create a toggle between block and line comments in CC Mode.
16199         Also (unrelated change) initialize the modes' keymaps at each loading.
16201         * lisp/progmodes/cc-cmds.el (c-update-modeline): amend for the new information
16202         on the modeline.
16203         (c-block-comment-flag): New variable.
16204         (c-toggle-comment-style): New function.
16206         * lisp/progmodes/cc-langs.el (c-block-comment-starter)
16207         (c-line-comment-starter): Make them c-lang-defvars.
16208         (c-block-comment-is-default): New c-lang-defvar.
16209         (comment-start, comment-end): Make the default values dependent on
16210         c-block-comment-is-default.
16212         * lisp/progmodes/cc-mode.el (c-mode-base-map): Define C-c C-k in this map.
16213         (c-basic-common-init): Initialize c-block-comment-flag.
16214         (c-mode-map, c++-mode-map, objc-mode-map, java-mode-map, idl-mode-map)
16215         (pike-mode-map, awk-mode-map): Make entries in these key maps each time the
16216         mode is loaded rather than just once per Emacs session.
16218         * doc/misc/cc-mode.texi (Comment Commands): Introduce the notion of comment
16219         style.
16220         (Minor Modes): Define comment style.  Describe how comment style influences
16221         the information displayed on the modeline.  Document c-toggle-comment-style.
16222         (FAQ): Add a question about toggling the comment style.
16224 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
16226         Pacify clang without munging C source
16228         * configure.ac (WARN_CFLAGS): With Clang, use
16229         -Wno-tautological-compare regardless of --enable-gcc-warnings.
16230         (WERROR_CFLAGS): Simplify assignments, and guarantee it’s always set.
16231         * lib/strftime.c: Copy from gnulib, reverting Clang-specific
16232         change which I hope is no longer needed.
16233         * src/emacs.c (main): Revert rlim_t change, as rlim_t is signed on
16234         some older non-POSIX hosts.
16236 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
16238         No need to complicate make-docfile.c for Clang
16240         * lib-src/make-docfile.c (put_filename): Undo recent change.
16241         The Clang false alarm occurs only with CFLAGS=-save-temps and
16242         we needn’t worry about pacifying unusual compiler configurations.
16244 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
16246         Port './configure CC=clang' to Fedora 25
16248         * configure.ac (HAVE_IMAGEMAGICK): Disable if even a
16249         standard function like MagickRelinquishMemory does not link.
16251 2017-06-15  Paul Eggert  <eggert@cs.ucla.edu>
16253         Don’t worry about __STDC_VERSION__ in emacs-module
16255         * src/emacs-module.h: Remove __STDC_VERSION__ check.  In the past
16256         we’ve found that some compilers do not define this symbol even
16257         when they work well enough.  If necessary features like stdbool.h
16258         are missing the compiler will complain eventually anyway.
16260 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
16262         Port cleanup check to Oracle Studio 12.5
16264         * src/conf_post.h (__has_attribute_cleanup): Resurrect.
16265         * src/emacs-module.c: Verify __has_attribute (cleanup), but in an
16266         #if this time.
16268 2017-06-14  Bastien  <bzg@gnu.org>
16270         Fix misformatted changelog entry
16272 2017-06-14  Eli Zaretskii  <eliz@gnu.org>
16274         Avoid compiler warning in image.c on MS-Windows
16276         * src/image.c (x_create_x_image_and_pixmap) [HAVE_NTGUI]: Avoid
16277         compilation warning under -Warray-bounds by temporarily disabling
16278         the -Warray-bounds option.
16280 2017-06-14  Michael Albinus  <michael.albinus@gmx.de>
16282         Fix Bug#27315
16284         * lisp/net/tramp-cache.el (tramp-cache-read-persistent-data):
16285         New defvar.
16286         (top): Use it.
16288         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
16289         Check for connected, not for connectable.  (Bug#27315)
16290         (tramp-process-actions):
16291         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
16292         Use `tramp-cache-read-persistent-data'.
16294         * test/lisp/net/tramp-tests.el (top): Set also
16295         `tramp-cache-read-persistent-data'.
16297 2017-06-14  Noam Postavsky  <npostavs@gmail.com>
16299         Give a fixed default value for icomplete-prospects-height (Bug#26939)
16301         * lisp/icomplete.el (icomplete-prospects-height): Default to 2.
16302         (icomplete-prospects-length): Remove.
16303         * etc/NEWS: Announce removal.
16305 2017-06-14  Philipp Stephani  <phst@google.com>
16307         Remove some tautological comparisons involving rlim_t
16309         Clang on macOS warns about these with -Wtautological-compare.  POSIX
16310         guarantees that rlim_t is
16311         unsigned (cf.
16312         http://pubs.opengroup.org/onlinepubs/009695399/basedefs/sys/resource.h.html),
16313         so these resource limits can never be negative.
16315         * src/emacs.c (main): Remove tautological comparisons.
16317 2017-06-14  Philipp Stephani  <phst@google.com>
16319         Use --module-assertions if modules are available
16321         Using --module-assertions helps us find bugs in the test module.  But
16322         we can use it only if Emacs was compiled with module support.
16324         * test/Makefile.in (MODULES_EMACSOPT): New variable.
16325         (emacs): Use it.
16327 2017-06-14  Philipp Stephani  <phst@google.com>
16329         Define --module-assertions only of modules are available
16331         Fixes Bug#27352.
16333         * src/emacs.c (usage_message, standard_args): Define
16334         --module-assertions only if Emacs has been compiled with module
16335         support.
16337 2017-06-14  Katsumi Yamaoka  <yamaoka@jpl.org>
16339         gnus-article-read-summary-keys: Don't move point for WDD and WDW commands
16341         * lisp/gnus/gnus-art.el (gnus-article-read-summary-keys):
16342         No need to restore window config for WDD and WDW commands.
16344 2017-06-14  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
16346         lisp/net/soap-client.el: Bump version to 3.1.3
16348         * lisp/net/soap-client.el: Bump version to 3.1.3.
16349         (soap-name-p): Fix checkdoc issue.
16351 2017-06-14  Alex Harsanyi  <AlexHarsanyi@gmail.com>
16353         Fix an HTTP encoding error in soap-client.el
16355         * lisp/net/soap-client.el (soap-invoke-internal): Make
16356         SOAPAction header a UTF-8 encoded string.
16358 2017-06-14  Paul Eggert  <eggert@cs.ucla.edu>
16360         Port cleanup attribute to Oracle Studio 12.5
16362         * INSTALL (--with-modules): List cleanup attribute as prereq.
16363         * src/conf_post.h (__has_attribute_cleanup): Remove; no longer needed.
16364         * src/emacs-module.c (MODULE_SETJMP_1): Don’t attempt to verify
16365         (__has_attribute (cleanup)), as Oracle Studio 12.5 supports
16366         __has_attribute only inside preprocessor expressions.  The C
16367         compiler should check the cleanup attribute in the next line anyway.
16368         (module_reset_handlerlist): Remove an unnecessary ‘const’
16369         that causes Oracle Studio 12.5 to refuse to compile.
16371 2017-06-14  Glenn Morris  <rgm@gnu.org>
16373         Fix running tests in without-modules builds
16375         * test/Makefile.in (EMACSOPT): Remove option that is only defined
16376         with-modules.  emacs-module-tests.el passes it where needed.
16378 2017-06-13  Glenn Morris  <rgm@gnu.org>
16380         * test/Makefile.in (src/emacs-module-tests.log): Out-of-tree fix.
16382 2017-06-13  Philipp Stephani  <phst@google.com>
16384         Inline test module Makefile into main test Makefile
16386         The test/data/emacs-module/Makefile only built a single target, and
16387         inlining it into test/Makefile simplifies dependency tracking and
16388         reduces code duplication.
16390         * configure.ac: Don't build test/data/emacs-module/Makefile.
16392         * Makefile.in ($(test_module)): Inline compilation.
16393         (clean): Also clean test module outputs.
16395 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
16397         * lisp/net/tramp-sh.el (tramp-set-file-uid-gid): Do not handle locally on w32.
16399 2017-06-13  Michael Albinus  <michael.albinus@gmx.de>
16401         Minor tweaks in Tramp manual
16403         * doc/misc/trampver.texi: Add prefixwithspace flag.
16405         * doc/misc/tramp.texi (Password handling): Harmonize example.
16406         (File name completion): Use prefixwithspace flag.
16407         (Frequently Asked Questions): Explain `tramp-histfile-override'.
16409 2017-06-13  Philipp Stephani  <phst@google.com>
16411         Silence two Clang warnings by introducing additional local variables
16413         * lib/strftime.c (libc_hidden_def):
16414         * lib-src/make-docfile.c (put_filename): Introduce local variables to
16415         silence Clang warnings.
16417 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
16419         Fix wrong indentation after string literal (Bug#27306)
16421         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-state)
16422         (lisp-indent-calc-next): Remove `depth' field, use (car ppss) instead.
16423         * test/lisp/emacs-lisp/lisp-mode-tests.el
16424         (lisp-indent-region-after-string-literal): New test.
16426 2017-06-13  Philipp Stephani  <phst@google.com>
16428         Fix version checks for emacs-module.h
16430         We don't need C11 or C++11 because stdbool.h is in C99, and for C++ we
16431         don't need it at all.
16433 2017-06-13  Noam Postavsky  <npostavs@gmail.com>
16435         Buttonize #<bytecode> part of printed functions (Bug#25226)
16437         * lisp/emacs-lisp/cl-print.el: Autoload `disassemble-1'.
16438         (cl-print-compiled-button): New variable.
16439         (help-byte-code): New button type, calls `disassemble' in its action.
16440         (cl-print-object): Use it if `cl-print-compiled-button' is
16441         non-nil.
16443 2017-06-12  Philipp Stephani  <phst@google.com>
16445         Print module structure sizes when initializing test module
16447         * test/data/emacs-module/mod-test.c (emacs_module_init): Print
16448         compile-time and runtime sizes of module structures to ease debugging
16450 2017-06-12  Glenn Morris  <rgm@gnu.org>
16452         Small portability fix for emacs-module.h (bug#27346)
16454         * src/emacs-module.h (EMACS_ATTRIBUTE_NONNULL) [!__has_attribute]:
16455         Avoid 'error: missing binary operator before token "("'.
16457 2017-06-12  Glenn Morris  <rgm@gnu.org>
16459         Give a more informative failure in module assertion test
16461         * test/src/emacs-module-tests.el (module--test-assertions):
16462         Rephrase final check to give a more informative failure.
16464 2017-06-12  Philipp Stephani  <phst@google.com>
16466         Fix off-by-one error
16468         * test/data/emacs-module/mod-test.c (emacs_module_init): Fix
16469         off-by-one error.
16471 2017-06-12  Glenn Morris  <rgm@gnu.org>
16473         Clean up after module assertion tests
16475         * test/src/emacs-module-tests.el (module--test-assertions):
16476         Use a temporary directory to contain any core dumps.
16478 2017-06-12  Glenn Morris  <rgm@gnu.org>
16480         Small improvement for module assertion test
16482         * test/src/emacs-module-tests.el (module--test-assertions):
16483         Don't rely on the precise form of an "Abort" message.
16485 2017-06-12  Glenn Morris  <rgm@gnu.org>
16487         Improve previous test/data/emacs-module/Makefile change
16489         * test/data/emacs-module/Makefile.in (clean):
16490         Avoid doing unpleasant things if run in a build without modules.
16492 2017-06-12  Glenn Morris  <rgm@gnu.org>
16494         Small improvements for test/data/emacs-module/Makefile
16496         * test/data/emacs-module/Makefile.in (%.o):
16497         Fix emacs-module dependency.
16498         (SECONDARY): Stop make automatically deleting *.o.
16499         (clean): New rule.
16501 2017-06-12  Glenn Morris  <rgm@gnu.org>
16503         * make-dist: Skip some more generated files in test/.
16505 2017-06-12  Alan Third  <alan@idiocy.org>
16507         Note how fullscreen differs on the NS port
16509         doc/lispref/frames.texi (Size Parameters):
16510         doc/emacs/frames.texi (Tool Bars): Add a description of how macOS
16511         hides the tool-bar and menu-bar in fullscreen.
16513 2017-06-12  Alan Third  <alan@idiocy.org>
16515         Add no-focus-on-map to NS build (bug#25408)
16517         * src/nsfns.m (ns_frame_parm_handlers): Add x_set_no_focus_on_map.
16518         (x-create-frame): Check for no-focus-on-map.
16519         * src/nsterm.h (x_set_no_focus_on_map): New function.
16520         * src/nsterm.m (x_set_no_focus_on_map): New function.
16521         (ns_raise_frame): Add parameter for specifying whether to focus the
16522         frame.
16523         (ns_frame_raise_lower):
16524         (x_make_frame_visible): Handle new parameter for ns_raise_frame.
16526 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
16528         _Noreturn not noreturn
16530         _Noreturn is more portable to non-C11 platforms.  See:
16531         https://www.gnu.org/software/gnulib/manual/html_node/stdnoreturn_002eh.html
16532         * src/emacs-module.c: Use _Noreturn, not noreturn.  No need to
16533         include <stdnoreturn.h>.  Reindent to fit in 80 columns.
16535 2017-06-12  Glenn Morris  <rgm@gnu.org>
16537         Update make-dist for recent test/ changes
16539         * make-dist: No longer distribute test/data/emacs-module/Makefile.
16541 2017-06-12  Michael Albinus  <michael.albinus@gmx.de>
16543         Handle port and domain in Tramp's password cache
16545         * doc/misc/tramp.texi (Password handling): Explain port and
16546         domain handling in authinfo.
16548         * lisp/net/tramp.el (tramp-process-actions, tramp-clear-passwd):
16549         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-askpassword):
16550         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
16551         (tramp-maybe-open-connection):
16552         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
16553         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
16554         (tramp-smb-maybe-open-connection): Handle also domain and port.
16556 2017-06-12  Eli Zaretskii  <eliz@gnu.org>
16558         Avoid compilation warnings with pre-C99 libc
16560         * src/emacs-module.c (module_free_global_ref)
16561         (module_assert_runtime, module_assert_env, value_to_lisp): Use 'pD'
16562         instead of C99 't' format descriptor.
16564 2017-06-12  Philipp Stephani  <phst@google.com>
16566         Flush all output streams before aborting
16568         Maybe the stdout buffer still contains something interesting that
16569         should be flushed.
16571         * src/emacs-module.c (module_abort): Flush all output streams before
16572         aborting.
16574 2017-06-12  Philipp Stephani  <phst@google.com>
16576         Remove an assertion that doesn't test Emacs invariants
16578         * src/emacs-module.c (module_copy_string_contents): Remove an
16579         assertion that doesn't test Emacs invariants.
16581 2017-06-12  Philipp Stephani  <phst@google.com>
16583         Test module: add necessary version checks
16585         * test/data/emacs-module/mod-test.c (emacs_module_init): Add necessary
16586         version checks.
16588 2017-06-12  Philipp Stephani  <phst@google.com>
16590         Use additional CFLAGS from configure
16592 2017-06-12  Philipp Stephani  <phst@google.com>
16594         Use Autoconf to generate the test module Makefile
16596         This makes it easier to pass compilation flags around.
16598         * configure.ac: Also build test module Makefile.
16600         * test/data/emacs-module/Makefile.in: New makefile template.
16602         * test/Makefile.in ($(test_module)): No longer necessary to pass
16603         @MODULES_SUFFIX@ around.
16605         * .gitignore: Test module Makefile can now be ignored.
16607 2017-06-12  Philipp Stephani  <phst@google.com>
16609         Also compile test module as C11
16611         * test/data/emacs-module/Makefile (CFLAGS): Compile test module as C11
16613 2017-06-12  Philipp Stephani  <phst@google.com>
16615         Implement module assertions for users
16617         Add a new command-line option '-module-assertions' that users can
16618         enable developing or debugging a module.  If this option is present,
16619         Emacs performs additional checks to verify that modules fulfill their
16620         requirements.  These checks are expensive and crash Emacs if modules
16621         are invalid, so disable them by default.
16623         This is a command-line option instead of an ordinary variable because
16624         changing it while Emacs is running would cause data structure
16625         imbalances.
16627         * src/emacs.c (main): New command line option '-module-assertions'.
16629         * src/emacs-module.c (module_assert_main_thread)
16630         (module_assert_runtime, module_assert_env, module_assert_value):
16631         New functions to assert module requirements.
16632         (syms_of_module): New uninterned variable 'module-runtimes'.
16633         (init_module_assertions, in_main_thread, module_abort): New helper
16634         functions.
16635         (initialize_environment): Initialize value list.  If assertions are
16636         enabled, use a heap-allocated environment object.
16637         (finalize_environment): Add assertion that environment list is never
16638         empty.
16639         (finalize_runtime_unwind): Pop module runtime object stack.
16640         (value_to_lisp): Assert that the value is valid.
16641         (lisp_to_value): Record new value if assertions are enabled.
16642         (mark_modules): Mark allocated object list.
16643         (MODULE_FUNCTION_BEGIN_NO_CATCH)
16644         (module_non_local_exit_check, module_non_local_exit_clear)
16645         (module_non_local_exit_get, module_non_local_exit_signal)
16646         (module_non_local_exit_throw): Assert thread and environment.
16647         (module_get_environment): Assert thread and runtime.
16648         (module_make_function, module_funcall, module_intern)
16649         (module_funcall, module_make_integer, module_make_float)
16650         (module_make_string, module_make_user_ptr, module_vec_get)
16651         (funcall_module, Fmodule_load): Adapt callers.
16652         (module_make_global_ref): If assertions are enabled, use the global
16653         environment to store global values.
16654         (module_free_global_ref): Remove value from global value list.
16656         * test/Makefile.in (EMACSOPT): Enable module assertions when testing
16657         modules.
16659         * test/data/emacs-module/mod-test.c (Fmod_test_invalid_store)
16660         (Fmod_test_invalid_load): New functions to test module assertions.
16661         (emacs_module_init): Bind the new functions.
16663         * test/src/emacs-module-tests.el (mod-test-emacs): New constant for
16664         the Emacs binary file.
16665         (mod-test-file): New constant for the test module file name.
16666         (module--test-assertions): New unit test.
16668 2017-06-12  Philipp Stephani  <phst@google.com>
16670         emacs-module: Use __attribute__((nonnull))
16672         Annotate all parameters with __attribute__((nonnull)) that may not be
16673         NULL.
16675 2017-06-12  Philipp Stephani  <phst@google.com>
16677         Explicitly require C11 or C++11 in emacs-module.h
16679         We already implicitly require them by including stdbool.h.  Just make
16680         the error message a bit clearer, and remove an unnecessary version
16681         comparison.
16683 2017-06-12  Philipp Stephani  <phst@google.com>
16685         Add missing 'require' forms to prevent compiler warnings.
16687         * lisp/eshell/esh-ext.el (esh-arg, esh-proc): Add missing
16688         requirements.
16690 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
16692         Merge from gnulib
16694         This incorporates:
16695         2017-06-11 getopt-posix: port to glibc 2.25.90
16696         2017-06-04 same-inode: port better to VMS 8.2 and later
16697         * doc/misc/texinfo.tex, lib/getopt-pfx-core.h, lib/getopt-pfx-ext.h:
16698         * m4/sys_types_h.m4: Copy from gnulib.
16700 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
16702         Remove Lisp_Misc_Float
16704         * src/data.c (Ftype_of): Do not worry about Lisp_Misc_Float.
16705         * src/lisp.h (Lisp_Misc_Float): Remove.  This placeholder has been
16706         unused for two decades; if we ever want to change floats to be a
16707         misc type we can bring it back then.
16709 2017-06-12  Paul Eggert  <eggert@cs.ucla.edu>
16711         Make two symbols private to emacs-module.c
16713         * src/lisp.h (allocate_module_function, XSET_MODULE_FUNCTION):
16714         Move from here ...
16715         * src/emacs-module.c: ... to here.
16717 2017-06-12  Glenn Morris  <rgm@gnu.org>
16719         Merge from origin/emacs-25
16721         da62c1532e4 (origin/emacs-25) Improve the documentation of filesets
16723 2017-06-12  Glenn Morris  <rgm@gnu.org>
16725         Merge from origin/emacs-25
16727         e80f6a210b0 Describe problems with Microsoft Intellipoint
16728         a73ec1edb07 More accurate documentation of the ':box' face attribute
16730 2017-06-12  Glenn Morris  <rgm@gnu.org>
16732         Merge from origin/emacs-25
16734         eaa00584ceb Improve documentation of 'gnutls-verify-error'
16735         908498cc01b ; etc/PROBLEMS: Describe GTK-related crashes on elementar...
16736         741daec617e ; Describe the problem with ksh when resizing shell window
16738 2017-06-11  Michael Albinus  <michael.albinus@gmx.de>
16740         Some further improvements for tramp-gvfs.el
16742         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
16743         (tramp-gvfs-get-file-attributes)
16744         (tramp-gvfs-maybe-open-connection): Handle davs? properly.
16745         (tramp-gvfs-handler-askquestion): Improve `yes-or-no-p' prompt.
16746         Show question also in batch mode.  Cache result.
16748         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
16749         Support completion for host names and ports.
16751 2017-06-11  Simen Heggestøyl  <simenheg@gmail.com>
16753         Fix highlighting of CSS selectors with double hyphens
16755         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Fix
16756         highlighting of selectors that contain double hyphens.  They would be
16757         mistaken for a variable.
16759 2017-06-11  Philipp Stephani  <phst@google.com>
16761         Support threads in modules
16763         Rather than checking for the main thread, check for the current
16764         thread.
16766         * src/emacs-module.c (check_thread): New function.
16767         (MODULE_FUNCTION_BEGIN_NO_CATCH, module_get_environment)
16768         (module_non_local_exit_check, module_non_local_exit_clear)
16769         (module_non_local_exit_get, module_non_local_exit_signal)
16770         (module_non_local_exit_throw, module_is_not_nil, module_eq): Use it.
16772 2017-06-11  Philipp Stephani  <phst@google.com>
16774         Allow non-local exits in module initializers
16776         Previously signals, throws, and quits from module initialization
16777         functions were ignored.  These function aren't special, and better
16778         errors can be reported using signals than with the initialization
16779         return code, so allow non-local exits.
16781         * src/emacs-module.c (module_signal_or_throw): New helper function.
16782         (Fmodule_load, funcall_module): Use it.
16783         (Fmodule_load): Also allow quitting.
16785 2017-06-11  Noam Postavsky  <npostavs@gmail.com>
16787         Let eshell/sudo handle absolute command names (Bug#27167)
16789         * lisp/eshell/esh-ext.el (eshell-find-interpreter): Don't change
16790         absolute paths into relative ones.
16792 2017-06-10  Alan Third  <alan@idiocy.org>
16794         Don't wait for toolbar in NS native fullscreen
16796         * src/nsterm.m (EmacsView:updateFrameSize): Don't short-circuit the
16797         function when in fullscreen.
16799 2017-06-10  Alexander Gramiak  <agrambot@gmail.com>
16801         Fix the placement of GTK menus on multi-monitor systems
16803         menu_position_func did not properly use the current monitor's
16804         resolution.  Also see commit '2016-02-06 22:12:53 +0100'.
16806         * lisp/frame.el (frame-monitor-attribute, frame-monitor-geometry)
16807         (frame-monitor-workarea): New functions.
16809         * src/xmenu.c (menu_position_func): Take into account the workarea of
16810         the monitor that contains the mouse.  (Bug#23568)
16812 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
16814         Clarify documentation of 'face-spec-set'
16816         * lisp/faces.el (face-spec-set): Clarify the description of
16817         SPEC-TYPE in the doc string.
16819         * doc/lispref/display.texi (Defining Faces): Clarify the
16820         description of 'face-spec-set's SPEC-TYPE argument.  (Bug#27246)
16822 2017-06-10  Michael Albinus  <michael.albinus@gmx.de>
16824         Fix domain port and handling in tramp-gvfs.el
16826         * lisp/net/tramp-gvfs.el (tramp-gvfs-dbus-byte-array-to-string):
16827         Return nil if BYTE-ARRAY is nil.
16828         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
16829         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
16830         Fix domain and port handling.
16832         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
16833         Ignore errors.
16835 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
16837         Improve documentation of 'face-spec-set-2'
16839         * lisp/faces.el (face-spec-recalc, face-spec-set-2): Rename 'spec'
16840         to 'face-attrs'.
16841         (face-spec-choose, face-spec-set-2): Doc fix.  (Bug#27238)
16843 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
16845         Fix handling of Python/Guile commands with arguments in gdb-mi.el
16847         * lisp/progmodes/gdb-mi.el (gdb-python-guile-commands-regexp): New
16848         variable.
16849         (gdb-control-commands-regexp): Use it.
16850         (gdb-send): Don't increment gdb-control-level if the command
16851         matches gdb-python-guile-commands-regexp and has non-empty
16852         arguments.  Reported by David Boles <boles@ieee.org> in
16853         https://lists.gnu.org/r/emacs-devel/2017-06/msg00009.html.
16855 2017-06-10  Eli Zaretskii  <eliz@gnu.org>
16857         Preserve point in Dired windows under 'dired-auto-revert-buffer'
16859         * lisp/dired.el (dired-find-file): When dired-auto-revert-buffer
16860         is non-nil, bind switch-to-buffer-preserve-window-point to nil
16861         while calling find-file.  (Bug#27243)
16863 2017-06-09  Philipp Stephani  <phst@google.com>
16865         Give test files a -tests.el suffix
16867         Rename a couple of test files that have the same name as the library
16868         they test.  This harmonizes the naming pattern and makes it possible
16869         to have the tests directories in the load path.
16871 2017-06-09  Philipp Stephani  <phst@google.com>
16873         Fix another compiler warning on macOS
16875         * src/image.c (x_query_frame_background_color): Don't define if we
16876         have NextStep but no image support.
16878 2017-06-09  Philipp Stephani  <phst@google.com>
16880         Add garbage collection support for module environments
16882         * src/emacs-module.c (mark_modules): New function.
16883         (initialize_environment): Properly initialize Lisp objects.
16884         * src/alloc.c (garbage_collect_1): Call it.
16886 2017-06-08  Glenn Morris  <rgm@gnu.org>
16888         Make autogen.sh report relevant environment variables
16890         * autogen.sh (check_version):
16891         Indicate if using an environment variable.
16893 2017-06-08  Noam Postavsky  <npostavs@gmail.com>
16895         Split variable macro env from function env
16897         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove.
16898         (cl-symbol-macrolet): Instead of adding each binding directly into the
16899         main environment with a special key format, put all symbol macro
16900         bindings into a single entry in the main environment under
16901         `:cl-symbol-macros'.
16902         (cl--sm-macroexpand): Look up symbol bindings in the
16903         `:cl-symbol-macros' entry of the environment.
16905 2017-06-07  Glenn Morris  <rgm@gnu.org>
16907         * make-dist: Directory modules/mod-test no longer exists.
16909 2017-06-07  Glenn Morris  <rgm@gnu.org>
16911         More authors.el updates
16913         * admin/authors.el (authors-ignored-files, authors-valid-file-names)
16914         (authors-renamed-files-alist): Additions.
16916 2017-06-07  Glenn Morris  <rgm@gnu.org>
16918         * make-dist: Check a release has a ChangeLog with a release notice.
16920         * make-dist: Use existing ChangeLog if present.
16922 2017-06-07  Michael Albinus  <michael.albinus@gmx.de>
16924         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Fix port handling.
16926 2017-06-07  Lars Ingebrigtsen  <larsi@gnus.org>
16928         (url-cookie-host-can-set-p): Protect against zero-length domains
16930         * lisp/url/url-cookie.el (url-cookie-host-can-set-p): Protect
16931         against zero-length domains.
16933         Backtrace of a real-world site that triggers a bug:
16935         Debugger entered--Lisp error: (args-out-of-range "" 0)
16936           url-cookie-host-can-set-p("www.washingtonpost.com" "")
16937           url-cookie-handle-set-cookie("utm_term=0;Expires=Thursday,
16938           01-January-1970 00:00:00 GMT; path=/; domain=")
16939           url-http-handle-cookies()
16941 2017-06-06  Glenn Morris  <rgm@gnu.org>
16943         More authors.el updates
16945         * admin/authors.el (authors-obsolete-files-regexps)
16946         (authors-valid-file-names, authors-renamed-files-alist)
16947         (authors-renamed-files-regexps): Additions.
16949 2017-06-06  Glenn Morris  <rgm@gnu.org>
16951         More small authors.el updates
16953         * admin/authors.el (authors-aliases): Fix recent addition.
16954         (authors-obsolete-files-regexps, authors-no-scan-regexps)
16955         (authors-ignored-files, authors-valid-file-names)
16956         (authors-renamed-files-alist): Additions.
16958 2017-06-06  Glenn Morris  <rgm@gnu.org>
16960         Make authors.el report names that were ignored
16962         * admin/authors.el (authors-ignored-names): New.
16963         (authors-canonical-author-name): Add file and position arguments.
16964         Record ignored authors.
16965         (authors-scan-change-log, authors-scan-el):
16966         Pass file and position to authors-canonical-author-name.
16967         (authors): Also print authors that were ignored.
16969 2017-06-06  Glenn Morris  <rgm@gnu.org>
16971         * admin/authors.el (authors-aliases): Additions.
16973 2017-06-06  Tino Calancha  <tino.calancha@gmail.com>
16975         * test/lisp/subr-tests.el (subr-tests-bug22027): Add test.
16977 2017-06-06  Noam Postavsky  <npostavs@gmail.com>
16979         * lisp/subr.el (read-passwd): Don't delete return value (Bug#22027).
16981 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
16983         Enable ElDoc messages after the newline command
16985         * lisp/emacs-lisp/eldoc.el:
16986         Add "newline" to the eldoc-add-command-completions call (bug#27228).
16988 2017-06-06  Dmitry Gutov  <dgutov@yandex.ru>
16990         Enable eldoc-mode explicitly inside read--expression
16992         * lisp/simple.el (read--expression): Call eldoc-mode (bug#27202).
16994 2017-06-06  Andy Moreton  <andrewjmoreton@gmail.com>
16996         Fix check for package-unsigned-archives during retrieval
16998         * lisp/emacs-lisp/package.el (package--download-one-archive):
16999         Fix check for package-unsigned-archives.
17001 2017-06-05  Noah Friedman  <friedman@splode.com>
17003         Merge etc/emacs-buffer.gdb from emacs-25 to master.
17005 2017-06-05  Philipp Stephani  <phst@google.com>
17007         Fix undefined behavior in mapbacktrace
17009         * src/eval.c (Fmapbacktrace): Don't assume that PDL is still valid.
17011 2017-06-05  Eli Zaretskii  <eliz@gnu.org>
17013         Fix emacs-module-tests on MS-Windows
17015         * src/print.c (print_vectorlike): Make sure module function's
17016         address prints with a leading "0x".  This fixes emacs-module-tests
17017         on MS-Windows.  Fix whitespace.
17018         * src/dynlib.c (dynlib_addr): Remove unused variable.  Update
17019         commentary.
17021 2017-06-05  Philipp Stephani  <phst@google.com>
17023         Use unwind protection to clean up data structures in modules
17025         Reuse existing functionality and simplify the code a bit.
17027         * src/emacs-module.c (Fmodule_load): Use unwind protection to clean up
17028         runtime object.
17029         (funcall_module): Use unwind protection to clean up environment
17030         object.
17031         (finalize_environment): Simplify signature.
17032         (finalize_environment_unwind, finalize_runtime_unwind): New functions.
17034 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
17036         Some minor tweaks in tramp-tests.el
17038         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name-relative):
17039         Let it pass for all gfvs based methods.
17040         (tramp-test24-file-name-completion): Run method and host
17041         completion for all syntaxes only when expensive tests are enabled.
17042         Do not check host completion for gvfs based methods.
17043         (tramp--test-gvfs-p): Add optional METHOD argument.
17044         (tramp--test-afp-or-smb-p): Remove.
17046 2017-06-05  Michael Albinus  <michael.albinus@gmx.de>
17048         Fix error in Tramp rsync method
17050         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-c" argument.
17051         Otherwise, `tramp-test10-write-region' could fail.
17053 2017-06-05  Philipp Stephani  <phst@google.com>
17055         Inline module_has_cleanup
17057         This constant is only used once, and we fail compilation anyway if
17058         it's false.
17060         * src/emacs-module.c (MODULE_SETJMP_1): Inline __has_attribute.
17062 2017-06-05  Philipp Stephani  <phst@google.com>
17064         Add missing dependency to test module source file
17066 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
17068         Omit space that broke ‘make check’
17070         * src/print.c (print_vectorlike): Omit stray space.
17072 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
17074         Remove easserts etc. from emacs-module.c
17076         Most of these seem to run afoul of the comment "Do NOT use
17077         'eassert' for checking validity of user code in the module."
17078         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH)
17079         (module_non_local_exit_check, module_non_local_exit_clear)
17080         (module_non_local_exit_get, module_non_local_exit_signal)
17081         (module_non_local_exit_throw, module_make_string):
17082         Remove unnecessary easserts that pointers are nonnull.
17083         Hardware checks this for us nowadays, and the checks
17084         just clutter up the code.
17085         (module_extract_integer): Remove unnecessary verify that
17086         a C signed integer is in the range INTMAX_MIN..INTMAX_MAX.
17087         The C standard guarantees this.
17088         (module_copy_string_contents): Remove unnecessary eassert
17089         that Lisp strings are null-terminated.
17090         (module_function_arity): Remove unnecessary easserts that
17091         function arities are in range.
17093 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
17095         Remove unnecessary checking in emacs-module.c
17097         * src/emacs-module.c (module_copy_string_contents):
17098         Remove checking, as string lengths are always nonnegative and less
17099         than STRING_BYTES_BOUND, and this is checked elsewhere.
17100         (module_make_string): Check length against STRING_BYTES_BOUND, a
17101         tighter bound than MOST_POSITIVE_FIXNUM.  (funcall_module): Don't
17102         assume that an out-of-range integer is nonnegative.
17104 2017-06-05  Paul Eggert  <eggert@cs.ucla.edu>
17106         SCHARS and STRING_BYTES are nonnegative
17108         Tell the compiler that SCHARS and STRING_BYTES are nonnegative, in
17109         the hopes that this will optimize a bit better.  Also, check this
17110         at runtime if ENABLE_CHECKING.
17111         * src/lisp.h (SCHARS, STRING_BYTES):
17112         eassume that these functions return nonnegative values.
17113         (STRING_SET_CHARS) [ENABLE_CHECKING]:
17114         eassert that newsize is nonnegative.
17116 2017-06-05  Noam Postavsky  <npostavs@gmail.com>
17118         * lisp/desktop.el (desktop-clear): Skip the daemon's frame (Bug#26912).
17120 2017-06-04  Philipp Stephani  <phst@google.com>
17122         Remove an unused error symbol
17124         * src/emacs-module.c (syms_of_module): Remove unused error symbol
17125         'invalid-module-call'.
17127 2017-06-04  Philipp Stephani  <phst@google.com>
17129         Support quitting in modules
17131         The idea is that modules should call env->should_quit from time to
17132         time and return as quickly as possible if it returns true.
17134         * src/emacs-module.c (module_should_quit): New module function.
17135         (initialize_environment): Use it.
17136         (funcall_module): Process potential pending quit.
17138         * src/eval.c (maybe_quit): Add reference to module_should_quit.
17140 2017-06-04  Philipp Stephani  <phst@google.com>
17142         Use more specific errors for module load failure
17144         * src/emacs-module.c (syms_of_module): Add more specific error
17145         symbols.
17146         (Fmodule_load): Use them.
17148 2017-06-04  Philipp Stephani  <phst@google.com>
17150         Remove an unneeded assertion
17152         * src/emacs-module.c (module_copy_string_contents): Remove unneeded
17153         assertion.  If this assertion triggers, we raise an error anyway.
17155 2017-06-04  Philipp Stephani  <phst@google.com>
17157         Guard against signed integer overflows
17159         * src/emacs-module.c (module_extract_integer)
17160         (module_copy_string_contents, module_make_string): Guard against
17161         signed integer overflows.
17163 2017-06-04  Philipp Stephani  <phst@google.com>
17165         Add a couple more assertions to the module code
17167         These can help module authors debug crashes.
17169         * src/emacs-module.c (module_non_local_exit_check)
17170         (module_non_local_exit_clear, module_non_local_exit_get)
17171         (module_non_local_exit_signal, module_non_local_exit_throw)
17172         (module_copy_string_contents, module_make_string)
17173         (funcall_module, initialize_environment): Add assertions
17175 2017-06-04  Philipp Stephani  <phst@google.com>
17177         Use ATTRIBUTE_MAY_ALIAS where alias violations are likely
17179         In particular, alias violations are likely for the return values of
17180         dlsym(3), which get cast around arbitrarily.
17182         * src/emacs-module.c (Fmodule_load): Use ATTRIBUTE_MAY_ALIAS.
17184 2017-06-04  Philipp Stephani  <phst@google.com>
17186         Simplify interface of dynlib_attr.
17188         Instead of returning bool, set the argument pointers to NULL if the
17189         information is not available.
17191         * src/dynlib.c (dynlib_addr): Don't return bool.
17193 2017-06-04  Philipp Stephani  <phst@google.com>
17195         Rationalize environment lifetime management functions
17197         * src/emacs-module.c (Fmodule_load, funcall_module): Adapt callers.
17198         (finalize_environment): Add parameter for public part of the
17199         environment, like 'initialize_environment'.  Add assertions.
17201 2017-06-04  Philipp Stephani  <phst@google.com>
17203         Rework printing of module functions
17205         Fix a FIXME in emacs-module.c.  Put the printing into print.c, like
17206         other types.
17208         * src/print.c (print_vectorlike): Add code to print module functions.
17210         * src/emacs-module.c (funcall_module): Stop calling
17211         'module_format_fun_env'.  Now that module functions are first-class
17212         objects, they can be added to signal data directly.
17213         (module_handle_signal): Remove now-unused function
17214         'module_format_fun_env'.
17216         * test/src/emacs-module-tests.el (mod-test-sum-test): Adapt unit test.
17218         * src/eval.c (funcall_lambda): Adapt call to changed signature of
17219         'funcall_module'.
17221 2017-06-04  Philipp Stephani  <phst@google.com>
17223         Define helper macro to reduce code duplication
17225         * src/emacs-module.c (MODULE_FUNCTION_BEGIN_NO_CATCH): New helper
17226         macro.
17227         (MODULE_FUNCTION_BEGIN, module_type_of, module_is_not_nil, module_eq):
17228         Use it.
17230 2017-06-04  Philipp Stephani  <phst@google.com>
17232         Remove two FIXMEs that can't be fixed
17234 2017-06-04  Eli Zaretskii  <eliz@gnu.org>
17236         Avoid slow startup in daemon mode when global-linum-mode is on
17238         * lisp/linum.el (linum-on): Don't turn on linum-mode in a
17239         non-client frame of a daemon session.  (Bug#27210)
17241 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
17243         Fix eldoc bug with curved quote
17245         * lisp/progmodes/elisp-mode.el (elisp-get-fnsym-args-string):
17246         Substitute quotes in documentation before returning it (Bug#27159).
17248 2017-06-04  Paul Eggert  <eggert@cs.ucla.edu>
17250         Tune ‘format’ after recent fix
17252         * doc/lispref/strings.texi (Formatting Strings):
17253         * src/editfns.c (Fformat): Format field numbers no longer need
17254         to be unique, reverting the previous doc change since that has
17255         now been fixed.  Also, document that %% should not have modifiers.
17256         * src/editfns.c (styled_format): Improve performance.  Remove
17257         the need for the new prepass over the format string, by using
17258         a typically-more-generous bound for the info array size.
17259         Initialize the info array lazily.  Move string inspection to
17260         the same area to help caching.  Avoid the need for a
17261         converted_to_string bitfield by using EQ.  Cache arg in a
17262         local and avoid some potential aliasing issues to help the
17263         compiler.  Info array is now 0-origin, not 1-origin.
17265 2017-06-04  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
17267         Improve of file-local-name use in vc-git-checkin
17269         * lisp/vc/vc-git.el (vc-git-checkin): Use file-local-name only
17270         when calling git commit.
17272 2017-06-03  Simen Heggestøyl  <simenheg@gmail.com>
17274         Support a new CSS indentation style
17276         * lisp/textmodes/css-mode.el (css-smie-rules): Indent after property
17277         immediately followed by a newline.
17279         * test/manual/indent/css-mode.css: Add test for the change above.
17281         * test/manual/indent/scss-mode.scss: Ditto.
17283 2017-06-03  Philipp Stephani  <phst@google.com>
17285         Fix a bug when using format field numbers
17287         Previously styled_format overwrite the argument vector.  This is no
17288         longer possible because there might be more than one specification per
17289         argument.  Use the existing auxiliary info array instead.
17291         * src/editfns.c (styled_format): Record arguments in the info
17292         structure instead of overwriting them.
17293         * test/src/editfns-tests.el (format-with-field): Add unit test.
17295 2017-06-03  Paul Eggert  <eggert@cs.ucla.edu>
17297         Document uniqueness limitation of ‘format’
17299         * doc/lispref/strings.texi (Formatting Strings):
17300         * src/editfns.c (Fformat):
17301         Document that field numbers should be unique within a format.
17303 2017-06-03  Glenn Morris  <rgm@gnu.org>
17305         Small rmailmm fix (bug#27203)
17307         * lisp/mail/rmailmm.el (rmail-mime-insert-bulk):
17308         Fall back to HOME if no match in rmail-mime-attachment-dirs-alist.
17310 2017-06-03  Glenn Morris  <rgm@gnu.org>
17312         * admin/authors.el (authors-aliases): Addition.
17314 2017-06-03  Glenn Morris  <rgm@gnu.org>
17316         Add watch for password back to inferior python comint filter
17318         It was removed along with other items for speed (bug#16875),
17319         but doesn't seem to have been causing an issue, and it's useful to
17320         have it there (bug#27154).
17321         * lisp/progmodes/python.el (inferior-python-mode):
17322         Add comint-watch-for-password-prompt to comint-output-filter-functions.
17324 2017-06-03  Ryan  <rct@thompsonclan.org>  (tiny change)
17326         Use completing-read-default in tmm-prompt
17328         tmm uses completing-read, but customizes its behavior so much
17329         that any alternative completing-read-function will almost
17330         certainly break it.  For example, both ido-ubiquitous and ivy have
17331         special code to deactivate themselves for tmm.
17332         * lisp/tmm.el (tmm-prompt): Use completing-read-default instead of
17333         completing-read.  (Bug#27193)
17335 2017-06-02  Mats Lidell  <mats.lidell@cag.se>
17337         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL (Bug#20371)
17339 2017-06-02  Glenn Morris  <rgm@gnu.org>
17341         Fix with-todo-test
17343         * test/lisp/calendar/todo-mode-tests.el (with-todo-test):
17344         HOME should be a directory, not a file.  Delete it when finished.
17346 2017-06-02  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
17348         Update TUTORIAL.it
17350         * etc/tutorials/TUTORIAL.it: Adjust to recent changes in TUTORIAL.
17352 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
17354         Fix cursor position in Dired buffers after dired-sort-toggle
17356         * src/xdisp.c (display_and_set_cursor): Record cursor coordinates
17357         even if the frame is marked as garbaged.  (Bug#27187)
17359 2017-06-02  Eli Zaretskii  <eliz@gnu.org>
17361         Update TUTORIAL.he
17363         * etc/tutorials/TUTORIAL.he: Adjust to recent changes in TUTORIAL.
17365 2017-06-02  Noam Postavsky  <npostavs@gmail.com>
17367         * etc/tutorials/TUTORIAL: Explain how to stop the tutorial (Bug#20371).
17369 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
17371         Limit format fields to more POSIX-like spec
17373         * doc/lispref/strings.texi (Formatting Strings):
17374         Don’t allow mixing numbered with unnumbered format specs.
17375         * src/editfns.c (styled_format): Don’t bother checking for field 0,
17376         since it doesn’t crash and the behavior is not specified.
17377         * test/src/editfns-tests.el (format-with-field): Adjust tests to
17378         match current doc.  Add more tests for out-of-range fields.
17380 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
17382         Improve performance by avoiding strtoumax
17384         This made (string-to-number "10") 20% faster on my old desktop,
17385         an AMD Phenom II X4 910e running Fedora 25 x86-64.
17386         * admin/merge-gnulib (GNULIB_MODULES): Remove strtoumax.
17387         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
17388         * lib/strtoul.c, lib/strtoull.c, lib/strtoumax.c, m4/strtoull.m4:
17389         * m4/strtoumax.m4: Remove.
17390         * src/editfns.c (str2num): New function.
17391         (styled_format): Use it instead of strtoumax.  Use ptrdiff_t
17392         instead of uintmax_t.  Check for integer overflow.
17393         * src/lread.c (LEAD_INT, DOT_CHAR, TRAIL_INT, E_EXP):
17394         Move to private scope and make them enums.
17395         (string_to_number): Compute integer value directly during
17396         first pass instead of revisiting it with strtoumax later.
17398 2017-06-02  Paul Eggert  <eggert@cs.ucla.edu>
17400         Minor improvements to format field numbers
17402         * src/editfns.c (styled_format): Allow field numbers in a %% spec.
17403         No need for a special diagnostic for field numbers greater than
17404         PTRDIFF_MAX.  Reword diagnostic for field 0.
17405         * test/src/editfns-tests.el (format-with-field): Adjust to match.
17407 2017-06-02  Philipp Stephani  <phst@google.com>
17409         Implement field numbers in format strings
17411         A field number explicitly specifies the argument to be formatted.
17412         This is especially important for potential localization work, since
17413         grammars of various languages dictate different word orders.
17415         * src/editfns.c (Fformat): Update documentation.
17416         (styled_format): Implement field numbers.
17418         * doc/lispref/strings.texi (Formatting Strings): Document field numbers.
17420         * lisp/emacs-lisp/bytecomp.el (byte-compile-format-warn): Adapt.
17422         * test/src/editfns-tests.el (format-with-field): New unit test.
17424 2017-06-01  Alexander Gramiak  <agrambot@gmail.com>
17426         Limit scope of local overriding-terminal-local-map
17428         The function `binding' may call isearch-done, which globally sets
17429         overriding-terminal-local-map to nil (Bug#23007).
17430         * lisp/isearch.el (isearch-mouse-2): Don't bind
17431         overriding-terminal-local-map around the call to `binding'.
17433 2017-06-01  Stephen Berman  <stephen.berman@gmx.net>
17435         Correct and isolate the todo-mode test environment
17437         This avoids having to set todo-mode variables globally in the test
17438         file and prevents any exisiting user todo-mode files from influencing
17439         the tests.
17441         * test/lisp/calendar/todo-mode-tests.el:
17442         (with-todo-test): New macro.
17443         (todo-test-todo-quit01, todo-test-todo-quit02)
17444         (todo-test-item-highlighting): Use it.
17446 2017-06-01  Alan Third  <alan@idiocy.org>
17448         Fix build errors on macOS 10.6 (bug#27059)
17450         * src/nsfns.m (compute_tip_xy): Don't use CGRectContainsPoint.
17452 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
17454         Improve testing of octal and hex display of raw bytes
17456         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
17457         (test-redisplay-5): Add a test with a large codepoint.
17459 2017-06-01  Vasilij Schneidermann  <mail@vasilij.de>
17461         Add customizable to display raw bytes as hex
17463         * src/xdisp.c (get_next_display_element): Dispatch used format string
17464         for unprintables based on new display-raw-bytes-as-hex variable.
17465         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
17467         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
17469         * doc/emacs/display.texi: Document the new variable.
17470         * etc/NEWS: Mention display-raw-bytes-as-hex.
17472         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
17473         (test-redisplay-5): New tests.
17474         (test-redisplay): Call test-redisplay-5.
17476 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
17478         Revert "Add customizable to display raw bytes as hex"
17480         This reverts commit 7c9ac111c5e5d92e620b666893993d5dc562e483.
17482 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
17484         Add customizable to display raw bytes as hex
17486         * src/xdisp.c (get_next_display_element): Dispatch used format string
17487         for unprintables based on new display-raw-bytes-as-hex variable.
17488         (display-raw-bytes-as-hex): New variable.  (Bug#27122)
17490         * lisp/cus-start.el: Add defcustom form for display-raw-bytes-as-hex.
17492         * doc/emacs/display.texi: Document the new variable.
17493         * etc/NEWS: Mention display-raw-bytes-as-hex.
17495         * test/manual/redisplay-testsuite.el (test-redisplay-5-toggle)
17496         (test-redisplay-5): New tests.
17497         (test-redisplay): Call test-redisplay-5.
17499 2017-06-01  Eli Zaretskii  <eliz@gnu.org>
17501         Fix linum under text-scaling when leuven-theme is used
17503         * etc/themes/leuven-theme.el (linum): Make the 'linum' face
17504         inherit from 'default' and 'shadow', so that margins are enlarged
17505         as expected under text-scaling.
17507 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17509         Free cwd when no longer needed
17511         * lib-src/emacsclient.c (main): Don’t dally when freeing cwd.
17513 2017-06-01  Anders Waldenborg  <anders@0x63.nu>  (tiny change)
17515         Fix memory leak of cwd string in emacsclient (Bug#26628)
17517         * lib-src/emacsclient.c (main): emacsclient retrieves the current
17518         working directory using get_current_dir_name which returns a newly
17519         allocated string.  Make sure this string is freed before exiting.
17521 2017-06-01  Glenn Morris  <rgm@gnu.org>
17523         Quieten compilation of some test files
17525         * test/lisp/dired-tests.el (dired-test-bug25609): Mark unused args.
17526         * test/src/data-tests.el (binding-test-set-constant-t)
17527         (binding-test-set-constant-nil, binding-test-set-constant-keyword)
17528         (binding-test-set-constant-nil): Silence compiler.
17529         * test/src/regex-tests.el (regex-tests-BOOST): Escape char literal.
17531 2017-06-01  Glenn Morris  <rgm@gnu.org>
17533         Use true names for invocation- and source-directory
17535         * src/emacs.c (init_cmdargs) <Vinvocation_directory>:
17536         * src/lread.c (init_lread) <Vsource_directory>: Use true names.
17538 2017-06-01  Glenn Morris  <rgm@gnu.org>
17540         Avoid elisp-mode test failures when source dir has multiple names
17542         * test/lisp/progmodes/elisp-mode-tests.el (emacs-test-dir):
17543         Use the true name of the directory.
17545 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17547         Fix bug with "%%" in error format
17549         * src/doprnt.c (doprnt): Format "%%" correctly.
17550         Problem reported by Philipp Stephani in:
17551         https://lists.gnu.org/r/emacs-devel/2017-05/msg00901.html
17553 2017-06-01  Paul Eggert  <eggert@cs.ucla.edu>
17555         * src/editfns.c (Fmessage): Improve doc string (Bug#23425#130).
17557 2017-06-01  Katsumi Yamaoka  <yamaoka@jpl.org>
17559         Revert mml-generate-mime-1 (bug#27141)
17561         * lisp/gnus/mml.el (mml-generate-mime-1): Reverted to emacs-25 version
17562         with slight modernizations (bug#27141).
17564 2017-05-31  Michael Albinus  <michael.albinus@gmx.de>
17566         Fix Bug#27108
17568         * lisp/recentf.el (recentf-load-list): Bind `non-essential',
17569         in order to avoid Tramp password requests during Emacs
17570         startup.  (Bug#27108)
17572 2017-05-31  Glenn Morris  <rgm@gnu.org>
17574         * test/Makefile.in (.SECONDARY): Stop make deleting .elc files.
17576 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
17578         Document current-line hscrolling in ELisp manual
17580         * doc/lispref/windows.texi (Horizontal Scrolling): Document the
17581         new mode of auto-hscrolling only the current line.
17583 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
17585         Support lower bound on hscrolling when only current line scrolls
17587         * doc/emacs/display.texi (Horizontal Scrolling): Document the new
17588         mode of auto-hscrolling only the current line.
17590         * src/xdisp.c (init_iterator): When hscrolling only the
17591         current line, apply the window's min_hscroll here, so that
17592         non-current lines will be hscrolled by that minimum.
17593         Suggested by Stephen Berman <stephen.berman@gmx.net>.
17594         (hscroll_window_tree): Account for window's min_hscroll when
17595         deciding whether to recompute the hscroll.
17596         (display_line): Subtract window's min_hscroll from x_incr, as that
17597         was already accounted for in init_iterator.  (Bug#27008)
17599 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
17601         cl-print: handle circular objects when `print-circle' is nil (Bug#27117)
17603         * lisp/emacs-lisp/cl-print.el (cl-print--currently-printing): New variable.
17604         (cl-print-object): When `print-circle' is nil, bind it to a list of
17605         objects that are currently printing to avoid printing the same object
17606         endlessly.
17607         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-circle): New test.
17609 2017-05-31  Noam Postavsky  <npostavs@gmail.com>
17611         Further simplify test/Makefile, optionally load elc tests
17613         * test/Makefile.in: Use make's error ignoring feature instead of
17614         suppressing test errors with shell.  Compile test files in the main
17615         make invocation instead of a recursive 'make' call.  Optionally load
17616         .elc test files if TEST_LOAD_EL is set to something other than 'yes'.
17617         Remove obsolete commentary.
17619 2017-05-31  Eli Zaretskii  <eliz@gnu.org>
17621         Avoid inflooping in redisplay due to Spacemacs and linum-mode
17623         * src/xdisp.c (redisplay_internal): Limit the number of redisplay
17624         retries when a frame becomes garbaged as result of redisplaying
17625         it.  (Bug#27115)
17627 2017-05-31  Tino Calancha  <tino.calancha@gmail.com>
17629         * src/editfns.c (decode-time): Fix docstring.
17631 2017-05-31  Glenn Morris  <rgm@gnu.org>
17633         * admin/update_autogen: Remove bzr support.
17635 2017-05-31  Glenn Morris  <rgm@gnu.org>
17637         Avoid subr test failure when source dir has multiple names
17639         * test/lisp/subr-tests.el (subr-tests--this-file):
17640         Use the true name of the file.  The following test does a string
17641         comparison of this value with that from method-files, which uses
17642         load-history, which contains true names.
17644 2017-05-31  Dmitry Gutov  <dgutov@yandex.ru>
17646         Extract eldoc--supported-p
17648         * lisp/emacs-lisp/eldoc.el (eldoc--supported-p): New function.
17649         (turn-on-eldoc-mode, eldoc-mode): Use it.
17650         (https://lists.gnu.org/r/emacs-devel/2017-05/msg00865.html)
17652 2017-05-30  Glenn Morris  <rgm@gnu.org>
17654         Make "make check" less verbose by default
17656         * test/Makefile.in (AM_DEFAULT_VERBOSITY, AM_V_ELC, am__v_ELC_)
17657         (am__v_ELC_0, am__v_ELC_1, AM_V_GEN, am__v_GEN_, am__v_GEN_0)
17658         (am__v_GEN_1, AM_V_at, am__v_at_, am__v_at_0, am__v_at_1):
17659         New, copied from lisp/Makefile.in.
17660         (%.elc, %.log): Simplify and quieten.
17662 2017-05-30  Alan Mackenzie  <acm@muc.de>
17664         Mode line "%q" construct: Just use one number when both would be the same.
17666         * src/xdisp.c (decode_mode_spec): recode the "%q" bit appropriately.
17668 2017-05-30  Alan Mackenzie  <acm@muc.de>
17670         Merge branch 'master' of /home/acm/emacs/emacs.git/master
17672 2017-05-30  Alan Mackenzie  <acm@muc.de>
17674         c-defun-name: Return fully qualified method names when wanted in C++, etc.
17676         * lisp/progmodes/cc-cmds.el (c-defun-name): Use
17677         c-back-over-compound-identifier in place of c-backward-token-2 near the end
17678         of the function.
17680 2017-05-30  Glenn Morris  <rgm@gnu.org>
17682         Reduce scope of recent test/Makefile HOME change
17684         * test/Makefile.in (%.log): Move setting of HOME here from top-level.
17686 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17688         Skip .#* temporaries when finding sources
17690         Without this patch, ‘make check’ can fail with the diagnostic
17691         ‘invalid syntax in conditional’ if there is an Emacs temporary
17692         file whose name starts with ‘.#’, because the ‘#’ is treated as
17693         the start of a Make comment.
17694         * lisp/Makefile.in (loaddefs, tagsfiles, check-defun-deps):
17695         * test/Makefile.in (ELFILES):
17696         Skip files starting with ‘.’, so that the .#* files do not cause
17697         trouble.  (We cannot easily skip just files starting with ‘.#’,
17698         since ‘#’ starts a Make comment!)
17700 2017-05-30  Alan Mackenzie  <acm@muc.de>
17702         Merge branch 'master' of /home/acm/emacs/emacs.git/master
17704 2017-05-30  Alan Mackenzie  <acm@muc.de>
17706         Fix the mouse help/key map on the "%p" part of the mode line.
17708         * lisp/bindings.el (mode-line-percent-position): give it a
17709         `risky-local-variable' property.
17710         (mode-line-position): correct the quoting on the mode-line-percent-position
17711         part of the variable, allowing the properties to be properly recognized.
17713 2017-05-30  Alan Mackenzie  <acm@muc.de>
17715         Fix the mouse help/key map on the "%p" part of the mode line.
17717         * lisp/bindings.el (mode-line-percent-position): give it a
17718         `risky-local-variable' property.
17719         (mode-line-position): correct the quoting on the mode-line-percent-position
17720         part of the variable, allowing the properties to be properly recognized.
17722 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17724         Merge from gnulib
17726         * build-aux/config.guess: Copy from gnulib.
17727         * lib/gnulib.mk.in: Regenerate.
17729 2017-05-30  Glenn Morris  <rgm@gnu.org>
17731         Stop make check interacting with HOME
17733         * test/Makefile.in (HOME): Export a non-existent value.
17735 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17737         Update .gitattributes to match sources better
17739         * .gitattributes: Remove nt/nmake.defs.  Move dostorture.c, c.C,
17740         algrthms.html.  Use pattern for todo-mode.  Improve patterns for
17741         Ada, C, ObjC, shell.  Add Pascal.  Remove unused pattern *.ruby.
17742         Add config.guess and config.sub as shell files.
17744 2017-05-30  Noam Postavsky  <npostavs@gmail.com>
17746         Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to '--bg-daemon'
17748         * doc/emacs/cmdargs.texi (Initial Options):
17749         * doc/lispref/os.texi (Startup Summary):
17750         * etc/NEWS:
17751         * etc/emacs.service:
17752         * src/emacs.c (main):
17753         * src/lisp.h: Rename '--new-daemon' to 'fg-daemon' and '--old-daemon' to
17754         '--bg-daemon'.
17756 2017-05-30  Glenn Morris  <rgm@gnu.org>
17758         todo-mode: don't assume an ordering of tests
17760         * test/lisp/calendar/todo-mode-tests.el (todo-test-todo-quit02)
17761         (todo-test-item-highlighting): Avoid prompting for input file.
17763 2017-05-30  Paul Eggert  <eggert@cs.ucla.edu>
17765         Improve .gdbinit Lisp value pretty-printing
17767         * src/.gdbinit (to_string): Use an unsigned representation for
17768         Lisp values, as requested by Eli Zaretskii (Bug#27098).
17769         Also, use "make_number(N)" for Lisp integers.
17771 2017-05-30  Dmitry Gutov  <dgutov@yandex.ru>
17773         Turn global-eldoc-mode into a globalized minor mode
17775         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode):
17776         Turn into globalized mode (bug#19853).
17777         (turn-on-eldoc-mode): Make it into a wrapper instead of alias.
17778         (eldoc-mode): Only show the message when called interactively.
17780 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
17782         Use regexp matching instead of checking exit status
17784         * lisp/progmodes/xref.el (xref-collect-matches):
17785         See if the output buffer contents look like Grep output
17786         instead of checking exit status (bug#23451).
17788 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
17790         Add initial tests for todo-mode.el
17792         *test/lisp/calendar/todo-mode-tests.el:
17793         *test/lisp/calendar/todo-mode-resources/todo-test-1.toda:
17794         *test/lisp/calendar/todo-mode-resources/todo-test-1.todo: New files.
17796         * .gitattributes: Ignore trailing whitespace in todo-mode test
17797         data files, since it is part of the todo-mode file format.
17799 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
17801         Make `todo-toggle-item-highlighting' work on multiline items (bug#27133)
17803         * lisp/calendar/todo-mode.el (todo-hl-line-range): New named function,
17804         replacing an anonymous function for the sake of `describe-variable'.
17805         (todo-modes-set-2): Use it as buffer-local value of hl-line-range-function
17806         and remove boundp test of this variable, so its value is available on
17807         invoking `todo-toggle-item-highlighting'.
17809 2017-05-29  Alan Third  <alan@idiocy.org>
17811         Fix build error on macOS 10.6
17813         * src/nsfns.m (compute_tip_xy): Cast NSRect to CGRect and NSPoint to
17814         CGPoint.
17816 2017-05-29  Jules Tamagnan  <jtamagnan@gmail.com>  (tiny change)
17818         Comply with pep 8 style guide for backslash in assignment (Bug#24809)
17820         * lisp/progmodes/python.el (python-indent--calculate-indentation):
17821         Increase indent by `python-indent-offset' after
17822         `:after-backslash-assignment-continuation'.
17824 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
17826         Add suggestion to docstring
17828         * lisp/subr.el (interactive-p): Mention commandp, as this is often
17829           what users are actually looking for.
17831 2017-05-29  Wilfred Hughes  <me@wilfred.me.uk>
17833         Ensure button-get works in any buffer
17835         * lisp/button.el (button-get): Previously we assumed that button-get
17836           was called in the buffer containing the button.  In other buffers,
17837           button-get always returned nil.  Fix this by passing the relevant
17838           buffer from the marker.
17840 2017-05-29  Dmitry Gutov  <dgutov@yandex.ru>
17842         Signal error if find-grep returns a nonzero status
17844         * lisp/progmodes/xref.el (xref-collect-matches): Signal error
17845         if find-grep returns a nonzero status (bug#23451).  Remove the
17846         comment: even if some output is present, a non-zero status
17847         means something went wrong and it can't be relied upon.
17849 2017-05-29  Stephen Berman  <stephen.berman@gmx.net>
17851         Make sure exiting todo-mode buffer buries it (bug#27121)
17853         This failed due to commit ea3ae33b from 2013-05-16, which prevented
17854         quitting todo-mode buffer after visiting todo-archive buffer from
17855         making the archive buffer current again.  Avoid this now by simply
17856         killing the archive buffer, since there's no need to keep it a live
17857         buffer.  Consequently, quitting a todo-mode buffer can now use
17858         bury-buffer without an argument, which ensures that is will not
17859         becomes current on quitting the buffer that replaced it in the window.
17861         * lisp/calendar/todo-mode.el (todo-quit): Kill todo-archive-mode
17862         buffer instead of burying it.  This now allows exiting the
17863         todo-mode buffer by bury-buffer without an argument, so do that.
17865 2017-05-28  Michael Albinus  <michael.albinus@gmx.de>
17867         Some tweaks, almost all for Tramp adb method
17869         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names):
17870         Use `make-tramp-file-name'.
17871         (tramp-adb-get-device): Use `tramp-file-name-port-or-default'.
17872         (tramp-adb-maybe-open-connection): Set "prompt" property.
17873         (tramp-adb-wait-for-output): Use it.
17875         * lisp/net/tramp-cache.el (tramp-cache-print): Use `elt'.
17876         (tramp-dump-connection-properties): Check also that there are
17877         properties to be saved.  Don't save "started" property of
17878         "ftp" method.
17880         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name):
17881         Use `make-tramp-file-name'.
17883         * lisp/net/tramp.el (tramp-remote-file-name-spec-regexp):
17884         Host could be empty.
17885         (tramp-file-name-port-or-default): New defun.
17886         (tramp-dissect-file-name): Simplify `make-tramp-file-name' call.
17887         (tramp-handle-file-name-case-insensitive-p): Use a progress reporter.
17888         (tramp-call-process, tramp-call-process-region):
17889         Use `make-tramp-file-name'.
17891         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
17892         Revert change from 2017-05-24.
17893         (tramp-test05-expand-file-name-relative): Let it also pass for
17894         "adb" method.
17896 2017-05-28  Jürgen Hötzel  <juergen@archlinux.org>
17898         Fix Tramp for Android 7
17900         * lisp/net/tramp-adb.el (tramp-adb-ls-toolbox-regexp):
17901         Username part of prompt is empty on Android 7.
17902         (tramp-adb-ls-toolbox-regexp):
17903         Ignore addition links column on Android 7.
17904         (tramp-adb-get-ls-command):
17905         Dont use --color=none when using toybox (Android 7).  It's not
17906         possible to disable coloring explicitly for toybox ls.
17908 2017-05-27  Svante Carl v. Erichsen  <Svante.v.Erichsen@web.de>  (tiny change)
17910         Fix cl-indent for `loop' with :keywords (Bug#15543)
17912         * lisp/emacs-lisp/cl-indent.el (lisp-extended-loop-p): Allow for
17913         ":keywords".
17915 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
17917         Depromiscuify inotify with IN_MASK_ADD
17919         Use IN_MASK_ADD instead of using a no-longer-promiscuous-enough
17920         mask.  This simplifies the code and restores the ability to
17921         use IN_ACCESS, IN_CLOSE_WRITE, IN_CLOSE_NOWRITE, and IN_OPEN
17922         in some cases (Bug#26973).
17923         * src/inotify.c (INOTIFY_DEFAULT_MASK): Remove.
17924         (Finotify_add_watch): Use IN_MASK_ADD instead.
17926 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
17928         Restore inotify onlydir support
17930         There was no need to remove it in the 2017-03-26 inotify change,
17931         as it is like IN_DONT_FOLLOW and does not affect other watchers
17932         for the same file.
17933         * src/inotify.c (symbol_to_inotifymask, Finotify_add_watch)
17934         (syms_of_inotify): Bring back onlydir.
17936 2017-05-27  Paul Eggert  <eggert@cs.ucla.edu>
17938         Simplify computation of inotify mask
17940         * src/inotify.c (add_watch): Accept uint32_t imask instead
17941         of Lisp_Object aspect.  Caller changed.
17942         (Finotify_add_watch): Use aspect_to_inotifymask earlier, to
17943         simplify the code.
17945 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
17947         Improve the documentation of filesets
17949         * doc/emacs/files.texi (Filesets): Fix the description of
17950         fileset-init's effect on the menu bar.  (Bug#27015)
17952 2017-05-27  Philipp Stephani  <phst@google.com>
17954         Don't attempt to recover from undefined behavior in some cases
17956         These functions can only be run in batch mode and exit Emacs on
17957         return, so nothing can be recovered.  Disable unsafe recover
17958         mechanisms so that we get real failures and good stack traces on
17959         fatal signals.
17961         * lisp/emacs-lisp/bytecomp.el (batch-byte-compile)
17962         (batch-byte-recompile-directory):
17963         * lisp/emacs-lisp/ert.el (ert-run-tests-batch-and-exit)
17964         (ert-summarize-tests-batch-and-exit): Don't attempt to recover
17965         from undefined behavior.
17967 2017-05-27  Philipp Stephani  <phst@google.com>
17969         Avoid another compiler warning on macOS
17971         When configured with --without-ns, HAVE_NS is not defined on macOS,
17972         thus 'memory-limit' calls the deprecated sbrk(2) function.  Avoid that
17973         by using the pre-defined __APPLE__ preprocessor macro.
17975         * src/alloc.c (Fmemory_limit): Never use sbrk(2) on macOS.
17977 2017-05-27  Luke Yen-Xun Lee  <luke.yx.lee@gmail.com>
17979         Fix ruler-mode text-scaling issues
17981         * lisp/ruler-mode.el (ruler-mode-text-scaled-width): New function
17982         for computing scaled text width.
17983         (ruler-mode-text-scaled-window-hscroll)
17984         (ruler-mode-text-scaled-window-width): Compute text scaled
17985         `window-width' value.
17986         (ruler-mode-mouse-grab-any-column, ruler-mode-mouse-add-tab-stop)
17987         (ruler-mode-ruler): Change `window-hscroll' into
17988         `ruler-mode-text-scaled-window-hscroll', and change `window-width'
17989         into `ruler-mode-text-scaled-window-width'.
17991 2017-05-27  Martin Rudalics  <rudalics@gmx.at>
17993         Minor doc and doc-string fixes (Bug#27091)
17995         * src/window.c (Fset_window_scroll_bars): Fix doc-string.
17997         * doc/lispref/display.texi (Fringe Size/Pos, Scroll Bars)
17998         (Display Margins): Mention that `set-window-buffer' may override
17999         settings made by `set-window-fringes', `set-window-scroll-bars'
18000         and `set-window-margins'.
18001         * doc/lispref/windows.texi (Buffers and Windows): Fix doc of
18002         `set-window-buffer'.
18004 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
18006         Avoid args-out-of-range errors on fringe clicks after "C-h k"
18008         * src/keyboard.c (echo_truncate): Don't call Ftruncate if the echo
18009         message is already shorter than NCHARS.  (Bug#27040)
18011 2017-05-27  Eli Zaretskii  <eliz@gnu.org>
18013         Fix GUD "Stop" display when running pdb
18015         * lisp/progmodes/gud.el (gud-menu-map): Don't call gdb-show-stop-p
18016         when GUD mode is 'pdb'.  (Bug#27024)
18018 2017-05-27  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
18020         Support drag and drop of region by mouse (Bug#26725)
18022         * doc/emacs/frames.texi (Drag and Drop): Document support of drag
18023         and drop region by mouse.
18024         * lisp/mouse.el (mouse-drag-region): Call mouse-drag-and-drop-region
18025         when start-event is on region.
18026         (mouse-drag-and-drop-region): New function, moves the region by
18027         (mouse-drag-and-drop-region): New defcustom.
18028         * etc/NEWS: Mention mouse-drag-and-drop-region.
18030 2017-05-27  Noam Postavsky  <npostavs@gmail.com>
18032         * lisp/emacs-lisp/eieio.el (defclass): Fix quote in warning message.
18034 2017-05-27  Alan Third  <alan@idiocy.org>
18036         Check if instancetype supported in ObjC
18038         * configure.ac: Add check for instancetype.
18039         * src/nsterm.h [!NATIVE_OBJC_INSTANCETYPE]: Define instancetype.
18041 2017-05-26  Wilfred Hughes  <me@wilfred.me.uk>
18043         Mark keywordp as a safe, error-free function
18045         * lisp/emacs-lisp/byte-opt.el: Add keywordp to
18046           side-effect-and-error-free-fns.
18048 2017-05-26  Paul Eggert  <eggert@cs.ucla.edu>
18050         * src/inotify.c: Add FIXME comments.
18052 2017-05-26  Andreas Politz  <politza@hochschule-trier.de>
18054         Fix Bug#26973
18056         * src/inotify.c (INOTIFY_DEFAULT_MASK): Removing ACCESS, OPEN
18057         and CLOSE events on order do let other processes also reading
18058         from their descriptors.  (Bug#26973).
18060 2017-05-26  Michael Albinus  <michael.albinus@gmx.de>
18062         Remove Emacs 23 compat code from Tramp
18064         * doc/misc/tramp.texi (Remote processes): Don't mention
18065         Emacs 24 explicitly.
18066         (Frequently Asked Questions): Remove Emacs 23 from
18067         compatibility list.
18069         * lisp/net/tramp.el:
18070         * lisp/net/tramp-adb.el:
18071         * lisp/net/tramp-cache.el:
18072         * lisp/net/tramp-gvfs.el:
18073         * lisp/net/tramp-sh.el:
18074         * lisp/net/tramp-smb.el: Replace compat function calls.
18076         * lisp/net/tramp-compat.el (remote-file-name-inhibit-cache)
18077         (tramp-compat-condition-case-unless-debug)
18078         (tramp-compat-copy-file, tramp-compat-copy-directory)
18079         (tramp-compat-delete-file, tramp-compat-delete-directory)
18080         (tramp-compat-process-live-p): Remove them.
18082         * lisp/net/trampver.el: Make version check fit for Emacs 24.
18084 2017-05-26  Katsumi Yamaoka  <yamaoka@jpl.org>
18086         Work for application/x-tar-gz and image/svg+xml
18088         ;; Try inlining the attachment in the article <87wp94dzj6.fsf@gmail.com>
18089         ;; of bug#27078 in the Emacs bug list using Gnus.
18091         * lisp/gnus/mm-archive.el (mm-archive-decoders):
18092         Add a decoder for application/x-tar-gz.
18093         (mm-dissect-archive): Error out if a decoder is not found.
18095         * lisp/gnus/mm-decode.el (mm-get-image): Allow image/svg+xml.
18097 2017-05-26  Tino Calancha  <tino.calancha@gmail.com>
18099         test-calc-23889: Skip test on 32-bit platforms
18101         This test fails on some 32-bit platforms as mentioned in
18102         https://lists.gnu.org/r/emacs-devel/2017-05/msg00737.html
18103         * test/lisp/calc/calc-tests.el (test-calc-23889): Skip when
18104         the Lisp integer is not big enough.
18106 2017-05-25  Alan Third  <alan@idiocy.org>
18108         Fix NS tooltips showing in the wrong place (bug#27053)
18110         * src/nsfns.m (compute_tip_xy): Get current mouse position instead of
18111         last recorded position.
18113 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
18115         lisp/net/soap-client.el: Bump version to 3.1.2
18117         * lisp/net/soap-client.el: Bump version to 3.1.2.
18119 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
18121         Fix soap-inspect.el doc strings
18123         * lisp/net/soap-inspect.el (soap-inspect-xs-attribute): Fix doc
18124         string.
18125         (soap-inspect-xs-attribute-group): Likewise.
18127 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
18129         Fix two soap-client.el byte compilation warnings
18131         * lisp/net/soap-client.el (url-http-response-status): Add defvar.
18132         (soap-fetch-xml-from-url): Remove special declaration of
18133         url-http-response-status.
18134         (soap-invoke-internal): Likewise.
18136 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
18138         lisp/net/soap-client.el: Require cl-lib version 0.6.1
18140         * lisp/net/soap-client.el: Require cl-lib version 0.6.1.
18142 2017-05-25  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
18143             Stefan Monnier  <monnier@iro.umontreal.ca>
18145         lisp/net/soap-client.el: Shorten some long lines
18147         * lisp/net/soap-client.el (soap-encode-xs-element): Remove
18148         unnecessary progn.
18149         (soap-xs-add-union): Wrap long line.
18151 2017-05-25  Alex Harsanyi  <AlexHarsanyi@gmail.com>
18152             Stefan Monnier  <monnier@iro.umontreal.ca>
18154         Remove cl dependency in soap-client.el and soap-inspect.el
18156         * lisp/net/soap-inspect.el: Replace cl library with cl-lib, case
18157         with cl-case, destructuring-bind with cl-destructuring-bind and
18158         loop with cl-loop.
18160         * lisp/net/soap-client.el: Replace cl library with cl-lib,
18161         defstruct with cl-defstruct, assert with cl-assert, case with
18162         cl-case, ecase with cl-ecase, loop with cl-loop and
18163         destructuring-bind with cl-destructuring-bind.
18165 2017-05-25  Michael Albinus  <michael.albinus@gmx.de>
18167         Switch Tramp to cl-lib
18169         * lisp/net/tramp-compat.el (cl-lib): Require it rather than cl.
18171         * lisp/net/tramp-ftp.el: Don't require cl.
18173         * lisp/net/tramp-gvfs.el: Don't require cl.
18174         (tramp-gvfs-handler-mounted-unmounted)
18175         (tramp-gvfs-connection-mounted-p): Use `cl-*' macros.
18177         * lisp/net/tramp-sh.el: Don't require cl.
18178         (tramp-set-file-uid-gid): Use `shell-quote-argument'.
18179         (tramp-sh-gvfs-monitor-dir-process-filter)
18180         (tramp-sh-inotifywait-process-filter): Use `cl-*' macros.
18182         * lisp/net/tramp-smb.el: Don't require cl.
18183         (tramp-smb-read-file-entry): Use `cl-*' macros.
18185         * lisp/net/tramp.el (cl-lib): Require it rather than cl.
18186         (tramp-parse-file, tramp-parse-shostkeys-sknownhosts)
18187         (tramp-parse-passwd, tramp-parse-etc-group)
18188         (tramp-parse-putty): Use `cl-*' macros.
18190 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
18192         * CONTRIBUTE: Suggest autogen.sh's 'all' operand.
18194 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
18196         Port ATTRIBUTE_MAY_ALIAS to recent icc
18198         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS) [__ICC]:
18199         Define to empty.  Otherwise, icc (ICC) 17.0.4 20170411 says
18200         “warning #2621: attribute "__may_alias__" does not apply here”
18201         for constructs like ‘struct sockaddr *sa = (whatever);
18202         struct sockaddr_in __attribute__ ((__may_alias__)) *sin
18203         = (struct sockaddr_in *) sa;’.
18205 2017-05-25  Paul Eggert  <eggert@cs.ucla.edu>
18207         Merge from gnulib
18209         This incorporates:
18210         2017-05-25 port to recent icc
18211         * lib/intprops.h: Copy from gnulib.
18213 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
18215         Fix Tramp for python.el
18217         * lisp/net/tramp.el (tramp-get-connection-process): Check,
18218         that VEC is a `tramp-file-name' structure.
18220 2017-05-24  Alan Third  <alan@idiocy.org>
18222         Raise version of macOS we define instancetype for (bug#27059)
18224         * src/nsterm.m: Increase supported version number.
18226 2017-05-24  Alan Third  <alan@idiocy.org>
18228         Define new types on macOS 10.6 (bug#27041)
18230         * src/nsterm.h: Enable instancetype typedef for older macOS, and use
18231         correct NSUInteger instead of int.
18233 2017-05-24  Glenn Morris  <rgm@gnu.org>
18235         Don't autoload new dns-mode command
18237         * lisp/textmodes/dns-mode.el (dns-mode-ipv6-to-nibbles):
18238         Remove autoload cookie.
18240 2017-05-24  Stefan Monnier  <monnier@iro.umontreal.ca>
18242         * src/fns.c (sxhash): Fix records hashing (bug#27057, bug#26639)
18244         (sxhash_vector): Make it work on pseudo vectors as well.
18245         (sxhash): Treat records like vectors.
18247 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
18249         Adapt tramp-tests.el according to new defstruct
18251         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
18252         Fix test according to new defstruct.
18253         (tramp-test29-environment-variables-and-port-numbers):
18254         Expect it now as passed.  Cleanup at the end.
18256 2017-05-24  Michael Albinus  <michael.albinus@gmx.de>
18258         Introduce a defstruct `tramp-file-name' as central data structure.
18260         This solves also Bug#27009.
18262         * lisp/net/tramp.el (tramp-current-domain)
18263         (tramp-current-port): New defvars.
18264         (tramp-file-name): New defstruct.
18265         (tramp-file-name-user-domain, tramp-file-name-host-port)
18266         (tramp-file-name-equal-p): New defuns.
18267         (tramp-file-name-p, tramp-file-name-method)
18268         (tramp-file-name-user, tramp-file-name-host)
18269         (tramp-file-name-localname, tramp-file-name-hop)
18270         (tramp-file-name-real-user, tramp-file-name-domain)
18271         (tramp-file-name-real-host, tramp-file-name-port):
18272         Remove defuns.  They are provided by the defstruct, or not
18273         needed anymore.
18274         (tramp-dissect-file-name, tramp-buffer-name)
18275         (tramp-make-tramp-file-name, tramp-get-buffer)
18276         (tramp-set-connection-local-variables)
18277         (tramp-debug-buffer-name, tramp-message)
18278         (tramp-error-with-buffer, with-parsed-tramp-file-name)
18279         (tramp-completion-dissect-file-name1)
18280         (tramp-handle-file-name-as-directory)
18281         (tramp-handle-file-name-directory)
18282         (tramp-handle-file-remote-p, tramp-handle-file-symlink-p)
18283         (tramp-handle-find-backup-file-name)
18284         (tramp-handle-insert-file-contents, tramp-process-actions)
18285         (tramp-check-cached-permissions, tramp-local-host-p)
18286         (tramp-get-remote-tmpdir, tramp-call-process)
18287         (tramp-call-process-region, tramp-read-passwd)
18288         (tramp-clear-passwd):
18289         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
18290         (tramp-adb-handle-expand-file-name)
18291         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file)
18292         (tramp-adb-handle-process-file)
18293         (tramp-adb-maybe-open-connection):
18294         * lisp/net/tramp-cache.el (tramp-get-hash-table)
18295         (tramp-get-file-property, tramp-set-file-property)
18296         (tramp-flush-file-property, tramp-flush-directory-property)
18297         (tramp-get-connection-property)
18298         (tramp-set-connection-property, tramp-connection-property-p)
18299         (tramp-flush-connection-property, tramp-cache-print)
18300         (tramp-list-connections, tramp-dump-connection-properties)
18301         (tramp-parse-connection-properties):
18302         * lisp/net/tramp-cmds.el (tramp-cleanup-connection):
18303         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
18304         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
18305         (tramp-gvfs-url-file-name, tramp-gvfs-handler-askpassword)
18306         (tramp-gvfs-handler-mounted-unmounted)
18307         (tramp-gvfs-mount-spec, tramp-gvfs-get-remote-uid)
18308         (tramp-gvfs-get-remote-gid)
18309         (tramp-gvfs-maybe-open-connection):
18310         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
18311         (tramp-do-copy-or-rename-file-out-of-band)
18312         (tramp-sh-handle-expand-file-name)
18313         (tramp-sh-handle-start-file-process)
18314         (tramp-sh-handle-process-file, tramp-compute-multi-hops)
18315         (tramp-maybe-open-connection)
18316         (tramp-make-copy-program-file-name, tramp-get-remote-path)
18317         (tramp-get-inline-coding):
18318         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
18319         (tramp-smb-handle-expand-file-name)
18320         (tramp-smb-handle-file-acl, tramp-smb-handle-process-file)
18321         (tramp-smb-handle-set-file-acl)
18322         (tramp-smb-maybe-open-connection): Adapt according to defstruct.
18324 2017-05-24  Stephen Berman  <steve@rosalinde.fritz.box>
18326         Fix and improve UI of scroll bar menu (bug#27047)
18328         In addition, since the Emacs manual writes "scroll bar", "tool
18329         bar" and "menu bar", use this convention in the Show/Hide menues
18330         and tooltips as well.
18332         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Make
18333         pressing a radio button in the menu actually show that it was
18334         pressed.  Replace the two radio buttons to turn the horizontal
18335         scroll bar on and off with a single check-box toggle and add a
18336         separator between this and the vertical scroll bar radio
18337         buttons.  Use conventional spelling.
18338         (menu-bar-horizontal-scroll-bar)
18339         (menu-bar-no-horizontal-scroll-bar): Remove, since now unused.
18340         (menu-bar-showhide-tool-bar-menu, menu-bar-showhide-menu)
18341         (menu-bar-mode): Use conventional spelling.
18343 2017-05-24  Katsumi Yamaoka  <yamaoka@jpl.org>
18345         Remove string-as-unibyte
18347         * lisp/gnus/canlock.el (canlock-sha1): Remove useless variable.
18348         (canlock-make-cancel-key): No need to use string-as-unibyte.
18350 2017-05-24  Tino Calancha  <tino.calancha@gmail.com>
18352         Fix concatenation of "^" with diff-file-junk-re
18354         This regexp contains "\\|", thus a concatenation
18355         of "^" with it just matches the beginning of line for the
18356         first alternative in diff-file-junk-re.
18357         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Concat "^" with
18358         diff-file-junk-re wrapped in a shy group.
18360 2017-05-24  Glenn Morris  <rgm@gnu.org>
18362         Suppress intermittent test failure on hydra
18364         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el
18365         (eieio-test-37-obsolete-name-in-constructor): Skip on hydra.
18367 2017-05-24  Peder O. Klingenberg  <peder@klingenberg.no>
18369         New dns-mode command for IPv6 address conversion
18371         This converts IPv6 addresses to a format suitable for
18372         reverse lookup zone files.  (Bug#26820)
18373         * lisp/textmodes/dns-mode.el (dns-mode-map, dns-mode-menu):
18374         Add dns-mode-ipv6-to-nibbles.
18375         (dns-mode-ipv6-to-nibbles, dns-mode-reverse-and-expand-ipv6):
18376         New functions.
18377         * test/lisp/dns-mode-tests.el: New file.
18379 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
18381         Protect *Backtrace* from being killed (Bug#26650)
18383         * lisp/emacs-lisp/debug.el (debugger-mode): Call `top-level' in
18384         `kill-buffer-hook'.
18386 2017-05-24  Noam Postavsky  <npostavs@gmail.com>
18388         Give a name to lisp-mode's adaptive-fill-function (Bug#22730)
18390         * lisp/emacs-lisp/lisp-mode.el (lisp-adaptive-fill): New function.
18391         (lisp-mode-variables): Use it.
18393 2017-05-23  Philipp Stephani  <phst@google.com>
18395         vc-hg.el: Silence byte compiler warning
18397         * lisp/vc/vc-hg.el (compilation-arguments): Forward-declare.
18399 2017-05-23  Paul Eggert  <eggert@cs.ucla.edu>
18401         Don't warn about missing brances on macOS
18403         On macOS, removing -Wmissing-braces is not enough; the warning has to
18404         be disabled explicitly.
18406 2017-05-23  Wilfred Hughes  <me@wilfred.me.uk>
18408         Don't treat ' as a string delimiter in RPM spec files
18410         ' is commonly used as an apostrophe in the prose sections of spec
18411         files, which was erroneously highlighted as strings. See for example
18412         http://kmymoney2.sourceforge.net/phb/rpm-example.html
18414         * lisp/progmodes/sh-script.el (sh-mode-syntax-table): Treat ' as
18415           punctuation in RPM spec files.
18417 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
18419         * lisp/emacs-lisp/cl-indent.el: Don't require CL.  Use lexical-binding.
18421         (common-lisp-indent-function-1): Remove unused var `last-point`.
18422         (lisp-indent-error-function): Move defvar before first use.
18424 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
18426         * lisp/international/rfc1843.el: Don't require CL.  Use lexical-binding.
18428         * lisp/international/utf7.el: Don't require CL.  Use lexical-binding.
18430         * lisp/net/shr.el: Use cl-lib instead of cl.
18432 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
18434         * test/src/fns-tests.el, test/src/data-tests.el: Don't use `cl`
18436         * test/src/data-tests.el (binding-test-manual, binding-test-setq-default)
18437         (binding-test-makunbound, data-tests-varalias-watchers)
18438         (data-tests-local-variable-watchers): Silence compiler warnings.
18440 2017-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
18442         * lisp/vc/vc-hg.el (compilation-directory): Silence byte-compiler.
18444 2017-05-23  Alan Third  <alan@idiocy.org>
18446         Fix GNUstep build
18448         * src/nsterm.h [NS_IMPL_GNUSTEP]: Add typedefs for Cocoa-only types.
18449         (NSWindowStyleMaskUtilityWindow): #define to NSUtilityWindowMask in
18450         GNUstep and old versions of macOS.
18451         * src/nsfns.m (ns-set-mouse-absolute-pixel-position): Function only
18452         works in cocoa, not GNUstep.
18454 2017-05-23  Michael Albinus  <michael.albinus@gmx.de>
18456         Add test for Bug#27009 in tramp-tests.el
18458         * lisp/net/tramp-sh.el (tramp-compute-multi-hops):
18459         Check `tramp-file-name-real-host' for being a local host.
18461         * lisp/net/tramp.el (tramp-postfix-host-regexp): Fix docstring.
18463         * test/lisp/net/tramp-tests.el (tramp-test-temporary-file-directory):
18464         Declare default host for mock method.
18465         (tramp-test29-environment-variables-and-port-numbers): New test.
18467 2017-05-23  Glenn Morris  <rgm@gnu.org>
18469         Don't advertise s_client in tls.el docs
18471         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
18472         Don't mention s_client in docs.
18474         (cherry picked from commit 622c24a2b75a564b9861fc3ca7a7878741e8568d)
18476 2017-05-23  Rob Browning  <rlb@defaultvalue.org>
18478         Remove s_client usage from tls.el
18480         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
18481         Ref http://bugs.debian.org/766397
18482         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
18485         (cherry picked from commit 6e45de6bacc508db11b15b2c8ba86aad8c0570df)
18487 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
18489         * lisp/mail/rfc2047.el (rfc2047-decode-encoded-words): Set `words` to nil.
18491 2017-05-22  Sam Steingold  <sds@gnu.org>
18493         Fix "g" in hg&git push&pull buffers
18495         lisp/vc/vc-git.el (vc-git--pushpull): Set locally
18496         `compilation-directory' and `compilation-arguments'.
18497         lisp/vc/vc-hg.el (vc-hg--pushpull): Likewise.
18499 2017-05-22  Eli Zaretskii  <eliz@gnu.org>
18501         Fix current-line hscrolling in buffers with header-line
18503         * src/xdisp.c (display_line): When testing the glyph row's
18504         vertical position against the cursor position, account for header
18505         line, if any.  (Bug#27014)
18507 2017-05-22  Stefan Monnier  <monnier@iro.umontreal.ca>
18509         * lisp/mail/rfc2047.el: Use cl-lib & lexical-binding, silence warning
18511         (rfc2047-decode-encoded-words): Use dolist.
18512         (rfc2047-decode-string): Avoid string-to-multibyte.
18513         (rfc2047-pad-base64): Use pcase.
18515 2017-05-21  Dima Kogan  <dima@secretsauce.net>
18517         Make ff-find-other-file symmetric for C++ (Bug#20192)
18519         `cc-other-file-alist' has a mapping of file extensions to switch
18520         between headers and sources, but the mappings weren't completely
18521         symmetric.  In particular .cpp would map to .hh, but .hh would NOT map
18522         to .cpp.
18524         * lisp/find-file.el (cc-other-file-alist): Map ".hh" and ".h" to all
18525         C++ extensions to make them symmetric with the C++ extensions that map
18526         to them.  This lets repeated invocations of `ff-find-other-file'
18527         toggle between all pairs of sources/headers.
18529 2017-05-21  Philipp Stephani  <phst@google.com>
18531         Fix definition of whitespace in JSON
18533         See
18534         https://lists.gnu.org/r/emacs-devel/2017-05/msg00115.html.
18536         * lisp/json.el (json-skip-whitespace): Fix definition.
18537         * test/lisp/json-tests.el (test-json-skip-whitespace): Adapt unit
18538         test.
18540 2017-05-21  Philipp Stephani  <phst@google.com>
18542         Improve module function terminology
18544         Module functions were previously called "function environments" when
18545         the functions created by module_make_functions were lambdas.  Now we
18546         can adapt the terminology and rename "function environments" to
18547         "module functions" everywhere.  This also removes the name clash
18548         between "function environments" and "module environments."
18550         * src/emacs-module.c (module_make_function): Adapt comment to reality;
18551         stop using "function environment" terminology.
18552         (funcall_module): Stop using "function environment" terminology.
18554 2017-05-21  Philipp Stephani  <phst@google.com>
18556         Avoid uninitialized read
18558         * src/nsterm.m (ns_read_socket): Don't read uninitialized variable 'nevents'.
18560 2017-05-21  Philipp Stephani  <phst@google.com>
18562         Fix call of registerServicesMenuSendTypes
18564         * src/nsterm.m (initFrameFromEmacs:): nil is not allowed for
18565         returnTypes; pass an empty array instead.
18567 2017-05-21  Philipp Stephani  <phst@google.com>
18569         Clean up code around 'ns-list-services'
18571         * src/nsfns.m (Fns_list_services): Remove unreachable code.  In this
18572         branch NS_IMPL_COCOA cannot be defined.
18573         (interpret_services_menu): Define only if called to avoid compiler
18574         warnings about unused static functions.
18576 2017-05-21  Philipp Stephani  <phst@google.com>
18578         Remove unused automatic variables
18580         * src/nsterm.m (ns_read_socket):
18581         * src/macfont.m (macfont_open): Remove unused automatic variables.
18583 2017-05-21  Philipp Stephani  <phst@google.com>
18585         Nextstep: Replace deprecated enumerators
18587         * src/nsmenu.m (initWithContentRect:styleMask:backing:defer:): Replace
18588         deprecated enumerator.
18590 2017-05-21  Philipp Stephani  <phst@google.com>
18592         Nextstep: remove some deprecated method calls
18594         * src/nsterm.m (mouseDown:):
18595         * src/nsmenu.m (runMenuAt:forFrame:keymaps:): Remove call to
18596         deprecated method.  The return value is always nil.
18597         * src/macfont.m (mac_font_shape_1): Replace call to deprecated method.
18599 2017-05-21  Philipp Stephani  <phst@google.com>
18601         Remove trailing semicolons in method definitions
18603         These semicolons are ignored and cause compiler warnings.
18605         * src/nsimage.m (setPixelAtX:Y:toRed:green:blue:alpha:):
18606         * src/nsterm.m (init, updateFrameSize:):
18607         (setFrame:): Remove trailing semicolon.
18609 2017-05-21  Philipp Stephani  <phst@google.com>
18611         Remove calls to deprecated setUsesScreenFonts
18613         * src/macfont.m (mac_screen_font_get_metrics): Don't call setUsesScreenFonts.
18614         (mac_font_shape_1): Remove screen_font_p parameter.
18615         (mac_screen_font_shape): Remove screen_font_p argument.
18617 2017-05-21  Philipp Stephani  <phst@google.com>
18619         Make a function static that isn't used outside this file
18621         * src/kqueue.c (kqueue_directory_listing): Make static.
18623 2017-05-21  Philipp Stephani  <phst@google.com>
18625         Use NSCharacterCollection instead of CTCharacterCollection
18627         This should not cause behavior changes, but fixes a compiler warning
18628         due to implicit conversions between the enums.
18630         * src/macfont.m (macfont_cache, macfont_lookup_cache)
18631         (macfont_get_glyph_for_cid, macfont_get_uvs_table)
18632         (macfont_variation_glyphs): Use NSCharacterCollection.
18634 2017-05-21  Philipp Stephani  <phst@google.com>
18636         Remove unused function print_regions
18638 2017-05-21  Philipp Stephani  <phst@google.com>
18640         Declare Nextstep unexec functions in lisp.h
18642         This removes compiler warnings about missing prototypes on macOS.
18644 2017-05-21  Philipp Stephani  <phst@google.com>
18646         Nextstep: Use instancetype explicit return type
18648         This removes compiler warnings on macOS and improves type safety.
18650         * src/nsterm.m (initFrameFromEmacs:):
18651         (menuDown:):
18652         (toolbarClicked:):
18653         (toggleToolbar:):
18654         (setMiniwindowImage:):
18655         (initFrame:window:):
18656         (condemn, reprieve, setPosition:portion:whole:):
18657         (repeatScroll:):
18658         * src/nsmenu.m (initWithTitle:):
18659         (initWithTitle:frame:):
18660         (initForView:withIdentifier:):
18661         (init, initWithContentRect:styleMask:backing:defer:):
18662         (initFromContents:isQuestion:):
18663         * src/nsimage.m (allocInitFromFile:):
18664         (initFromXBM:width:height:fg:bg:):
18665         (setXBMColor:):
18666         (initForXPMWithDepth:width:height:): Use instancetype as return
18667         type instead of implicit id.
18669 2017-05-21  Tino Calancha  <tino.calancha@gmail.com>
18671         * lisp/emacs-lisp/package.el (package-delete): Delete readme file as well.
18673 2017-05-21  Alan Mackenzie  <acm@muc.de>
18675         Enhance mode-line percentage offset facility, with "%o" and "%q"
18677         "%o" will display the percentage "travel" of the window through the buffer.
18678         "%q" will display a combination of the percentage offsets of the top and
18679         bottom of the window.  The new user option mode-line-percent-position will
18680         facilitate selecting a setting for this part of the mode line.
18682         * lisp/bindings.el (mode-line-percent-position): New customizable user option.
18683         (mode-line-position): Use mode-line-percent-position in place of "%p", etc.
18685         * src/xdisp.c (decode_mode_spec): Add handlers for "%o" and "%q".
18687         * doc/lispref/modes.texi (Mode Line Variables): Document
18688         mode-line-percent-position.
18689         (%-Constructs): Document %o and %q.
18691         * etc/NEWS: Add an entry for these new facilities.
18693 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18695         Work around macOS bug in create_process, too
18697         * src/process.c (create_process) [DARWIN_OS]:
18698         Reset SIGCHLD after vfork here, too.
18700 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18702         Work around macOS bug with vforked child
18704         * src/callproc.c (call_process) [DARWIN_OS]:
18705         Include workaround for apparent macOS bug.
18707 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18709         Pacify --enable-gcc-warnings without modules
18711         * src/print.c (print_vectorlike): New function, taken from
18712         part of print_object.  This one is indented properly, and
18713         pacifies --enable-gcc-warnings by using a default case
18714         instead of listing all the enum values, sometimes
18715         incompletely.
18716         (print_object): Use it.
18718 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18720         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code
18722         It does not appear to be needed (Bug#24441).
18723         * etc/PROBLEMS: Remove DARWIN_OS_CASE_SENSITIVE_FIXME stuff.
18724         * src/fileio.c (file_name_case_insensitive_p):
18725         Remove DARWIN_OS_CASE_SENSITIVE_FIXME code.
18727 2017-05-21  Paul Eggert  <eggert@cs.ucla.edu>
18729         Narrow DARWIN_OS_CASE_SENSITIVE_FIXME to 1 choice
18731         * etc/PROBLEMS: Document this (Bug#24441).
18732         * src/fileio.c (file_name_case_insensitive_p): Prefer pathconf
18733         with _PC_CASE_SENSITIVE, if it works, to
18734         DARWIN_OS_CASE_SENSITIVE_FIXME code.
18735         Support just one method for DARWIN_OS_CASE_SENSITIVE_FIXME,
18736         which matches the Apple documentation more precisely.
18738 2017-05-21  Tom Tromey  <tom@tromey.com>
18740         Fix mhtml-mode fontification bug
18742         Bug#26922
18743         * lisp/textmodes/mhtml-mode.el (mhtml-syntax-propertize): Call
18744         sgml-syntax-propertize-inside if not in a submode.
18745         * test/manual/indent/html-multi-4.html: New file.
18747 2017-05-21  Ryan  <rct@thompsonclan.org>  (tiny change)
18749         Fix ido-enable-dot-prefix for empty choice (Bug#26997)
18751         * lisp/ido.el (ido-set-matches-1): Only check first character of
18752         item if it's non-empty.
18754 2017-05-21  Ari Roponen  <ari.roponen@gmail.com>
18756         * lisp/svg.el (svg-line): Fix x/y typo.  (Bug#26953)
18758 2017-05-21  Glenn Morris  <rgm@gnu.org>
18760         Prevent loading vc-bzr writing to ~/.bzr.log
18762         * lisp/vc/vc-bzr.el (vc-bzr-status-switches): Disable bzr logging.
18764 2017-05-21  Glenn Morris  <rgm@gnu.org>
18766         Prevent running vc-tests writing to ~/.bzr.log
18768         * test/lisp/vc/vc-tests.el (vc-test--create-repo)
18769         (vc-test--register, vc-test--working-revision)
18770         (vc-test--checkout-model): Set temporary BZR_HOME, to disable logging.
18772 2017-05-21  Noam Postavsky  <npostavs@gmail.com>
18774         Don't end non-hook variable with "-hook" (Bug#26623)
18776         * lisp/follow.el (follow-inside-post-command-hook-call): Renamed from
18777         follow-inside-post-command-hook, update uses.
18779 2017-05-21  Charles A. Roelli  <charles@aurox.ch>
18781         Fix macOS mouse movement
18783         * lisp/frame.el (ns-set-mouse-absolute-pixel-position): New
18784         function (Lisp).
18785         (set-mouse-absolute-pixel-position): Change it to call
18786         `ns-set-mouse-absolute-pixel-position' on macOS.
18787         * src/nsfns.m (Fns_set_mouse_absolute_pixel_position): New
18788         function.
18789         * src/nsterm.h (NS_PARENT_WINDOW_TOP_POS): Use the primary
18790         screen's height as a base for calculating global coordinates.
18791         * src/nsterm.m (frame_set_mouse_pixel_position): Fix it in macOS.
18792         * test/lisp/mouse-tests.el (bug26816-mouse-frame-movement): Test
18793         movement of mouse relative to frame.
18795 2017-05-21  Alan Third  <alan@idiocy.org>
18797         Show tooltip on correct screen (bug#26905)
18799         * src/nsfns.m (compute_tip_xy): Find the correct screen for the
18800         tooltip and constrain it to that screen.
18802 2017-05-21  Andreas Politz  <politza@hochschule-trier.de>
18804         Don't save unrelated buffers before recompiling directory (Bug#25964)
18806         * lisp/emacs-lisp/bytecomp.el (byte-recompile-directory): Only save
18807         buffers visiting lisp files under the directory being compiled.
18809 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
18811         Minor fixes for arity ranges in emacs modules
18813         * src/emacs-module.c (module_make_function):
18814         Check that arities fit into fixnums, for func-arity’s benefit.
18815         (funcall_module): Avoid unnecessary conversion to EMACS_INT.
18816         (module_function_arity): Allow arities greater than SHRT_MAX.
18818 2017-05-20  Philipp Stephani  <phst@google.com>
18820         Reimplement module functions
18822         Instead of a lambda, create a new type containing all data required to
18823         call the function, and support it in the evaluator.  Because this type
18824         now also needs to store the function documentation, it is too big for
18825         Lisp_Misc; use a pseudovector instead.  That also has the nice benefit
18826         that we don't have to add special support to the garbage collector.
18828         Since the new type is user-visible, give it a predicate.
18830         Now we can easily support 'help-function-args' and 'func-arity'; add
18831         unit tests for these.
18833         * src/lisp.h (allocate_module_function, MODULE_FUNCTIONP)
18834         (XMODULE_FUNCTION): New pseudovector type 'module function'.
18836         * src/eval.c (FUNCTIONP): Also treat module functions as functions.
18837         (funcall_lambda, Ffuncall, eval_sub): Add support for calling module
18838         functions.
18839         (Ffunc_arity): Add support for detecting the arity of module
18840         functions.
18842         * src/emacs-module.c (module_make_function): Adapt to new structure.
18843         Return module function object directly instead of wrapping it in a
18844         lambda; remove FIXME.
18845         (funcall_module): New function to call module functions.  Replaces
18846         `internal--module-call' and is called directly from eval.c.
18847         (syms_of_module): Remove internal helper function, which is no longer
18848         needed.
18849         (module_function_arity): New helper function.
18851         * src/data.c (Ftype_of): Adapt to new implementation.
18852         (Fmodule_function_p, syms_of_data): New user-visible function.  Now
18853         that module functions are first-class objects, they deserve a
18854         predicate.  Define it even if not compiled with --enable-modules so
18855         that Lisp code doesn't have to check for the function's existence.
18857         * src/doc.c (Fdocumentation): Support module functions.
18859         * src/print.c (print_object): Adapt to new implementation.
18861         * src/alloc.c (mark_object): Specialized garbage collector support is
18862         no longer needed.
18864         * lisp/help.el (help-function-arglist): Support module functions.
18865         While there, simplify the arity calculation by using `func-arity',
18866         which does the right thing for all kinds of functions.
18868         * test/data/emacs-module/mod-test.c: Amend docstring so we can test
18869         the argument list.
18871         * test/src/emacs-module-tests.el (mod-test-sum-docstring): Adapt to
18872         new docstring.
18873         (mod-test-non-local-exit-signal-test): Because `internal--module-call'
18874         is gone, the backtrace has changed and no longer leaks the
18875         implementation.
18876         (module--func-arity): New test for `func-arity'.
18877         (module--help-function-arglist): New test for `help-function-arglist'.
18879 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
18881         Avoid crashes in GC due to unescaped characters warning
18883         * src/lread.c (load_warn_unescaped_character_literals): Don't cons
18884         Lisp objects from stack-based variables.  (Bug#26961)
18886 2017-05-20  Charles A. Roelli  <charles@aurox.ch>
18888         New commands: find-library-other-window, find-library-other-frame
18890         * lisp/emacs-lisp/find-func.el (find-library-other-window)
18891         (find-library-other-frame): New commands to complement the
18892         existing 'find-library' command.  (Bug#26712)
18893         (read-library-name): New function to read a library name.
18894         * etc/NEWS: Mention 'find-library-other-window' and
18895         'find-library-other-frame'.
18897 2017-05-20  Eli Zaretskii  <eliz@gnu.org>
18899         Fix automatic hscrolling of only the current line
18901         * src/xdisp.c (display_line): When hscrolling only the current
18902         line, increment iterator's first_visible_x and last_visible_x
18903         values to account for the hscroll.  This propagates the hscroll
18904         effect on the iterator geometry all the way down to the
18905         subroutines called by display_line, and avoids scrolling bugs
18906         under large hscroll values.  (Bug#26994)
18908 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
18910         Add handlerlist assertion to module code
18912         * src/emacs-module.c (module_reset_handlerlist):
18913         Check handlerlist.  Suggested by Philipp Stephani in:
18914         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
18916 2017-05-20  Paul Eggert  <eggert@cs.ucla.edu>
18918         Port --enable-gcc-warnings to clang 3.9.1
18920         * configure.ac (WERROR_CFLAGS): Omit -Wmissing-braces for Clang,
18921         to shut off a false alarm.  Problem reportd by Philipp Stephani in:
18922         https://lists.gnu.org/r/emacs-devel/2017-05/msg00521.html
18924 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
18926         Limit integers printed as characters (Bug#16828)
18928         * lisp/simple.el (eval-expression-print-maximum-character): New
18929         variable.
18930         (eval-expression-print-format): Only display value as character if
18931         it's less than or equal to `eval-expression-print-maximum-character'.
18932         (eval-expression-get-print-arguments): Check
18933         eval-expression-print-maximum-character, allow negative arg to
18934         override it.
18935         (eval-expression):
18936         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp):
18937         (elisp--eval-last-sexp-print-value): Handle new variable.
18938         * doc/emacs/building.texi (Lisp Eval): Document new variable and
18939         behavior.
18940         * etc/NEWS: Announce it.
18941         * test/lisp/progmodes/elisp-mode-tests.el
18942         (eval-last-sexp-print-format-small-int)
18943         (eval-last-sexp-print-format-small-int-echo)
18944         (eval-last-sexp-print-format-large-int)
18945         (eval-last-sexp-print-format-large-int-echo):
18946         * test/lisp/simple-tests.el (eval-expression-print-format-small-int)
18947         (eval-expression-print-format-small-int-echo)
18948         (eval-expression-print-format-large-int)
18949         (eval-expression-print-format-large-int-echo): New tests.
18951 2017-05-20  Noam Postavsky  <npostavs@gmail.com>
18953         Refactor lisp eval result printing
18955         * lisp/simple.el (eval-expression-print-format): Don't check
18956         `standard-output' or `current-prefix-arg'.
18957         (eval-expression-get-print-arguments): New function, centralizes
18958         decision about how to print results of `eval-expression' and
18959         `eval-last-sexp'.
18960         (eval-expression):
18961         * lisp/progmodes/elisp-mode.el (elisp--eval-last-sexp-print-value):
18962         Use it.
18964 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18966         Check that signed right shift is arithmetic
18968         * src/data.c (ash_lsh_impl): Verify that signed right shift is
18969         arithmetic; if we run across a compiler that uses a logical shift
18970         we’ll need to complicate the code before removing this
18971         compile-time check.  Help the compiler do common subexpression
18972         elimination better.
18974 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
18976         Minor .gitignore fixes
18978         * .gitignore: modules/mod-test/Makefile was renamed to
18979         test/data/emacs-module/Makefile.
18980         Omit [0-9]*.core, subsumed by *.core.
18981         test/indent/*.new was renamed to test/manual/indent/*.new.
18982         Add *.swp, for Vim.
18984 2017-05-19  Stefan Monnier  <monnier@iro.umontreal.ca>
18986         * lisp/emacs-lisp/package.el: Quote `package-desc' in docstrings
18988 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
18990         Describe problems with Microsoft Intellipoint
18992         * etc/PROBLEMS: Describe problems with Microsoft Intellipoint and
18993         mouse-2 events.  For the details, see
18994         https://lists.gnu.org/r/help-emacs-windows/2017-05/msg00009.html.
18996 2017-05-19  Nick Helm  <nick@tenpoint.co.nz>  (tiny change)
18998         Fix turning off whitespace-mode
19000         * lisp/whitespace.el (whitespace-display-char-on): Correct the way
19001         the original buffer-display-table is saved and restored when
19002         global-whitespace-mode is active.  (Bug#26892)
19004         * test/lisp/whitespace-tests.el
19005         (whitespace-tests-whitespace-mode-on): New function.
19006         (whitespace-tests-display-tables): New test.
19008 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
19010         Minor tweaks in tramp-tests.el
19012         * test/lisp/net/tramp-tests.el (tramp--test-afp-or-smb-p): New defun.
19013         (tramp-test05-expand-file-name-relative): Use it.
19014         (tramp-test38-unload): Run only in batch mode.
19016 2017-05-19  Michael Albinus  <michael.albinus@gmx.de>
19018         Fix a problem with OpenSSH 7 in Tramp
19020         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Set also
19021         "ConnectTimeout" during test.  Otherwise, OpenSSH 7 will hang.
19023 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
19025         Improve documentation of 'split-string'
19027         * doc/lispref/strings.texi (Creating Strings): Rearrange text to
19028         make it more readable.  (Bug#26925)
19030 2017-05-19  Ruslan Bekenev  <furyinbox@gmail.com>
19032         Fix typos in doc strings
19034         * lisp/mail/rfc2231.el (rfc2231-encode-string):
19035         * lisp/mail/rfc2047.el (rfc2047-encode-parameter):
19036         * lisp/mail/rfc2045.el (rfc2045-encode-string): Fix typos in doc
19037         strings.  (Bug#26103)
19039 2017-05-19  Philipp Stephani  <phst@google.com>
19041         Fix module tests on some systems
19043         If dladdr(3) isn't available or didn't work, the printed
19044         representation of a module function will not include the file name,
19045         but only the address.  Make the tests pass in that case.
19047         * test/src/emacs-module-tests.el (module-function-object): Fix match for
19048         module function printed representation
19050 2017-05-19  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
19052         Add an optional arguments to string-trim
19054         * lisp/emacs-lisp/subr-x.el (string-trim-left, string-trim-right)
19055         (string-trim): Add optional args that serve as defaults per the
19056         original behavior.  (Bug#26908)
19058 2017-05-19  Stephen Berman  <steve@rosalinde.fritz.box>
19060         Fix typo in last change to auto-hscroll-mode
19062         * lisp/cus-start.el (standard): Fix typo in value of auto-hscroll-mode.
19064 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
19066         Support remote editing in emacsclient via Tramp
19068         * lib-src/emacsclient.c (main, decode_options)
19069         (print_help_and_exit, longopts): New option '--tramp' / '-T' which
19070         specifies how emacs should use tramp to find remote files.
19072         * doc/emacs/misc.texi (TCP Emacs server): New subsection describing
19073         the various knobs to tune server.el for TCP opereation.
19074         (emacsclient Options): Reference "TCP Emacs server" from description of
19075         --server-file.  Document the new '--tramp' / '-T' options.
19076         * doc/emacs/emacs.texi (Top): Update the top-level menu.
19078         * etc/NEWS: Mention the new option.
19080 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
19082         * lisp/replace.el (query-replace-regexp-eval): Doc fix.
19084 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19086         Attempt to work around macOS vfork bug
19088         Problem reported by YAMAMOTO Mitsuharu in:
19089         https://lists.gnu.org/r/emacs-devel/2017-05/msg00342.html
19090         This is related to the fix for Bug#26397.
19091         * src/callproc.c (call_process_cleanup, call_process) [!MSDOS]:
19092         Report internal error if wait_for_termination fails.
19093         * src/sysdep.c (get_child_status): Return -1 if waitpid is
19094         buggy, instead of aborting.
19095         (wait_for_termination): Return bool success value.
19096         All callers changed.
19098 2017-05-19  Eli Zaretskii  <eliz@gnu.org>
19100         Adjust defcustom form for 'auto-hscroll-mode'
19102         * lisp/cus-start.el (standard) <auto-hscroll-mode>: Adjust the
19103         defcustom form.  Suggested by Stephen Berman <stephen.berman@gmx.net>.
19105 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19107         Fix DARWIN_OS_CASE_SENSITIVE_FIXME==2 false alarm
19109         * src/fileio.c (file_name_case_insensitive_p):
19110         Don’t compile the (DARWIN_OS_CASE_SENSITIVE_FIXME == 2)
19111         code unless DARWIN_OS_CASE_SENSITIVE_FIXME is 2.
19112         Problem reported by Philipp Stephani in:
19113         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
19115 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19117         Port --enable-gcc-warnings to clang 3.9.1
19119         * configure.ac (WERROR_CFLAGS): Omit -Wdouble-promotion if clang.
19120         Problem reported by Philipp Stephani in:
19121         https://lists.gnu.org/r/emacs-devel/2017-05/msg00495.html
19123 2017-05-19  Paul Eggert  <eggert@cs.ucla.edu>
19125         Clean up compiler warning in emacs-module.c
19127         * src/emacs-module.c (MODULE_SETJMP_1): Use the local var
19128         instead of leaving it unused, to pacify picky compilers.
19129         (module_reset_handlerlist): Now takes a dummy pointer to a struct
19130         handler *, instead of a dummy pointer to an int.  All uses changed.
19132 2017-05-19  Philipp Stephani  <phst@google.com>
19134         Clean up some compiler warnings
19136         * src/sysdep.c (system_process_attributes) [DARWIN_OS]:
19137         Remove unused locals.
19139 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
19141         Support hscrolling only the current line
19143         * src/xdisp.c (hscrolling_current_line_p): New function.
19144         (init_iterator): If auto-hscrolling just the current line, don't
19145         increment the iterator's first_visible_x and last_visible_x
19146         variables.
19147         (hscroll_window_tree): Recompute window's hscroll when moving
19148         vertically to another screen line.
19149         (redisplay_window): If we are hscrolling only the current line,
19150         disable the optimizations that rely on the current matrix being
19151         up-to-date.
19152         (display_line): Accept an additional argument CURSOR_VPOS, the
19153         vertical position of the current screen line which might need
19154         hscrolling; all callers changed.  Compute first_visible_x and
19155         last_visible_x specially when auto-hscrolling current line, by
19156         repeating the calculation that is done in init_iterator in other
19157         modes.
19158         (syms_of_xdisp) <auto-hscroll-mode>: No longer boolean, it can now
19159         accept a 3rd value 'current-line, to turn on the mode where
19160         only the current line is hscrolled.
19162         * etc/NEWS: Mention the new auto-hscroll-mode value.
19164 2017-05-18  Eli Zaretskii  <eliz@gnu.org>
19166         Fix last change in line-move-finish
19168         * lisp/simple.el (line-move-finish): Fix last change.  This corrects a
19169         regression in C-n and C-p when lines are truncated, introduced by the
19170         change in 2017-05-10.
19172 2017-05-18  Simen Heggestøyl  <simenheg@gmail.com>
19174         Expand docstring for CSS mode
19176         * lisp/textmodes/css-mode.el (css-completion-at-point, css-mode):
19177         Expand docstrings.
19179 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
19181         Use the expression angle units while simplifying it
19183         Don't use the angle mode, use the angle units included
19184         in the expression instead (Bug#23889).
19185         * lisp/calc/calc-alg.el (calc-input-angle-units): New defun.
19186         (math-simplify): Use it.
19187         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
19188         Don't use calc-angle-mode if math-simplifying-units is non-nil.
19189         * lisp/calc/calc-math.el (calcFunc-nroot, math-from-radians)
19190         (math-to-radians-2, math-from-radians-2): Don't convert angle
19191         to radians if math-simplifying-units is non-nil.
19192         * test/lisp/calc/calc-tests.el (test-calc-23889): Add test.
19194 2017-05-18  Tino Calancha  <tino.calancha@gmail.com>
19196         Revert "Ignore angle mode while simplifying units"
19198         This reverts commit 713e922243fb60d850f7b0ff83f3e2a3682f1832.
19199         This commit causes Bug#25652.
19201 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
19203         Avoid undefined behavior in struct sockaddr
19205         Problem noted by Philipp Stephani in:
19206         https://lists.gnu.org/r/emacs-devel/2017-05/msg00391.html
19207         * src/conf_post.h (ATTRIBUTE_MAY_ALIAS, DECLARE_POINTER_ALIAS):
19208         New macros.
19209         * src/process.c (conv_sockaddr_to_lisp, conv_lisp_to_sockaddr)
19210         (connect_network_socket, network_interface_info)
19211         (server_accept_connection): Use it when aliasing non-char objects.
19213 2017-05-17  Stefan Monnier  <monnier@iro.umontreal.ca>
19215         * lisp/vc/smerge-mode.el (smerge-refine-regions): Work in multi-bufs
19217         Rename from smerge-refine-subst.  Allow the `beg's to be markers.
19218         Add autoload cookie.
19219         (smerge--refine-forward): Rename from smerge-refine-forward.
19220         (smerge--refine-chopup-region): Rename from smerge-refine-chopup-region.
19221         Assume that its `beg` arg is a marker.
19222         (smerge--refine-highlight-change): Rename from
19223         smerge-refine-highlight-change.  Remove `buf` arg.
19224         (smerge-refine-subst): Redefine as an obsolete alias.
19226 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
19228         Work around AddressSanitizer bug with vfork
19230         Problem reported by Jim Meyering in:
19231         https://lists.gnu.org/r/emacs-devel/2017-05/msg00246.html
19232         * src/conf_post.h (vfork) [ADDRESS_SANITIZER]: Define to fork.
19233         Unfortunately with the AddressSanitizer in Fedora 25 x86-64, the
19234         vforked child messes up the parent’s shadow memory.  This is too
19235         bad, as we’d rather have AddressSanitizer catch memory-access bugs
19236         related to vfork.
19238 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
19240         Catch IPv4/IPv6 issues at compile time
19242         * src/process.c (connect_network_socket): Use verify,
19243         not eassert, so that any problems are caught at compile-time.
19244         Avoid dodgy cast by using a local var of the correct type.
19246 2017-05-17  Paul Eggert  <eggert@cs.ucla.edu>
19248         Pacify --enable-gcc-warnings --with-x-toolkit=no
19250         * src/composite.c (autocmp_chars) [!HAVE_WINDOW_SYSTEM]:
19251         Avoid unused local.
19253 2017-05-17  Glenn Morris  <rgm@gnu.org>
19255         * admin/update_autogen (commit): Pull before push.
19257 2017-05-17  Glenn Morris  <rgm@gnu.org>
19259         autoload-rubric no longer provides a feature by default
19261         * lisp/emacs-lisp/autoload.el (autoload-rubric):
19262         Stop providing a feature unless explicitly requested.
19263         (autoload-find-generated-file): Update autoload-rubric call.
19265 2017-05-17  Eli Zaretskii  <eliz@gnu.org>
19267         Remove redundant code in connect_network_socket
19269         * src/process.c (connect_network_socket) [HAVE_GETSOCKNAME]:
19270         Remove redundant type-casting and variables.  Don't call
19271         'getsockname' to find the port for AF_LOCAL sockets.
19272         [AF_INET6]: Add an assertion to verify that the ports in the IPv4
19273         and IPv6 structures are at the same offset and have the same size.
19275 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19277         Fix minor timezone memory leak
19279         * src/editfns.c (wall_clock_tz): Remove; unused.
19281 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19283         Do not discard AddressSanitizer stderr
19285         * src/emacs.c (close_output_streams) [ADDRESS_SANITIZER]:
19286         Do not close stderr.
19288 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19290         Simplify procname code to avoid GCC bug
19292         * src/process.c (server_accept_connection): Simplify and avoid
19293         multiple calls and struct literals in the last case of a switch.
19294         The old code ran afoul of GCC bug 80659, which caused an internal
19295         compiler error.  Problem reported by Jim Meyering in:
19296         https://lists.gnu.org/r/emacs-devel/2017-05/msg00182.html
19297         https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80659
19299 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19301         Pacify GCC 7 with --enable-gcc-warnings
19303         * src/regex.c (regex_compile): Swap labels, so that the
19304         FALLTHROUGH immediately precedes the case label.
19306 2017-05-16  Paul Eggert  <eggert@cs.ucla.edu>
19308         Merge with gnulib, pacifying GCC 7
19310         This incorporates:
19311         2017-05-16 manywarnings: update for GCC 7
19312         2017-05-15 sys_select: Avoid "was expanded before it was required"
19313         * configure.ac (nw): Suppress GCC 7’s new -Wduplicated-branches and
19314         -Wformat-overflow=2 options, due to too many false alarms.
19315         * doc/misc/texinfo.tex, lib/strftime.c, m4/manywarnings.m4:
19316         Copy from gnulib.
19317         * m4/gnulib-comp.m4: Regenerate.
19318         * src/coding.c (decode_coding_iso_2022):
19319         Fix bug uncovered by -Wimplicit-fallthrough.
19320         * src/conf_post.h (FALLTHROUGH): New macro.
19321         Use it to mark all switch cases that fall through.
19322         * src/editfns.c (styled_format): Use !, not ~, on bool.
19323         * src/gtkutil.c (xg_check_special_colors):
19324         When using sprintf, don’t trust Gtk to output colors in [0, 1] range.
19325         (xg_update_scrollbar_pos): Avoid use of possibly-uninitialized bool;
19326         this bug was actually caught by Clang.
19327         * src/search.c (boyer_moore):
19328         Tell GCC that CHAR_BASE, if nonzero, must be a non-ASCII character.
19329         * src/xterm.c (x_draw_glyphless_glyph_string_foreground):
19330         Tell GCC that glyph->u.glyphless.ch must be a character.
19332 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
19334         Make autoloading Tramp more robust
19336         * lisp/net/tramp.el (tramp-file-name-for-operation):
19337         Use `default-directory' where appropriate.
19338         (tramp-file-name-handler): Do not autoload.
19339         (tramp-autoload-file-name-handler): Reintroduce function.
19340         (tramp-register-autoload-file-name-handlers): Use it.
19342 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
19344         Extend tramp-tests.el
19346         * test/lisp/net/tramp-tests.el (tramp-change-syntax):
19347         Remove declaration, not needed anymore.
19348         (tramp-test05-expand-file-name-relative): New test.
19349         (tramp-test10-write-region): Extend test.
19351 2017-05-16  Michael Albinus  <michael.albinus@gmx.de>
19353         * lisp/net/tramp.el: Avoid recursive load of Tramp.  (Bug#26943)
19355 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
19357         Make `indent-line-to' respect field boundaries (Bug#26891)
19359         * lisp/indent.el (indent-line-to): Use `back-to-indentation' instead
19360         of `backward-to-indentation'.
19362 2017-05-16  Noam Postavsky  <npostavs@gmail.com>
19364         Make sure indent-sexp stops at end of sexp (Bug#26878)
19366         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Check endpos before
19367         indenting.
19368         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp-stop): New
19369         test.
19371 2017-05-16  Glenn Morris  <rgm@gnu.org>
19373         Stop some epg tests failing on rhel7 with gpg 2.0.22 (bug#23619)
19375         * test/lisp/epg-tests.el (with-epg-tests):
19376         Also set GNUPGHOME in the environment of child processes.
19377         This avoids problems if gpg does not pass --homedir to spawned agent.
19379 2017-05-16  Glenn Morris  <rgm@gnu.org>
19381         Add oldxmenu to system-configuration-features
19383         * configure.ac (HAVE_OLDXMENU): New.
19384         (emacs_config_features): Add oldxmenu.
19386 2017-05-15  Ted Zlatanov  <tzz@lifelogs.com>
19388         * .gitlab-ci.yml: Adjust disclaimer as per RMS.
19390 2017-05-15  Eli Zaretskii  <eliz@gnu.org>
19392         Remove unneeded stuff from nt/inc/sys/time.h
19394         * nt/inc/sys/time.h (_TIMEVAL_DEFINED, struct timevat, timerisset)
19395         (timercmp, timerclear): Don't define.  Instead, include the system
19396         header sys/time.h, and add only the interval timers stuff.  This
19397         avoids compiler warnings about 'gettimeofday's prototype, and also
19398         avoids redefinition of macros from system headers.
19400 2017-05-15  Paul Eggert  <eggert@cs.ucla.edu>
19402         Fix address violation found by AddressSanitizer
19404         * src/process.c (connect_network_socket):
19405         Use struct sockaddr_storage, not struct sockaddr_in, to store info
19406         about a socket address.  Problem reported by Philipp Stephani in:
19407         https://lists.gnu.org/r/emacs-devel/2017-05/msg00314.html
19408         This fix is based on a patch by Philipp in:
19409         https://lists.gnu.org/r/emacs-devel/2017-05/msg00357.html
19411 2017-05-14  Gemini Lasswell  <gazally@runbox.com>
19413         Make edebug-step-in work on generic methods (Bug#22294)
19415         * lisp/emacs-lisp/edebug.el (edebug-match-cl-generic-method-args):
19416         New function to implement the edebug-form-spec property of
19417         the symbol cl-generic-method-args.
19418         (edebug-instrument-function): If the function is a generic
19419         function, find and instrument all of its methods. Return a list
19420         instead of a single symbol.
19421         (edebug-instrument-callee): Now returns a list. Update docstring.
19422         (edebug-step-in): Handle the list returned by edebug-instrument-callee.
19423         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Use name and
19424         cl-generic-method-args in its Edebug spec.
19425         * lisp/emacs-lisp/eieio-compat.el (defmethod): Use name and
19426         cl-generic-method-args in its Edebug spec.
19427         * lisp/subr.el (method-files): New function.
19428         * test/lisp/subr-tests.el (subr-tests--method-files--finds-methods)
19429         (subr-tests--method-files--nonexistent-methods): New tests.
19431 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19433         Merge from gnulib
19435         This incorporates:
19436         2017-05-14 same-inode: Adapt for windows-stat-inodes
19437         2017-05-14 windows-stat-inodes: New module
19438         2017-05-14 stat-time: Adapt for windows-stat-timespec
19439         * lib/gnulib.mk.in: Regenerate.
19440         * lib/stat-time.h, lib/sys_types.in.h, m4/sys_types_h.m4:
19441         Copy from gnulib.
19443 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
19445         Remove gettimeofday from w32 sources
19447         * lib-src/ntlib.c (gettimeofday):
19448         * nt/inc/sys/time.h (gettimeofday, struct timezone): Remove unused
19449         function 'gettimeofday' and all of its supporting code.
19451 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
19453         Fix the MS-Windows build
19455         * nt/inc/sys/time.h (gettimeofday):
19456         * src/w32.c (gettimeofday): Adjust signature to match Gnulib.
19458 2017-05-14  Eli Zaretskii  <eliz@gnu.org>
19460         More accurate documentation of the ':box' face attribute
19462         * doc/lispref/display.texi (Face Attributes): Fix the description
19463         of negative width of the ':box' attribute.  (Bug#26920)
19465 2017-05-14  Paul Eggert  <eggert@cs.ucla.edu>
19467         Merge from gnulib
19469         This incorporates:
19470         2017-05-13 largefile: Simplify
19471         2017-05-13 largefile: Improve and document
19472         2017-05-13 truncate: New module
19473         2017-05-13 windows-stat-timespec: New module
19474         2017-05-13 windows-stat-override: New module
19475         2017-05-11 getopt-posix: port to mingw
19476         2017-05-11 gettimeofday: Increase precision on mingw
19477         2017-05-10 time: Fix missing initialization of HAVE_TIMEZONE_T
19478         2017-05-10 Implement a way to opt out from MSVC support
19479         2017-05-09 tzset: Expand comment about TZ problem on native Windows
19480         * build-aux/config.guess, lib/dup2.c, lib/fcntl.c, lib/fsync.c:
19481         * lib/getdtablesize.c, lib/getopt.c, lib/gettimeofday.c:
19482         * lib/mktime.c, lib/stat-time.h, lib/sys_stat.in.h, lib/unistd.in.h:
19483         * lib/utimens.c, m4/gettimeofday.m4, m4/largefile.m4:
19484         * m4/sys_stat_h.m4, m4/sys_time_h.m4, m4/time_h.m4, m4/time_rz.m4:
19485         * m4/unistd_h.m4: Copy from gnulib.
19486         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
19488 2017-05-14  Marcin Borkowski  <mbork@mbork.pl>
19490         Merge branch 'fix/bug-21072'
19492 2017-05-14  Ted Zlatanov  <tzz@lifelogs.com>
19494         * .gitlab-ci.yml: Add setup for GitLab CI builds.
19496 2017-05-13  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
19498         New minor mode 'pixel-scroll-mode'
19500         * lisp/pixel-scroll.el: New file.
19502         * etc/NEWS: Mention pixel-scroll-mode.
19504 2017-05-13  Philipp  <phst@google.com>
19506         Make `old-style-backquotes' variable internal
19508         * src/lread.c (load_warn_old_style_backquotes, Fload, read1)
19509         (syms_of_lread): Rename `old-style-backquotes' to
19510         `lread--old-style-backquotes', and clarify that it's for internal
19511         use only.
19512         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Rename
19513         variable.
19514         * test/src/lread-tests.el (lread-tests--old-style-backquotes): Add
19515         unit test.
19516         * test/lisp/emacs-lisp/bytecomp-tests.el
19517         (bytecomp-tests--old-style-backquotes): Add unit test.
19519 2017-05-13  Philipp Stephani  <phst@google.com>
19521         Improve unescaped character literal warnings
19523         * src/lread.c (load_warn_unescaped_character_literals)
19524         (syms_of_lread):
19525         lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Improve
19526         formatting of unescaped character literal warnings.
19528         * test/src/lread-tests.el (lread-tests--unescaped-char-literals):
19529         test/lisp/emacs-lisp/bytecomp-tests.el
19530         (bytecomp-tests--unescaped-char-literals): Adapt unit tests.
19532 2017-05-12  Alan Mackenzie  <acm@muc.de>
19534         Fontify C++ for loop variable as variable, even when followed by parentheses
19536         In the following: "for (auto *Friend : Class->friends()) {", "Friend" was
19537         getting fontified as a function, due to insufficient checking of the tokens
19538         between it and "()".
19540         * lisp/progmodes/cc-langs.el (c-:-op-cont-tokens, c-:-op-cont-regexp): New
19541         lang-consts/vars.
19543         * lisp/progmodes/cc-engine.el (c-forward-declarator): After finding a putative
19544         declarator's identifier, check for a ":" token inside a for's parentheses, and
19545         abort the search for "(" if this is found.
19547 2017-05-12  Michael Albinus  <michael.albinus@gmx.de>
19549         Make Tramp backward compatible
19551         * lisp/net/tramp-cmds.el (tramp-change-syntax):
19552         Set tramp-autoload cookie.
19554         * lisp/net/tramp-compat.el: Run `tramp-change-syntax' at
19555         startup, if necessary.
19557         * lisp/net/tramp.el (tramp-syntax): Use `tramp-compat-user-error'.
19558         (tramp-register-autoload-file-name-handlers): Do not mark
19559         `operations' for `tramp-file-name-handler'.
19560         (tramp-register-file-name-handlers): Remove also
19561         `tramp-autoload-file-name-handler' for backward compatibility.
19562         (tramp-register-foreign-file-name-handler): Use `delete-dups'.
19564         * test/lisp/net/tramp-tests.el (tramp-change-syntax): Declare.
19566 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
19568         Modify `beginning-of-defun-comments'
19570         * lisp/emacs-lisp/lisp.el (beginning-of-defun-comments): Try not to stop
19571         in the middle of a multiline comment.
19573 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
19575         Fix elisp-tests-with-temp-buffer compilation
19577         * test/lisp/emacs-lisp/lisp-tests.el (elisp-tests-with-temp-buffer):
19578         Don't refer to the =!NAME= as "markers" since they produce variables
19579         with just plain positions, not marker objects.  Explicitly specify
19580         that CONTENTS is evaluated at compile time.  Don't re-evaluate
19581         CONTENTS at runtime.  Fix debug specification.  Suppress warnings due
19582         to BODY not using =!NAME= variables.
19583         (elisp-test-point-position-regex): Rename from
19584         `elisp-test-point-marker-regex'.
19585         (mark-defun-test-buffer): Wrap in `eval-and-compile'.
19587 2017-05-12  Noam Postavsky  <npostavs@gmail.com>
19589         * lisp/emacs-lisp/lisp.el (mark-defun): Simplify moving the point.
19591 2017-05-12  Marcin Borkowski  <mbork@mbork.pl>
19593         Fix Bug#21072 and rework `mark-defun'
19595         * test/lisp/progmodes/elisp-mode-tests.el (mark-defun-test-buffer):
19596           New variable
19597         (mark-defun-no-arg-region-inactive)
19598         (mark-defun-no-arg-region-active)
19599         (mark-defun-arg-region-active)
19600         (mark-defun-pos-arg-region-inactive)
19601         (mark-defun-neg-arg-region-inactive, mark-defun-bob): Add tests for
19602         the new `mark-defun'.
19604         * lisp/emacs-lisp/lisp.el (beginning-of-defun--in-emptyish-line-p):
19605           New function.
19606         (beginning-of-defun-comments): New function.
19607         (mark-defun): Fix bug#21072, also rewrite large parts of `mark-defun'
19608         to accept a numerical prefix argument.
19610 2017-05-12  Alfred M. Szmidt  <ams@gnu.org>
19612         * lisp/mail/rmail.el (rmail-ignored-headers): Add 3 headers to ignore.
19614 2017-05-12  Eli Zaretskii  <eliz@gnu.org>
19616         Improve doc strings in net-utils.el
19618         * lisp/net/net-utils.el (ifconfig, iwconfig, netstat, arp)
19619         (route, traceroute, nslookup, ftp, smbclient)
19620         (smbclient-list-shares, finger, whois)
19621         (network-connection-to-service, network-service-connection)
19622         (network-connection-reconnect): Improve doc strings.
19624 2017-05-12  Andrew Robbins  <contact@andrewrobbins.info>
19626         Extend DNS lookup commands to allow specifying the name server
19628         * lisp/net/net-utils.el (ffap-string-at-point): Removed due to
19629         'net-utils-machine-at-point' obviating this autoloaded
19630         function (Bug#25426).
19631         (dig-program-options): New customization variable.
19632         (nslookup-host, dns-lookup-host, run-dig): Can now specify
19633         optional name server argument interactively (by prefix arg) and
19634         non-interactively.
19636         * etc/NEWS: Mention the extension of DNS lookup commands.
19638 2017-05-12  Glenn Morris  <rgm@gnu.org>
19640         Don't hard-code loaddefs files in lisp/Makefile
19642         * lisp/Makefile.in (loaddefs): New variable.
19643         (AUTOGENEL): Use $loaddefs, and include directory.
19644         (bootstrap-clean): Update for AUTOGENEL change.
19646 2017-05-11  Katsumi Yamaoka  <yamaoka@jpl.org>
19648         Kill modified buffers silently when quitting (bug#26862)
19650         * lisp/gnus/gnus-start.el (gnus-clear-system): Run do-auto-save to make
19651         sure that latest drafts are saved, and kill modified buffers silently.
19653 2017-05-10  Perry E. Metzger  <perry@piermont.com>
19655         Implement 1-based column numbering in mode line
19657         * src/xdisp.c (decode_mode_spec): Implement the %C construct.
19659         * lisp/bindings.el (column-number-indicator-zero-based): New
19660         defcustom.
19661         (mode-line-position): Use %C when
19662         column-number-indicator-zero-based is nil.
19664         * src/xdisp.c (syms_of_xdisp) <frame-title-format>:
19665         * src/buffer.c (syms_of_buffer) <mode-line-format>:
19666         * doc/lispref/modes.texi (%-Constructs):
19667         * doc/lispref/frames.texi (Frame Titles): Document the %C
19668         construct.
19670         * doc/emacs/display.texi (Optional Mode Line): Document
19671         'column-number-indicator-zero-based'.
19673         * etc/NEWS: Mention 'column-number-indicator-zero-based' and the
19674         %C construct.
19676 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
19678         Ensure cursor's foreground color is in sync with 'default' face
19680         * src/w32term.c (x_set_cursor_gc): Don't reuse cursor GC if its
19681         foreground color is different from the background of the glyph
19682         string's face.  (Bug#26851)
19684 2017-05-10  Eli Zaretskii  <eliz@gnu.org>
19686         Fix vertical cursor motion when columns are of unequal size
19688         * lisp/simple.el (line-move-finish): In line-move-visual mode, use
19689         vertical-motion to move to the goal column, as the goal column
19690         should in that case be interpreted in units of frame's canonical
19691         character width.  (Bug#26852)
19693 2017-05-10  Glenn Morris  <rgm@gnu.org>
19695         Fix finding test .el files
19697         * test/Makefile.in (ELFILES): Exclude the data/ directory.
19698         * test/src/lread-tests.el (lread-test-bug26837): Revert previous.
19700 2017-05-10  Tino Calancha  <tino.calancha@gmail.com>
19702         Tweak a recent test
19704         This test fails in my local machine because the data files
19705         are compiled, and the test doesn't expect that.
19706         * test/src/lread-tests.el (lread-test-bug26837): Match a suffix
19707         ending with '.elc' when the data files are compiled.
19709 2017-05-10  Glenn Morris  <rgm@gnu.org>
19711         Put license information in each generated uni-*.el
19713         * admin/unidata/unidata-gen.el (unidata-gen-file):
19714         Get Copyright line from copyright.html.
19715         Put information in file header, not separate README.
19716         (unidata-gen-charprop): Mention the source location.
19717         * lisp/international/README: Remove file.
19719 2017-05-10  Noam Postavsky  <npostavs@gmail.com>
19721         Fix lisp-indent-region and indent-sexp (Bug#26619)
19723         The new lisp-indent-region introduced in 2017-04-22 "Add new
19724         `lisp-indent-region' that doesn't reparse the code." is broken because
19725         it doesn't save the calculated indent amounts for already seen sexp
19726         depths.  Fix this by unifying the indent-sexp and lisp-indent-region
19727         code.  Furthermore, only preserve position 2 of the running parse
19728         when the depth doesn't change.
19729         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): Use an OLDSTATE that
19730         corresponds with the start point when calling parse-partial-sexp.
19731         (lisp-indent-state): New struct.
19732         (lisp-indent-calc-next): New function, extracted from indent-sexp.
19733         (indent-sexp, lisp-indent-region): Use it.
19734         (lisp-indent-line): Take indentation, instead of parse state.
19735         * test/lisp/emacs-lisp/lisp-mode-tests.el
19736         (lisp-mode-tests--correctly-indented-sexp): New constant.
19737         (lisp-indent-region, lisp-indent-region-defun-with-docstring):
19738         (lisp-indent-region-open-paren, lisp-indent-region-in-sexp): New
19739         tests.
19741 2017-05-10  Dmitry Gutov  <dgutov@yandex.ru>
19743         Simplify url-encode-url and add a test
19745         * lisp/url/url-util.el (url-encode-url): Simplify.
19746         url-generic-parse-url copes with multibyte strings just fine
19747         (https://debbugs.gnu.org/cgi/bugreport.cgi?bug=24117#185).
19749         * test/lisp/url/url-parse-tests.el
19750         (url-generic-parse-url/multibyte-host-and-path): New test.
19752 2017-05-10  Glenn Morris  <rgm@gnu.org>
19754         More informative error when required feature missing
19756         * src/fns.c (Frequire): Include file name in missing feature error.
19757         * doc/lispref/loading.texi (Named Features): Don't quote actual error.
19759 2017-05-10  Glenn Morris  <rgm@gnu.org>
19761         Put re-loaded file back at start of load-history (bug#26837)
19763         * src/lread.c (readevalloop): Fix the "whole buffer" check to
19764         operate in the correct buffer.
19765         (Feval_buffer): Move point back to the start after checking
19766         for lexical binding.
19767         * test/src/lread-tests.el (lread-test-bug26837): New test.
19768         * test/data/somelib.el, test/data/somelib2.el: New test data files.
19770 2017-05-09  Eli Zaretskii  <eliz@gnu.org>
19772         Improve documentation of 'gnutls-verify-error'
19774         * lisp/net/gnutls.el (gnutls-verify-error): Improve and expand
19775         doc string.  (Bug#26845)
19777 2017-05-09  Glenn Morris  <rgm@gnu.org>
19779         Don't duplicate autoload code in package.el
19781         * lisp/emacs-lisp/autoload.el (autoload-rubric): Add a package option.
19782         * lisp/emacs-lisp/package.el (autoload-rubric): Declare.
19783         (package-autoload-ensure-default-file): Use autoload-rubric.
19785 2017-05-09  Michael Albinus  <michael.albinus@gmx.de>
19787         * test/lisp/net/tramp-tests.el: Keep additional test.
19789 2017-05-09  Marcin Borkowski  <mbork@mbork.pl>
19791         Add elisp-tests-with-temp-buffer, a new testing macro
19793         * test/lisp/emacs-lisp/lisp-tests.el
19794         (elisp-test-point-marker-regex) New variable.
19795         (elisp-tests-with-temp-buffer): New macro to help test functions
19796         moving the point and/or mark.
19798 2017-05-09  Noam Postavsky  <npostavs@gmail.com>
19800         Revert "Output number of characters added to file (Bug#354)"
19802         The extra message text turned out to be quite annoying in practice,
19803         and is generally more trouble than it's worth.  Also revert several
19804         related changes.
19806         Partially revert "Handle `write-region' messages in Tramp properly"
19807         Revert "New var write-region-verbose, default nil"
19808         Revert "* src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)"
19809         Revert "Minor tuneup of write-region change"
19810         Revert "Adjust write-region so file name is at the beginning again"
19811         Revert "Fix handling of non-integer START param to write-region"
19812         Revert "Output number of characters added to file (Bug#354)"
19814         * doc/emacs/files.texi (Misc File Ops):
19815         * etc/NEWS:
19816         * lisp/epa-file.el (epa-file-write-region):
19817         * lisp/gnus/mm-util.el (mm-append-to-file):
19818         * lisp/jka-compr.el (jka-compr-write-region):
19819         * lisp/net/ange-ftp.el (ange-ftp-write-region):
19820         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
19821         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
19822         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
19823         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region):
19824         * lisp/net/tramp.el (tramp-handle-write-region-message):
19825         * src/fileio.c (write_region, syms_of_fileio):
19826         * test/lisp/net/tramp-tests.el (tramp-test10-write-region): Remove
19827         extra characters from file writing messages.
19829 2017-05-09  Noah Friedman  <friedman@splode.com>
19831         (ybuffer-list): $alist must be ptr-unmasked at the end of the loop,
19832         because $ptr is modified by ygetptr and we use $ptr immediately at the
19833         beginning.
19835 2017-05-08  Ken Brown  <kbrown@cornell.edu>
19837         Skip a test from filenotify-tests.el on Cygwin
19839         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
19840         Skip the last part of the test on Cygwin; it fails due to timing
19841         issues.
19842         (file-notify--test-read-event):  Remove `sit-for' that was added
19843         for Cygwin.
19845 2017-05-08  Paul Eggert  <eggert@cs.ucla.edu>
19847         Merge from gnulib
19849         This incorporates:
19850         2017-05-08 intprops: don’t depend on ‘verify’
19851         2017-05-07 utimens: on native Windows, improve resolution if fd < 0
19852         2017-05-07 utimens: Improve error code on native Windows
19853         * lib/intprops.h, lib/utimens.c: Copy from gnulib.
19855 2017-05-08  Wilson Snyder  <wsnyder@wsnyder.org>
19857         Fix various verilog-mode.el issues.
19859         * lisp/progmodes/verilog-mode.el (verilog-read-decls): Fix SystemVerilog
19860         2012 import breaking AUTOINST.  Reported by Johannes Schaefer.
19861         (verilog-auto-wire-type, verilog-insert-definition): Fix AUTOWIRE using
19862         logic in top-level non-SystemVerilog module, bug1142.  Reported by Marcin K.
19863         (verilog-define-abbrev-table) (verilog-mode-abbrev-table): Don't expand
19864         abbrev inside comment/strings, bug1102. Reported by Slava Yuzhaninov.
19865         (verilog-auto): Fix AUTORESET widths pulling from AUTOREGINPUT,
19866         msg2143. Reported by Galen Seitz.
19867         (verilog-modify-compile-command): Fix expansion of __FLAGS__ when
19868         compile-command is globally set, bug1119.  Reported by Galen Seitz.
19870 2017-05-08  Michael Albinus  <michael.albinus@gmx.de>
19872         Handle `write-region' messages in Tramp properly
19874         * lisp/net/tramp.el (tramp-handle-write-region-message): New defsubst.
19875         * lisp/net/tramp-adb.el (tramp-adb-handle-write-region):
19876         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
19877         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
19878         * lisp/net/tramp-smb.el (tramp-smb-handle-write-region): Use it.
19880         * lisp/net/tramp.el (tramp-password-prompt-regexp)
19881         (tramp-completion-mode-p):
19882         * lisp/net/tramp-cmds.el (tramp-reporter-dump-variable)
19883         (tramp-append-tramp-buffers):
19884         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection):
19885         Use `bound-and-true-p'.
19887         * lisp/net/tramp-compat.el (tramp-compat-delete-file):
19888         Don't check for `boundp' anymore.
19890         * test/lisp/net/tramp-tests.el (ert-x): Require it.
19891         (tramp--test-messages): New defvar.
19892         (tramp-test10-write-region): Extend test.
19894 2017-05-08  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
19896         Fix glyph string generation for multi-font compositions (Bug#26742)
19898         * src/xdisp.c (glyph_string_containing_background_width): New function.
19899         (draw_glyphs): Use it to get correct background width.
19900         (compute_overhangs_and_x): Don't change x in the middle of composite
19901         characters.
19903 2017-05-07  Philipp Stephani  <phst@google.com>
19905         Fix all unescaped character literals
19907 2017-05-07  Alan Mackenzie  <acm@muc.de>
19909         CC Mode internal cache: Handle a cache pos being inside a two-char construct.
19911         Cache c-state-semi-nonlit-pos-cache was failing when a cache position was,
19912         e.g., between the two characters of an opening comment "/*", and additionally
19913         there were an odd number of quote marks (apostrophes) in the comment.  This
19914         happened in .../src/xdisp.c in the Emacs master branch around 2017-05-02 at
19915         buffer position 615001.
19917         * lisp/progmodes/cc-defs.el (c-emacs-features): Repurpose symbol
19918         pps-extended-state to mean that there are at least 11 elements in the parser
19919         state.
19921         * lisp/progmodes/cc-engine.el (c-cache-to-parse-ps-state)
19922         (c-parse-ps-state-to-cache): Rewrite these to use enhanced cache element list
19923         types which indicate potentially being inside two-char constructs.
19924         (c-parse-ps-state-below): Rewrite to use the new versions of the above two
19925         functions.
19927 2017-05-07  Glenn Morris  <rgm@gnu.org>
19929         Silence an mh-compat compiler warning
19931         * lisp/mh-e/mh-compat.el (mh-url-unreserved-chars): Always define.
19933 2017-05-07  Glenn Morris  <rgm@gnu.org>
19935         Evaluate mh-require when compiling
19937         * lisp/mh-e/mh-alias.el, lisp/mh-e/mh-folder.el:
19938         * lisp/mh-e/mh-gnus.el, lisp/mh-e/mh-search.el:
19939         Evaluate mh-require when compiling, as require is automatically.
19940         * lisp/mh-e/mh-gnus.el: No longer disable byte-compilation.
19942 2017-05-07  Glenn Morris  <rgm@gnu.org>
19944         Remove obsolete method of changing byte-compile-dest-file
19946         * lisp/emacs-lisp/bytecomp.el (byte-compile-dest-file):
19947         Define unconditionally.
19949 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
19951         New var write-region-verbose, default nil
19953         By popular demand, write-region char counts are now off by default
19954         (Bug#26796).
19955         * src/fileio.c (write-region-verbose): New Lisp var.
19956         (write_region): Output char count only if the var is non-nil.
19957         * doc/emacs/files.texi (Misc File Ops), etc/NEWS: Document this.
19959 2017-05-07  Glenn Morris  <rgm@gnu.org>
19961         Write autoloads file atomically
19963         * lisp/emacs-lisp/autoload.el (autoload--save-buffer):
19964         New function, to save buffer atomically.
19965         (autoload-save-buffers, update-directory-autoloads):
19966         Use autoload--save-buffer.
19967         * lisp/Makefile.in ($(lisp)/loaddefs.el):
19968         No longer write to a temp file by hand.
19970 2017-05-07  Glenn Morris  <rgm@gnu.org>
19972         Write autoloads file once only
19974         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file):
19975         Simplify.  Don't bother about ensuring the output file exists.
19976         (autoload-generated-file): Add doc.
19977         (autoload-ensure-writable): Update doc.
19978         (autoload-ensure-file-writeable): Handle non-existing file.
19979         (autoload-ensure-default-file): Remove function.
19981 2017-05-07  Paul Eggert  <eggert@cs.ucla.edu>
19983         Port .gdbinit to GDB 7.11.1 + Python 2.7.12
19985         * src/.gdbinit (Lisp_Object_Printer.to_string):
19986         Explicitly convert integer val to 'int', so that
19987         older GDBs do not complain about the conversion.
19988         * src/lisp.h (Lisp_Object) [CHECK_LISP_OBJECT_TYPE]:
19989         Give the struct a tag, so that older GDB pretty-printers have a
19990         tag to hang their hat on.
19992 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
19994         Pretty-print const Lisp_Objects in .gdbinit
19996         * src/.gdbinit (Emacs_Pretty_Printers.__call__):
19997         Compare unqualified type to Lisp_Object, to do the right thing
19998         when the expression has type ‘Lisp_Object const’.
19999         Problem reported by Eli Zaretskii in:
20000         https://lists.gnu.org/r/emacs-devel/2017-05/msg00138.html
20002 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
20004         Pacify GCC setjmp/longjmp warning
20006         * src/eval.c (internal_lisp_condition_case): Do not modify local
20007         var VAR, to pacify GCC’s setjmp/longjmp warning which in some
20008         cases mistakenly diagnoses VAR possibly being modified between a
20009         setjmp and a longjmp.
20011 2017-05-06  Philipp  <phst@google.com>
20013         Fix bootstrap build of files.el
20015         * lisp/files.el (file-name-non-special): Don't use cl-letf.
20017 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
20019         Fix last change for MS-Windows
20021         * test/src/emacs-module-tests.el (module-function-object): Port to
20022         MS-Windows.
20024 2017-05-06  Philipp Stephani  <phst@google.com>
20026         Introduce new misc type for module function
20028         This resolves a couple of FIXMEs in emacs-module.c.
20030         * src/lisp.h (MODULE_FUNCTIONP, XMODULE_FUNCTION): New functions.
20032         * src/alloc.c (make_module_function): New function.
20033         (mark_object): GC support.
20035         * src/data.c (Ftype_of, syms_of_data): Handle module function type.
20037         * src/print.c (print_object): Print support for new type.
20039         * src/emacs-module.c (module_make_function, Finternal_module_call):
20040         Use new module function type, remove FIXMEs.
20041         (module_format_fun_env): Adapt and give it external linkage.
20043         * test/src/emacs-module-tests.el (module-function-object): Add unit
20044         test.
20046 2017-05-06  Philipp Stephani  <phst@google.com>
20048         Fix quoted files for 'verify-visited-file-modtime'
20050         Fixes Bug#25951.
20052         * lisp/files.el (file-name-non-special): Set the file name for the
20053         correct buffer.
20055         * test/lisp/files-tests.el (files-tests--file-name-non-special--buffers):
20056         Add unit test.
20057         (files-tests--with-advice, files-tests--with-temp-file): New helper
20058         macros.
20060 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
20062         * src/fileio.c (write_region): Don't say "1 characters".  (Bug#26796)
20064 2017-05-06  Eli Zaretskii  <eliz@gnu.org>
20066         Turn on GC_CHECK_MARKED_OBJECTS by default under ENABLE_CHECKING
20068         * src/alloc.c (GC_CHECK_MARKED_OBJECTS): Define to 1 by default of
20069         ENABLE_CHECKING is defined.
20070         (mark_object): Test for GC_CHECK_MARKED_OBJECTS being non-zero,
20071         instead of being defined.
20073 2017-05-06  Tom Tromey  <tom@tromey.com>
20075         Fix erc-join with channel password
20077         Bug#25349
20078         * lisp/erc/erc-join.el (erc-autojoin-after-ident): Switch order of
20079         server names.
20080         (erc-autojoin-channels, erc-autojoin-add, erc-autojoin-remove):
20081         Likewise.
20082         (erc-server-join-channel): Move to erc.el.
20083         * lisp/erc/erc.el (erc-server-join-channel): Move from erc-join.el.
20084         (erc-cmd-JOIN): Use erc-server-join-channel.
20086 2017-05-06  Tino Calancha  <tino.calancha@gmail.com>
20088         Ensure the created temp file in a test is new
20090         * test/lisp/buff-menu-tests.el (buff-menu-24962): Use `make-temp-file'
20091         to create the temp file.
20093 2017-05-06  Glenn Morris  <rgm@gnu.org>
20095         Decruftify dns-mode.el a little bit
20097         * lisp/textmodes/dns-mode.el (dns-mode-control-entities):
20098         New constant.
20099         (dns-mode-control-entity, dns-mode-bad-control-entity)
20100         (dns-mode-type, dns-mode-class): New faces.
20101         (dns-mode-control-entity-face, dns-mode-bad-control-entity-face)
20102         (dns-mode-type-face, dns-mode-class): Make these variables use the
20103         new faces, and mark as obsolete.
20104         (dns-mode-font-lock-keywords): Use dns-mode-control-entities.
20106 2017-05-06  Paul Eggert  <eggert@cs.ucla.edu>
20108         Pretty-print Lisp_Object values in GDB
20110         * src/.gdbinit: Add a pretty-printer for Lisp_Object values.  Now,
20111         GDB displays them as "XIL(0xXXX)" rather than displaying them
20112         as "..." when CHECK_LISP_OBJECT_TYPE is in effect and as "DDDDD"
20113         otherwise.
20115 2017-05-05  Peder O. Klingenberg  <peder@klingenberg.no>
20117         Tweak dns-mode font-lock
20119         * lisp/textmodes/dns-mode.el (dns-mode-font-lock-keywords):
20120         Highlight $TTL as a control entity.  (Bug#26780)
20122 2017-05-05  Glenn Morris  <rgm@gnu.org>
20124         Fontify the doc-string in some CL forms as such
20126         * lisp/emacs-lisp/lisp-mode.el (defconstant, defparameter):
20127         Add the doc-string-elt property.  (Bug#26778)
20129 2017-05-05  Glenn Morris  <rgm@gnu.org>
20131         * lisp/emacs-lisp/cl-lib.el (cl-mapcar): Remove recent autoload cookie.
20133 2017-05-05  Dmitry Gutov  <dgutov@yandex.ru>
20135         cl-defmethod: Make the edebug spec more technically correct
20137         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Denote the
20138         edebug spec part for qualifiers as [&rest atom], per
20139         https://lists.gnu.org/r/emacs-devel/2017-05/msg00053.html.
20141 2017-05-05  Mike Kupfer  <mkupfer@alum.berkeley.edu>
20143         Fix MH-E not to load cl at runtime (Bug#25552)
20145         * lisp/mh-e/mh-acros.el (defun-mh): Check at runtime, not
20146         compile time, whether the target is bound.
20147         * lisp/mh-e/mh-compat.el: Enable compilation.  Pull in
20148         mh-acros at compile time.
20149         Authored-by: Glenn Morris <rgm@gnu.org>, Noam Postavsky
20150         <npostavs@users.sourceforge.net>
20152 2017-05-04  Jean-Christophe Helary  <jean.christophe.helary@gmail.com>
20154         Multiline support in NS "Open Selected File" service.
20156         * lisp/term/ns-win.el (ns-open-file-service): new function. Wraps the
20157         original call in a (split-string) to create as many calls as there
20158         are lines.
20159         (ns-spi-service-call): Call `ns-open-file-service' instead of
20160         `dnd-open-file'.
20162 2017-05-04  Göktuğ Kayaalp  <self@gkayaalp.com>
20164         Require cl-lib at runtime in vc-hg
20166         * lisp/vc/vc-hg.el: Require cl-lib at runtime as well (bug#26609).
20168 2017-05-04  Tino Calancha  <tino.calancha@gmail.com>
20170         Inherit incompatible/obsolete package faces from error
20172         Don't use the same face for installed packages as for incompatible
20173         or obsolete ones.
20174         * lisp/emacs-lisp/package.el (package-status-incompat): Inherit from error.
20176 2017-05-04  Michael Albinus  <michael.albinus@gmx.de>
20178         Set process property `adjust-window-size-function' to `ignore' in Tramp
20180         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
20181         (tramp-adb-maybe-open-connection):
20182         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
20183         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
20184         (tramp-maybe-open-connection):
20185         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
20186         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
20187         (tramp-smb-maybe-open-connection): Set process property
20188         `adjust-window-size-function' to `ignore'.
20190 2017-05-04  Nicolas Petton  <nicolas@petton.fr>
20192         * lisp/emacs-lisp/seq.el: Bump seq version.
20194 2017-05-04  Damien Cassou  <damien@cassou.me>
20196         Add seq-set-equal-p to test for set equality
20198         * lisp/emacs-lisp/seq.el (seq-set-equal-p): Add function to compare
20199           two lists as if they were sets.
20201         * test/lisp/emacs-lisp/seq-tests.el (test-seq-set-equal-p): Add test
20202           for seq-set-equal-p.
20204 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
20206         Spelling fixes
20208         * lisp/gnus/nndiary.el (nndiary-last-occurrence):
20209         Rename from nndiary-last-occurence.
20210         (nndiary-next-occurrence):
20211         Rename from nndiary-next-occurence.  All uses changed.
20213 2017-05-04  Paul Eggert  <eggert@cs.ucla.edu>
20215         Merge from pkg-config
20217         * m4/pkg.m4: Copy from pkg-config 0.29.1.
20219 2017-05-04  Tom Tromey  <tom@tromey.com>
20221         Add color highlighting to css-mode
20223         Bug#25525
20224         * lisp/textmodes/css-mode.el (css--color-map): New constant.
20225         (css-value-class-alist): Use css--color-map.
20226         (css--number-regexp, css--percent-regexp)
20227         (css--number-or-percent-regexp, css--angle-regexp): New constants.
20228         (css--color-skip-blanks, css--rgb-color, css--hsl-color): New
20229         functions.
20230         (css--colors-regexp): New constant.
20231         (css--hex-color, css--named-color, css--compute-color)
20232         (css--contrasty-color, css--fontify-colors)
20233         (css--fontify-region): New functions.
20234         (css-mode): Set font-lock-fontify-region-function.
20235         (css-mode-syntax-table): Set syntax on more characters.
20236         (css-fontify-colors): New defcustom.
20237         (scss-mode-syntax-table): Define syntax for ?$ and ?%.
20238         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
20239         Update.
20240         (css-test-rgb-parser, css-test-hsl-parser)
20241         (css-test-named-color): New tests.
20242         * etc/NEWS: Add entry.
20244 2017-05-03  Michael Albinus  <michael.albinus@gmx.de>
20246         Fix Bug#26763
20248         * lisp/files.el (delete-directory): Call file name handler
20249         with `trash' argument.
20251         * lisp/net/ange-ftp.el (ange-ftp-delete-directory):
20252         * lisp/net/tramp-sh.el (tramp-sh-handle-delete-directory):
20253         Add TRASH arg.  Implement it.  (Bug#26763)
20254         (tramp-get-remote-trash): Check for `delete-by-moving-to-trash'.
20256         * lisp/net/tramp-adb.el (tramp-adb-handle-delete-directory):
20257         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
20258         Add _TRASH arg.
20260 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
20262         Use ptrdiff_t, not int, for stack sizes
20264         * src/thread.c (invoke_thread_function):
20265         * src/xterm.c (x_cr_export_frames):
20266         Don’t assume SPECPDL_INDEX fits in ‘int’.
20268 2017-05-03  Paul Eggert  <eggert@cs.ucla.edu>
20270         Check list object type if --enable-gcc-warnings
20272         * configure.ac (--enable-check-lisp-object-type):
20273         Default to "yes" if --enable-gcc-warnings is not "no".
20274         * etc/NEWS: Mention this.
20275         * src/eval.c (internal_lisp_condition_case): Fix some glitches
20276         with 'volatile' uncovered by the above: in particular, 'clauses'
20277         should be a pointer to volatile storage on the stack, and need not
20278         be volatile itself.  Use an int, not ptrdiff_t, to count clauses.
20279         Don’t bother gathering binding count if VAR is nil.  Use
20280         more-specific local names to try to clarify what’s going on.
20282 2017-05-02  Glenn Morris  <rgm@gnu.org>
20284         Tweak auth-source-pass.el to avoid run-time subr-x
20286         * lisp/auth-source-pass.el (auth-source-pass--parse-data):
20287         Avoid needing subr-x at run-time.
20289 2017-05-02  Charles A. Roelli  <charles@aurox.ch>
20291         Constrain non-child frames to screen area in OS X
20293         * src/nsterm.m (constrainFrameRect:toScreen:): Constrain non-child
20294         frames in OS X, if they would otherwise go offscreen.
20296         (Bug#25818)
20298 2017-05-02  Michael Albinus  <michael.albinus@gmx.de>
20300         Fix error in completion for separate Tramp syntax
20302         * lisp/net/tramp.el (tramp-completion-file-name-regexp-separate):
20303         Tweak regexp.
20305         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
20306         Run method and host name completion for all syntaxes.
20308 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
20310         Avoid compilation warnings
20312         * src/w32fns.c (Fx_file_dialog, w32_parse_and_hook_hot_key):
20313         * src/w32term.c (x_draw_glyph_string):
20314         * src/w32fns.c (compute_tip_xy):
20315         * src/w32font.c (w32font_text_extents):
20316         * src/w32menu.c (set_frame_menubar):
20317         * src/search.c (Freplace_match): Avoid compiler warnings in
20318         optimized builds.
20320 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
20322         Merge from gnulib
20324         This incorporates:
20325         2017-05-02 utimens: port to Emacs + MS-Windows
20326         * lib/utimens.c: Copy from gnulib.
20328 2017-05-02  Gemini Lasswell  <gazally@runbox.com>
20330         Fix Edebug specs for 'cl-defmethod' and 'defmethod'
20332         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Change Edebug spec
20333         to make Edebug generate a new symbol for each method (Bug#24753) and
20334         to support a string following :extra (Bug#23995).
20335         * lisp/emacs-lisp/eieio-compat.el (defmethod): Change Edebug spec to
20336         make Edebug generate a new symbol for each method (Bug#24753).
20338 2017-05-02  Eli Zaretskii  <eliz@gnu.org>
20340         Temporary fix for the MS_Windows build
20342         * nt/inc/ms-w32.h (WIN32_LEAN_AND_MEAN): Define to an empty value,
20343         to be consistent with Gnulib's utimens.c.  This is because utimens.c
20344         unconditionally defines WIN32_LEAN_AND_MEAN to an empty value, so the
20345         previous definition here conflicted with that.
20347 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
20349         Port format-time-string to MS-Windows better
20351         * test/src/editfns-tests.el (format-time-string-with-zone):
20352         Port test cases to MS-Windows.
20354 2017-05-02  Paul Eggert  <eggert@cs.ucla.edu>
20356         Merge from gnulib
20358         This incorporates:
20359         2017-05-01 New module 'localtime-buffer'
20360         2017-04-30 utimens: Add support for native Windows
20361         * admin/merge-gnulib (AVOIDED_MODULES): Add tzset.
20362         * configure.ac (tzset): No need for Emacs itself to check now.
20363         * lib/gettimeofday.c, lib/time.in.h, lib/time_rz.c, lib/utimens.c:
20364         * m4/gettimeofday.m4, m4/time_h.m4, m4/time_rz.m4: Copy from gnulib.
20365         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
20366         * lib/localtime-buffer.c, lib/localtime-buffer.h:
20367         * m4/localtime-buffer.m4: New files, copied from gnulib.
20368         * src/editfns.c (init_editfns): Assume tzset is callable.
20370 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
20372         Speed up project-find-regexp for simple regexps
20374         * lisp/progmodes/xref.el (xref--regexp-syntax-dependent-p):
20375         New function.
20376         (xref--collect-matches): Use it.  Don't try to enable the
20377         appropriate major mode and file-local variables if the regexp
20378         does not depend on the buffer's syntax (bug#26710).
20379         (xref--collect-matches-1): Don't syntax-propertize in that
20380         case either.
20382 2017-05-01  Philipp Stephani  <phst@google.com>
20384         Warn about missing backslashes during load
20386         * src/lread.c (load_warn_unescaped_character_literals, Fload, read1)
20387         (syms_of_lread): Warn if unescaped character literals are
20388         found (Bug#20152).
20389         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer): Check for
20390         unescaped character literals during byte compilation.
20391         * test/src/lread-tests.el (lread-tests--unescaped-char-literals): New
20392         unit test.
20393         (lread-tests--with-temp-file, lread-tests--last-message): Helper
20394         functions for unit test.
20395         * test/lisp/emacs-lisp/bytecomp-tests.el
20396         (bytecomp-tests--unescaped-char-literals): New unit test.
20397         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-tests--with-temp-file):
20398         Helper macro for unit test.
20400 2017-05-01  Ken Brown  <kbrown@cornell.edu>
20402         * configure.ac: Suggest Mailutils on Cygwin.
20404 2017-05-01  Paul Eggert  <eggert@cs.ucla.edu>
20406         Don’t stress-test time zones near the Epoch
20408         * test/src/editfns-tests.el (format-time-string-with-zone)
20409         (format-time-string-with-outlandish-zone): Don’t format
20410         timestamps near the Epoch, as this runs into bugs on MS-Windows,
20411         and we don’t want to worry about those bugs.
20413 2017-05-01  Glenn Morris  <rgm@gnu.org>
20415         Tweak vc-tests.el for bzr
20417         * test/lisp/vc/vc-tests.el (vc-test--working-revision):
20418         Handle test environments where HOME does not exist.
20420 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
20422         vc-git-state: Return `ignored' as appropriate with newer Git
20424         * lisp/vc/vc-git.el
20425         (vc-git--program-version): New variable.
20426         (vc-git--program-version): New function.
20427         (vc-git-state): Use it to choose whether to add '--ignored' (bug#19343).
20429 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
20431         vc-git-state: Bring back CentOS 6 compatibility
20433         * lisp/vc/vc-git.el (vc-git-state):
20434         Bring back CentOS 6 compatibility (bug#19343).
20436 2017-05-01  Martin Rudalics  <rudalics@gmx.at>
20438         Rewrite w32fns.c's `x_set_menu_bar_lines'
20440         * src/w32fns.c (x_set_menu_bar_lines): Redraw frame immediately
20441         regardless of whether menu bar is added or removed.  Clear
20442         under internal border iff a W32 window exists.  Store either 0
20443         or 1 as new parameter value.
20444         (x_change_tool_bar_height): Use FRAME_W32_WINDOW instead of
20445         FRAME_X_WINDOW.
20447 2017-05-01  Michael Albinus  <michael.albinus@gmx.de>
20449         Fix filenotify-tests.el for cygwin
20451         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
20452         Add an additional `sit-for'.
20453         (file-notify-test02-rm-watch): Add an additional
20454         `file-notify--test-read-event' call.
20456 2017-05-01  Jonathan Ganc  <jonganc@gmail.com>
20458         Speed up vc-git-status and make it more precise
20460         * lisp/vc/vc-git.el (vc-git-state)
20461         (vc-git--git-status-to-vc-state): Update 'vc-git-state' to use
20462         'git status', so that 'vc-git-state' can now return 'ignored',
20463         'conflict', or 'unregistered' when appropriate.  Discussed in
20464         bug#26066.  Fixes bug#19343.
20466 2017-05-01  Dmitry Gutov  <dgutov@yandex.ru>
20468         Fix Git revision navigation in currently removed directories
20470         * lisp/vc/vc-git.el (vc-git-next-revision): Use the repo root as
20471         default-directory because FILE's parent directory might not exist
20472         anymore (bug#26345).
20474 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
20476         Merge from gnulib
20478         This incorporates:
20479         2017-04-30 strftime-fixes: New module
20480         2017-04-30 mktime: Work around TZ problem on native Windows
20481         2017-04-30 ctime, localtime: New modules
20482         2017-04-30 gettimeofday: Provide higher resolution on native Windows
20483         2017-04-29 utime-h: Modernize handling of 'struct utimbuf'
20484         2017-04-29 Make use of module 'utime-h'
20485         2017-04-30 Fix a few typos
20486         * admin/merge-gnulib (AVOIDED_MODULES): Avoid utime-h, too.
20487         * lib/gettimeofday.c, lib/mktime.c, lib/time.in.h, lib/utimens.c:
20488         * m4/gettimeofday.m4, m4/include_next.m4, m4/mktime.m4:
20489         * m4/strftime.m4, m4/time_h.m4, m4/timegm.m4, m4/utimens.m4:
20490         Copy from gnulib.
20491         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
20493 2017-04-30  Eli Zaretskii  <eliz@gnu.org>
20495         Don't lose key bindings on mis-spelled text in flyspell-mode
20497         * lisp/textmodes/flyspell.el (flyspell-mouse-map): Bind mouse-2
20498         explicitly.
20499         (make-flyspell-overlay): If the mis-spelled text already has a
20500         'keymap' property, make that keymap the parent of
20501         flyspell-mouse-map, so as not to lose the parent's bindings.
20502         (Bug#26672)
20504 2017-04-30  Martin Rudalics  <rudalics@gmx.at>
20506         Fix `delete-frame' behavior including Bug#26682
20508         * src/frame.c (other_frames): Accept two arguments now.  Don't
20509         care about minibuffer window.  Don't care about visibility when
20510         called from delete_frame with FORCE true (Bug#26682).
20511         (delete_frame, Fmake_frame_invisible): Adjust other_frames
20512         calls.
20513         * src/w32term.c (w32_read_socket): Don't add a move frame event
20514         for an invisible frame.
20515         * lisp/frame.el (handle-delete-frame): Don't kill Emacs when
20516         attempting to delete a surrogate minibuffer frame.
20518 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
20520         Merge from gnulib
20522         This avoids incorporating the following, which I suspect are
20523         more trouble for Emacs than they’re worth:
20524         2017-04-29 stat, fstat: fix time_t etc. on native Windows platforms
20525         * admin/merge-gnulib (AVOIDED_MODULES): Avoid stat, too.
20526         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
20527         * lib/pathmax.h, lib/stat.c, m4/pathmax.m4, m4/stat.m4: Remove.
20529 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
20531         Fix buffer overflow in make-docfile
20533         * lib-src/make-docfile.c (scan_c_stream): Check for buffer
20534         overflow when reading an identifier.  Use a static buffer for NAME
20535         rather than a small dynamically-allocated buffer.
20537 2017-04-30  Paul Eggert  <eggert@cs.ucla.edu>
20539         Merge from gnulib
20541         This incorporates:
20542         2017-04-29 getopt: port to Solaris 10 with circa-1997 glibc getopt.h
20543         * lib/getopt-pfx-ext.h: Copy from gnulib.
20544         * lib/gnulib.mk.in: Regenerate.
20546 2017-04-30  Tino Calancha  <tino.calancha@gmail.com>
20548         Fix dependency error during bootstrap
20550         * lisp/files.el: Require pcase and easy-mmode at compile time.
20552 2017-04-30  Mats Lidell  <mats.lidell@cag.se>
20554         * etc/tutorials/TUTORIAL.sv: synced with TUTORIAL
20556 2017-04-29  Philipp Stephani  <phst@google.com>
20558         Reimplement auto-saving to visited files
20560         This reacts to confusing behavior of 'auto-save-visited-file-name',
20561         cf. Bug#25478.
20563         * lisp/files.el (auto-save-visited-interval): New customization option.
20564         (auto-save-visited-mode): New global minor mode.
20565         (auto-save-visited-file-name): Make obsolete.
20566         (auto-save--timer): New internal helper variable.
20568         * doc/emacs/files.texi (Auto Save Files): Document
20569         'auto-save-visited-mode' instead of obsolete
20570         'auto-save-visited-file-name'.
20571         (Auto Save Control): Document customization option
20572         'auto-save-visited-interval'.
20574 2017-04-29  Paul Eggert  <eggert@cs.ucla.edu>
20576         Allow bypassing of some checks when merging
20578         * build-aux/git-hooks/pre-commit: Don't check merged-in changes.
20580 2017-04-29  Philipp Stephani  <phst@google.com>
20582         Integrate module test with normal test suite
20584         * test/Makefile.in (ELFILES): Exclude module test if modules aren't
20585         configured.
20586         (EMACS_TEST_DIRECTORY): Expand test directory so that it's set
20587         correctly even if Emacs changes the current directory.
20588         ($(srcdir)/src/emacs-module-tests.log)
20589         ($(test_module)): Proper dependency tracking for test module.
20591         * test/data/emacs-module/Makefile (ROOT): Adapt to new location.
20592         Remove 'check' target and EMACS variable, which are no longer
20593         necessary.
20594         (SO): Change to include period.
20596         * test/src/emacs-module-tests.el (mod-test): Use EMACS_TEST_DIRECTORY
20597         environment variable to reliably find test data.
20599         * configure.ac (HAVE_MODULES, MODULES_SUFFIX): Add necessary
20600         substitutions.
20602 2017-04-28  Glenn Morris  <rgm@gnu.org>
20604         Broaden comint-password-prompt-regexp
20606         * lisp/comint.el (comint-password-prompt-regexp):
20607         Broaden the regexp, for non-English locales.  (Bug#26698)
20609 2017-04-28  Stefan Monnier  <monnier@iro.umontreal.ca>
20611         * lisp/auth-source.el (auth-source-backend-parse): `return' -> cl-return.
20613 2017-04-28  Bartosz Duszel  <bartosz.duszel@gmail.com>
20615         Don't pass the value of point to 'push-mark', as that's the default.
20617         * lisp/textmodes/bib-mode.el (mark-bib):
20618         * lisp/simple.el (mark-whole-buffer, yank):
20619         * lisp/ses.el (ses--advice-yank, ses-mark-row, ses-mark-column):
20620         * lisp/progmodes/xscheme.el (xscheme-yank):
20621         * lisp/progmodes/verilog-mode.el (verilog-mark-defun):
20622         * lisp/progmodes/perl-mode.el (perl-mark-function):
20623         * lisp/progmodes/pascal.el (pascal-mark-defun):
20624         * lisp/progmodes/meta-mode.el (meta-mark-defun):
20625         * lisp/progmodes/icon.el (mark-icon-function):
20626         * lisp/progmodes/cc-cmds.el (c-mark-function):
20627         * lisp/obsolete/vip.el (ex-goto):
20628         * lisp/obsolete/vi.el (vi-put-before):
20629         * lisp/mouse.el (mouse-yank-primary):
20630         * lisp/menu-bar.el (menu-bar-select-yank):
20631         * lisp/mail/sendmail.el (mail-yank-original):
20632         * lisp/hexl.el (hexl-beginning-of-buffer, hexl-end-of-buffer):
20633         * lisp/emulation/viper-cmd.el (viper-mark-beginning-of-buffer)
20634         (viper-mark-end-of-buffer):
20635         * lisp/cedet/semantic/senator.el (senator-mark-defun):
20636         * lisp/allout.el (allout-mark-topic): Remove unnecessary argument
20637         `(point)' from calls to `push-mark'.  (Bug#25565)
20639 2017-04-28  Glenn Morris  <rgm@gnu.org>
20641         Merge from origin/emacs-25
20643         784602b1050 (origin/emacs-25) ; Add release notice
20644         3a34412caae (tag: emacs-25.2) Set Emacs version to 25.2 and update AU...
20645         56a4461a48d ; Move stray item from admin/notes/repo to CONTRIBUTE
20646         2b0d1118199 ; CONTRIBUTE: Remove stray header.
20647         f2ab09ec60d Fix a typo in indexing the user manual
20648         bc55a574235 * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
20649         a6d50401b4b Document 'line-pixel-height'
20650         0c55cf43e61 * search.c (Fre_search_forward, Fre_search_backward): Imp...
20651         c7ed57eaef4 Mention that processes start in default-directory (Bug#18...
20652         856ec9ffa1f * src/xdisp.c (vmessage, message): Clarify commentary.
20653         849a0aaa1c9 Belated fixes for admin.el's M-x make-manuals-dist
20654         84938d79698 default-directory: Remark that it must be a directory name
20655         3f0d047d2eb Delete confuse statement in manual
20656         ee1bd94dd0c Improve packaging documentation
20657         fb18bff91f0 Expand manual section on quitting windows
20658         9a737079645 Fix docstring of dabbrev-abbrev-char-regexp
20659         afe8849bac1 * doc/misc/cl.texi (Iteration Clauses): Clarify example (...
20660         ada79442c07 ;* doc/misc/info.texi (Choose menu subtopic): Improve ind...
20661         d38fd9229c0 Narrow scope of modification hook renabling in org-src fo...
20662         e0e9db4c84a ; Spelling fix
20664         # Conflicts:
20665         #       README
20666         #       etc/AUTHORS
20667         #       etc/HISTORY
20668         #       lisp/ldefs-boot.el
20670 2017-04-28  Glenn Morris  <rgm@gnu.org>
20672         * doc/misc/auth.texi: Commas don't work in node names.
20674         * test/lisp/auth-source-pass-tests.el: Fix loading of cl-lib.
20676 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
20678         Test format-time-string with zone arg
20680         * test/src/editfns-tests.el (format-time-string-with-zone)
20681         (format-time-string-with-outlandish-zone): New tests.
20683 2017-04-28  Paul Eggert  <eggert@cs.ucla.edu>
20685         Merge from gnulib
20687         This incorporates:
20688         2017-04-24 time_rz: fix heap buffer overflow vulnerability
20689         2017-04-23 stat-time: Update comments.
20690         2017-04-22 ftoastr: cite a newer paper
20691         2017-04-21 gettext-h: Avoid -Wundef warning.
20692         * lib/ftoastr.c, lib/gettext.h, lib/stat-time.h, lib/time_rz.c:
20693         * m4/getopt.m4: Copy from gnulib.
20694         * m4/gnulib-comp.m4: Regenerate.
20696 2017-04-27  Damien Cassou  <damien@cassou.me>
20698         auth-source-pass: Add documentation; fix tests and indentation.
20700         * doc/misc/auth.texi: Document new integration with Pass. Use @itemize
20701           instead of @enumerate.
20702         * lisp/auth-source-pass.el: Fix indentation.
20703           (auth-source-pass--remove-directory-name): Remove.
20704         * test/lisp/auth-source-pass-tests.el: Adjust test macros.
20706 2017-04-27  foudfou  <foudil.newbie+git@gmail.com>
20708         auth-source-pass: Enable finding entries by "host/username"
20710         * lisp/auth-source-pass.el: Enable finding entries by "host/username".
20711         * test/lisp/auth-source-pass-tests.el: Adjust tests to check it.
20713 2017-04-27  Damien Cassou  <damien@cassou.me>
20715         Integrate auth-source with password-store
20717         * lisp/auth-source-pass.el: auth-source backend for password-store.
20718         * test/lisp/auth-source-pass-tests.el: Tests for auth-source-pass
20719           behavior.
20721 2017-04-27  Damien Cassou  <damien@cassou.me>
20723         * lisp/auth-source.el: Document parser functions.
20725 2017-04-27  Ted Zlatanov  <tzz@lifelogs.com>
20727         auth-source: factor out parsers and add tests
20729         * lisp/auth-source.el: Factor out the source parsers. Clean up comments.
20730         * test/lisp/auth-source-tests.el: Add tests.
20732 2017-04-27  Martin Rudalics  <rudalics@gmx.at>
20734         Fix doc and customization type of `window-combination-limit' (Bug#26673)
20736         * src/window.c (Vwindow_combination_limit): Fix doc-string.
20737         * lisp/cus-start.el (window-combination-limit): Fix
20738         customization type.
20739         * doc/lispref/windows.texi (Recombining Windows): Fix
20740         documentation of `window-combination-limit'.
20742 2017-04-27  Tino Calancha  <tino.calancha@gmail.com>
20744         Drop face from hi-lock--unused-faces only when used
20746         * lisp/hi-lock.el (hi-lock-set-pattern): If REGEXP is already
20747         highlighted, then push FACE into hi-lock--unused-faces (Bug#26666).
20748         * test/lisp/hi-lock-tests.el (hi-lock-bug26666): Add test.
20750 2017-04-26  Alan Third  <alan@idiocy.org>
20752         Fix macOS version check (bug#26664)
20754         * src/nsterm.m (initFrameFromEmacs): Prevent window tabbing mode on
20755         macOS versions 10.12+.
20757 2017-04-26  Glenn Morris  <rgm@gnu.org>
20759         Make charprop.el provide a feature
20761         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
20762         Provide a feature.
20763         * lisp/loadup.el: Use the charprop feature.
20765 2017-04-26  Glenn Morris  <rgm@gnu.org>
20767         * lisp/loadup.el: Get charprop.el into etc/DOC again.
20769 2017-04-26  Stefan Monnier  <monnier@iro.umontreal.ca>
20771         * lisp/ido.el (ido-everywhere): Use add-function.
20773 2017-04-26  Martin Rudalics  <rudalics@gmx.at>
20775         Try to fix latest fix of w32_mouse_position
20777         * src/w32term.c (w32_mouse_position): Fix a bug introduced by
20778         latest fix and try to make the affected code more rigorous.
20780 2017-04-26  Eli Zaretskii  <eliz@gnu.org>
20782         Avoid segfaults when 'find-font' is invoked for a TTY frame
20784         * src/font.c (font_pixel_size): Don't call GUI functions if F is a
20785         text-mode frame.  (Bug#26646)
20787 2017-04-26  Michael Albinus  <michael.albinus@gmx.de>
20789         * lisp/net/tramp.el (tramp-set-connection-local-variables-for-buffer):
20791         New defun.
20793 2017-04-26  Glenn Morris  <rgm@gnu.org>
20795         * src/Makefile.in (leimdir): Remove variable, no longer used.
20797 2017-04-26  Glenn Morris  <rgm@gnu.org>
20799         Generate leim-list via lisp/Makefile, not src/Makefile
20801         * src/Makefile.in ($(leimdir)/leim-list.el): Remove rule.
20802         (emacs$(EXEEXT)): Don't depend on leim-list.
20803         * lisp/Makefile.in ($(lisp)/loaddefs.el): Depend on gen-lisp again.
20805 2017-04-25  Alan Third  <alan@idiocy.org>
20807         Fix define for GNUstep builds
20809         * src/nsterm.m (initFrameFromEmacs): Fix the ifdef so that GNUstep
20810         doesn't see the code.
20812 2017-04-25  Glenn Morris  <rgm@gnu.org>
20814         Suppress intermittent test failure on hydra
20816         * test/lisp/emacs-lisp/eieio-tests/eieio-test-methodinvoke.el
20817         (eieio-test-method-order-list-6): Skip on hydra.
20819 2017-04-25  Alan Third  <alan@idiocy.org>
20821         Fix some NS frame handling issues
20823         * src/nsterm.m (FRAME_DECORATED_FLAGS, FRAME_UNDECORATED_FLAGS): New
20824         defines intended to make things tidier.
20825         (x_set_undecorated): Use the new defines.
20826         (windowWillResize): Don't use new macOS 12+ only feature.
20827         (initFrameFromEmacs): Use the new defines, and disable automatic
20828         window tabbing feature in macOS 12.
20829         (x_set_undecorated, x_set_parent_frame, x_set_no_accept_focus,
20830         x_set_z_group): Add NSTRACE notices.
20832 2017-04-25  Glenn Morris  <rgm@gnu.org>
20834         Avoid parallel race condition
20836         * lisp/Makefile.in ($(lisp)/loaddefs.el): Remove gen-lisp for now.
20838 2017-04-25  Glenn Morris  <rgm@gnu.org>
20840         Generate each unicode lisp file independently
20842         This is better for parallel builds, eg it eliminates race
20843         conditions from having one process write multiple files.
20844         * admin/unidata/Makefile.in (lparen, unifiles): New variables.
20845         Parse unidata-gen.el, not charprop.el, to get the list of uni- files.
20846         (all): Explicitly list the output lisp files.
20847         (PHONY_EXTRAS): Remove.
20848         (${unidir}/charprop.el): Change rule to just be for this file.
20849         (${unifiles}): New rule to write each unicode lisp file.
20850         (extraclean): Simplify.
20851         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
20852         Quieten in batch mode.
20853         (unidata-gen-files): Remove, no longer used.
20854         * lisp/loadup.el: Update command-line parser.
20856 2017-04-25  Glenn Morris  <rgm@gnu.org>
20858         Further refactoring in unidata-gen.el
20860         * admin/unidata/unidata-gen.el (unidata-gen-charprop):
20861         New function, split from unidata-gen-files.
20862         (unidata-gen-files): Use unidata-gen-charprop.
20864 2017-04-25  Glenn Morris  <rgm@gnu.org>
20866         Allow unidata-gen-file to work independently
20868         * admin/unidata/unidata-gen.el (unidata-gen-file):
20869         Make it work as a stand-alone function in batch mode.
20870         (unidata-gen-files): Pass extra arguments to unidata-gen-file.
20872 2017-04-25  Glenn Morris  <rgm@gnu.org>
20874         Preparatory refactoring in unidata-gen.el
20876         * admin/unidata/unidata-gen.el (unidata-gen-file):
20877         New function, split from unidata-gen-files.
20878         (unidata-gen-files): Use unidata-gen-file.
20880 2017-04-25  Glenn Morris  <rgm@gnu.org>
20882         Write each generated character property lisp file only once
20884         * admin/unidata/unidata-gen.el (unidata-file-alist):
20885         Rename from unidata-prop-alist.  All users changed.
20886         Use file name rather than property name as the key.
20887         (unidata-prop-prop): New function.
20888         (unidata-prop-index, unidata-prop-generator, unidata-prop-docstring)
20889         (unidata-prop-describer, unidata-prop-default, unidata-prop-val-list):
20890         Change to parse the argument rather than unidata-prop-alist.
20891         (unidata-gen-table-character, unidata-gen-table)
20892         (unidata-gen-table-symbol, unidata-gen-table-integer)
20893         (unidata-gen-table-numeric, unidata-gen-table-word-list)
20894         (unidata-gen-table-name, unidata-gen-table-decomposition)
20895         (unidata-gen-table-special-casing): Pass index as an argument.
20896         (unidata-check): Adapt to unidata-file-alist.
20897         Pass index to generator functions.
20898         (unidata-gen-files): Adapt to unidata-file-alist.
20899         Write each output file once only.  Overwrite rather than delete.
20901 2017-04-25  Andrew G Cohen  <cohen@andy.bu.edu>
20903         Fix requesting sparse articles in gnus
20905         * lisp/gnus/gnus-art.el (gnus-request-article-this-buffer): Delete the
20906         sparse article number from the list, not its id.
20908 2017-04-25  Glenn Morris  <rgm@gnu.org>
20910         Don't advertise s_client in tls.el docs
20912         * lisp/net/tls.el (tls-end-of-info, tls-success, tls-untrusted):
20913         Don't mention s_client in docs.
20915 2017-04-25  Rob Browning  <rlb@defaultvalue.org>
20917         Remove s_client usage from tls.el
20919         * lisp/net/tls.el (tls-program, tls-checktrust): Remove s_client.
20920         Ref http://bugs.debian.org/766397
20921         https://lists.gnu.org/r/emacs-devel/2014-10/msg00803.html
20923 2017-04-25  Glenn Morris  <rgm@gnu.org>
20925         Further robustify cedet bootstrap to loaddefs not yet built
20927         * lisp/cedet/semantic/util.el (semantic-something-to-tag-table):
20928         Avoid void-function error when bootstrapping and semantic/loaddefs.el
20929         does not yet exist.
20931 2017-04-24  Alan Third  <alan@idiocy.org>
20933         Fix XBM colour rendering in NS port (bug#22060)
20935         src/nsimage.m (setXBMColor): Fix calculation of xbm_fg.
20937 2017-04-24  Vibhav Pant  <vibhavp@gmail.com>
20939         Add support for IRCv3 message tags.
20941         * lisp/erc/erc-backend.el:
20942           erc-response: Add `tags' element.
20943           Add (erc-parse-tags).
20944           (erc-parse-server-response): Use (erc-parse-tags) to parse message
20945           tags (if any), and store them in `erc-resopnse' struct.
20947         * lisp/erc/erc.el: (erc-display-message): Expose message tags with text
20948           properties of the corresponding message line.
20950 2017-04-24  Lars Ingebrigtsen  <larsi@gnus.org>
20952         Add image sizing tests for an image that's narrow
20954         Needlessly refactor tests for clarity
20956 2017-04-23  Philipp Stephani  <phst@google.com>
20958         Add missing remappings for Ido mode
20960         Among others, add a remapping for C-x 4 d, cf. Bug#26360.
20962         * lisp/ido.el (ido-mode): Remap missing commands.
20963         (ido-file-internal, ido-visit-buffer): Add support for new
20964         methods.
20965         (ido-display-buffer-other-frame)
20966         (ido-find-alternate-file-other-window, ido-dired-other-window)
20967         (ido-dired-other-frame): New commands.
20969         * test/lisp/ido-tests.el (ido-tests--other-window-frame): Add unit
20970         test for the bindings.
20972 2017-04-23  Martin Rudalics  <rudalics@gmx.at>
20974         Let w32_mouse_position pick a child window only if it has a child frame
20976         * src/w32term.c (w32_mouse_position): When using a frame found
20977         by ChildWindowFromPoint make sure it's a child frame (Bug#26615,
20978         maybe).
20980 2017-04-23  Noam Postavsky  <npostavs@gmail.com>
20982         Don't require bytecomp for running ert tests
20984         "Fix ert-tests when running compiled" 2016-12-06 accidentally
20985         introduced a dependency on `bytecomp' into `ert'.  As mentioned in
20986         "Avoid ert test failures" 2017-04-18, the accidental dependency of ert
20987         on bytecomp was masked by loading other libraries until recently.
20989         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Only use
20990         `byte-compile-macro-environment' if it's bound.
20991         * test/src/eval-tests.el: Add defvar for dynamic variable
20992         `byte-compile-debug'.
20994 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
20996         Eliminate unneeded warp-to-article in gnus article referral
20998         * lisp/gnus/gnus-sum.el (gnus-summary-refer-thread):
20999         (gnus-summary-refer-article): Remove gnus-warp-to article call.
21001 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
21003         Allow limiting gnus summary buffers to a thread
21005         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Include
21006         an optional argument to allow limiting the summary buffer to just the
21007         thread-related articles.
21008         (gnus-refer-thread-limit-to-thread): Introduce customizable variable
21009         to control whether thread-referral adds the thread to the summary
21010         buffer or limits to just the thread.
21011         (gnus-summary-refer-thread): Use the new variable.
21013 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
21015         Correct gnus-newsgroup-limits in gnus when including thread
21017         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread): Should
21018         only add one list of thread-related articles to gnus-newsgroup-limits
21019         rather than two.
21021 2017-04-23  Andrew G Cohen  <cohen@andy.bu.edu>
21023         Improve gnus thread matching of similar subjects
21025         * lisp/gnus/gnus-sum.el (gnus-summary-limit-include-thread):
21026         Use the more liberal gnus-general-simplify-subject regexp to
21027         find thread articles with similar subjects.
21029 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
21031         Add new `lisp-indent-region' that doesn't reparse the code.
21033         Both `lisp-indent-region' and `lisp-indent-line' now use `syntax-ppss'
21034         to get initial state, so they will no longer indent string literal
21035         contents.
21037         * lisp/emacs-lisp/lisp-mode.el (lisp-ppss): New function, like
21038         `syntax-ppss', but with a more dependable item 2.
21039         (lisp-indent-region): New function, like `indent-region-line-by-line'
21040         but additionally keep a running parse state to avoid reparsing the
21041         code repeatedly.  Use `lisp-ppss' to get initial state.
21042         (lisp-indent-line): Take optional PARSE-STATE argument, pass it to
21043         `calculate-lisp-indent', use `lisp-ppss' if not given.
21044         (lisp-mode-variables): Set `indent-region-function' to
21045         `lisp-indent-region'.
21047 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
21049         Remove ignored argument from lisp-indent-line
21051         * lisp/emacs-lisp/lisp-mode.el (lisp-indent-line): Remove WHOLE-EXP
21052         argument, the behavior has long since been handled in
21053         `indent-for-tab-command'.  Also remove redundant `beg' and `shift-amt'
21054         variables and use `indent-line-to'.
21056 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
21058         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Clean up marker.
21060 2017-04-22  Noam Postavsky  <npostavs@gmail.com>
21062         Don't reparse the sexp in indent-sexp (Bug#25122)
21064         * lisp/emacs-lisp/lisp-mode.el (calculate-lisp-indent): Let
21065         PARSE-START be a parse state that can be reused.
21066         (indent-sexp): Pass the running parse state to calculate-lisp-indent
21067         instead of the sexp beginning position.  Saving the
21068         CONTAINING-SEXP-START returned by `calculate-lisp-indent' is no longer
21069         needed.  Don't bother stopping if we don't descend below init-depth,
21070         since we now alway scan the whole buffer (via syntax-ppss) anyway.
21071         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp): Add blank
21072         line to test case.
21074 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
21076         Add cond test cases for singleton clauses.
21078         * test/lisp/emacs-lisp/bytecomp-tests.el: Add test cond forms where
21079           the default clause is a single non-nil expression.
21081 2017-04-22  Vibhav Pant  <vibhavp@gmail.com>
21083         b-c--cond-jump-table-info: Use correct body for singleton clauses
21085         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table-info):
21086         When a clause's body consists of a single constant expression, use
21087         that expression as the body to be compiled. This fixes switch bytecode
21088         evaluating to nil to such clauses.
21090 2017-04-22  Philipp Stephani  <phst@google.com>
21092         ffap: Don't switch window unless needed
21094         When using ffap-other-window, don't change the window configuration
21095         unless a new buffer has actually been created (Bug#25352).
21097         * lisp/ffap.el (ffap-other-frame): Don't change the window
21098         configuration if no new buffer has been created.
21099         * test/lisp/ffap-tests.el (ffap-other-window--bug-25352): Add unit
21100         test.
21102 2017-04-22  Alan Mackenzie  <acm@muc.de>
21104         Fix fontification of C++ declaration with type FOO::FOO.
21106         * lisp/progmodes/cc-engine.el (c-find-decl-spots): Initialize
21107         cfd-top-level properly.
21108         (c-forward-decl-or-cast-1): On finding FOO::FOO, check it is followed by "("
21109         before deciding it is a constructor.
21111         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare): Negate the
21112         result of the c-bs-at-toplevel-p call passed to c-font-lock-declarators
21113         (simple bug fix).
21115 2017-04-22  Philipp Stephani  <phst@google.com>
21117         Fix usage of FRAME_Z_GROUP
21119         * src/nsterm.m (initFrameFromEmacs:): FRAME_Z_GROUP does not return a
21120         Lisp object, cf. Bug#26597.
21122 2017-04-22  Alan Third  <alan@idiocy.org>
21124         Fix GNUstep build
21126         * src/nsfns.m (Fns_frame_z_list_order): Rewrite for GNUstep
21127         compatibility.
21128         * src/nsmenu.m (update_frame_tool_bar): Remove unused variable.
21130 2017-04-21  Alan Third  <alan@idiocy.org>
21132         Add no-accept-focus and frame-list-z-order to NS port
21134         * lisp/frame.el (frame-list-z-order): Add NS.
21135         * src/nsfns.m: Add x_set_no_accept_focus to handler struct.
21136         (Fx_create_frame): Handle no-accept-focus parameter.
21137         (ns_window_is_ancestor):
21138         (Fns_frame_list_z_order): New functions.
21139         * src/nsterm.m (x_set_no_accept_focus): New function.
21140         (initFrameFromEmacs): Use EmacsWindow instead of EmacsFSWindow for
21141         non-fullscreen windows.
21142         (EmacsWindow:canBecomeKeyWindow): New function.
21144 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
21146         Improve prefix handling for dash.el
21148         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload):
21149         Don't drop dash's "-<letter>" prefixes.
21151 2017-04-21  Stefan Monnier  <monnier@iro.umontreal.ca>
21153         * lisp/emacs-lisp/cl-macs.el: Fix symbol-macrolet
21155         Revert 0d112c00ba0ec14bd3014efcd3430b9ddcfe1fc1 (to fix bug#26325)
21156         and use a different fix for bug#26068.
21157         (cl--symbol-macro-key): New function.
21158         (cl--sm-macroexpand, cl-symbol-macrolet): Use it instead of `symbol-name`.
21159         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet):
21160         Failure is not expected any more.
21162 2017-04-21  Eli Zaretskii  <eliz@gnu.org>
21164         Avoid infinite loop in redisplay when header-line-format is invalid
21166         * src/xdisp.c (handle_invisible_prop): Avoid inflooping when the
21167         string has an invalid %-construct in it and is displayed as part
21168         of mode-line or header-line.  (Bug#26586)
21170 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
21172         Add tests to check image scaling functionality
21174         This is in preparation to doing further work in this area to avoid
21175         regressions.
21177         * test/data/image/blank-200x100.png: New file for testing
21178         image scaling.
21180         * test/manual/image-size-tests.el: New file.
21182 2017-04-21  Lars Ingebrigtsen  <larsi@gnus.org>
21184         Allow svg-image to take all create-image PROPS
21186         * lisp/svg.el (svg-image): Allow passing in PROPS when
21187         creating an image for convenience.
21189 2017-04-21  George D. Plymale II  <georgedp@orbitalimpact.com>  (tiny change)
21191         Treat non-erroring lisp call as successful eshell command (Bug#26161)
21193         This lets a compound command like 'cd .. && echo ok' print 'ok',
21194         similar to how most other shells behave.
21196         * lisp/eshell/esh-cmd.el (eshell-exit-success-p): Only check if the
21197         last exit code was zero, rather than first checking whether the last
21198         command returned nil.
21199         (eshell-exec-lisp): Set `eshell-last-command-status' to 1 on error.
21201 2017-04-21  Reuben Thomas  <rrt@sc3d.org>
21203         Fix reading of tab settings in whitespace-mode
21205         lisp/whitespace.el (whitespace-indent-tabs-mode)
21206         whitespace-tab-width): Remove these variables. The underlying
21207         variables `indent-tabs-mode' and `tab-width' are already buffer-local
21208         when needed, and whitespace-mode never changes them.
21209         (whitespace-ensure-local-variables): Remove this function, which only
21210         existed to set the above variables.
21211         (whitespace-cleanup-region, whitespace-regexp)
21212         (whitespace-indentation-regexp, whitespace-report-region)
21213         (whitespace-turn-on, whitespace-color-on): Adjust these functions to
21214         use `indent-tabs-mode' and `tab-width' directly, and not call
21215         `whitespace-ensure-local-variables'.
21217 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
21219         * lisp/vc/vc-hg.el (vc-hg-state-fast): Fix compiler warning
21221         by simplifying ascii-test.
21223 2017-04-20  Vibhav Pant  <vibhavp@gmail.com>
21225         bytecomp: Don't inline functions that use byte-switch (Bug#26518)
21227         * lisp/emacs-lisp/bytecomp.el (byte-compile-unfold-bcf): Don't inline
21228           FORM if the bytecode uses the byte-switch instruction. It is
21229           impossible to guess the correct stack depth while inlining such
21230           bytecode, resulting in faulty code.
21232 2017-04-20  Nicolas Petton  <nicolas@petton.fr>
21234         Set Emacs version to 25.2 and update AUTHORS file
21236         * README: Set Emacs version to 25.2.
21237         * etc/HISTORY: Add release log.
21238         * lisp/ldefs-boot.el:
21239         * etc/AUTHORS:
21240         * ChangeLog.2: Update.
21242 2017-04-20  Noam Postavsky  <npostavs@gmail.com>
21244         Don't register "def" as an autoload prefix (Bug#26412)
21246         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Don't
21247         accept "def" as a prefix.
21249 2017-04-20  Stefan Monnier  <monnier@iro.umontreal.ca>
21251         Use substring completion for Info menus and index
21253         * lisp/info.el (Info-complete-menu-item): Add `category' metadata.
21254         (Info-menu): Simplify now that we use the `default' arg of completing-read.
21255         * lisp/minibuffer.el (completion-category-defaults): Use substring
21256         completion for `info-menu`.
21258 2017-04-19  Glenn Morris  <rgm@gnu.org>
21260         Remove some explicit runtime loads of pcase
21262         Pcase is macros, so these should have used eval-when-compile.
21263         Anyway, pcase entry points are autoloaded, so the compiler handles it.
21264         * lisp/profiler.el, lisp/emacs-lisp/eieio-core.el:
21265         * lisp/emacs-lisp/generator.el, lisp/emacs-lisp/subr-x.el:
21266         * lisp/progmodes/xref.el: No need to require pcase.
21268 2017-04-19  Glenn Morris  <rgm@gnu.org>
21270         Stop cl-lib loading pcase at runtime
21272         The cause was an unexpanded pcase-defmacro in cl-loaddefs.
21273         * lisp/emacs-lisp/autoload.el (make-autoload):
21274         Treat pcase-defmacro like defmacro.
21276 2017-04-19  Alan Third  <alan@idiocy.org>
21278         Note frame documentation exceptions for NS builds
21280         * doc/lispref/frames.texi (Management Parameters, Child Frames): Note
21281         NS differences.
21283 2017-04-19  Alan Third  <alan@idiocy.org>
21285         Fix bug introduced by my last commit
21287         * src/nsterm.m (ns_draw_fringe_bitmap): Revert key-mashing accident.
21289 2017-04-19  Alan Third  <alan@idiocy.org>
21291         Add new frame functionality to NS port
21293         * lisp/frame.el (frame-restack): Call ns-frame-restack.
21294         * src/keyboard.c (kbd_buffer_get_event) [HAVE_NS]: Enable
21295         MOVE_FRAME_EVENT handling.
21296         * src/frame.h:
21297         * src/frame.c: Enable 'z-group', 'undecorated' and 'parent' frame
21298         definitions.
21299         * src/nsfns.m: Add x_set_z_group, x_set_parent_frame and
21300         x_set_undecorated (Cocoa only) to handler struct.
21301         (Fx_create_frame): Handle 'z-group', 'parent-frame' and 'undecorated'
21302         frame parameter.
21303         (Fns_frame_restack): New function.
21304         * src/nsmenu.m (free_frame_tool_bar, update_frame_tool_bar):
21305         FRAME_TOOLBAR_HEIGHT is no longer a variable.
21306         * src/nsterm.h (NS_PARENT_WINDOW_LEFT_POS, NS_PARENT_WINDOW_TOP_POS):
21307         Add #defines to find the screen position of the parent frame.
21308         (NS_TOP_POS): Remove defun.
21309         (EmacsView): Remove redundant toolbar variables and add createToolbar
21310         method.
21311         (FRAME_NS_TITLEBAR_HEIGHT, FRAME_TOOLBAR_HEIGHT): Always calculate the
21312         values instead of storing them in a variable.
21313         * src/nsterm.m (x_set_offset, windowDidMove): Take parent frame
21314         position into account when positioning frames.
21315         (initFrameFromEmacs): Remove toolbar creation code and handle new
21316         frame parameters.
21317         (x_set_window_size): Remove toolbar height calculation.
21318         (x_set_z_group):
21319         (x_set_parent_frame):
21320         (x_set_undecorated) [NS_IMPL_COCOA]: New function.
21321         (x_destroy_window): Detach parent if child closes.
21322         (updateFrameSize): Change NSTRACE message to reflect new reality and
21323         no longer reset frame size.
21324         (windowWillResize): Don’t change NS window name when the titlebar
21325         is invisible.
21326         (createToolbar): Move toolbar creation code into it’s own method.
21327         (toggleFullScreen): FRAME_TOOLBAR_HEIGHT and FRAME_NS_TITLEBAR_HEIGHT
21328         are no longer variables.
21329         (windowDidMove): Fire MOVE_FRAME_EVENT Emacs event.
21331 2017-04-19  Glenn Morris  <rgm@gnu.org>
21333         Tweak bytecomp's loading of cl-extra
21335         * lisp/emacs-lisp/bytecomp.el: Don't force load of cl-extra in a
21336         post-bootstrap emacs where cl-loaddefs does exist.
21338 2017-04-19  Glenn Morris  <rgm@gnu.org>
21340         Avoid unnecessary loading of subr-x at run-time
21342         * lisp/doc-view.el, lisp/filenotify.el, lisp/info-look.el:
21343         * lisp/svg.el, lisp/emacs-lisp/byte-opt.el, lisp/net/shr.el:
21344         * lisp/textmodes/sgml-mode.el, test/lisp/dom-tests.el:
21345         No need to load subr-x at run-time.
21346         * lisp/gnus/nnheader.el: No need to load subr-x.
21348 2017-04-18  michael schuldt  <mbschuldt@gmail.com>  (tiny change)
21350         Use iteration in math-factorial-iter
21352         * lisp/calc/calc-comb.el (math-factorial-iter):
21353         Use iteration instead of recursion to avoid max-specpdl-size problem.
21355 2017-04-18  Glenn Morris  <rgm@gnu.org>
21357         * test/lisp/kmacro-tests.el: Require seq, for seq-concatenate.
21359 2017-04-18  Glenn Morris  <rgm@gnu.org>
21361         Avoid ert test failures
21363         * lisp/emacs-lisp/ert.el (ert--expand-should-1):
21364         Avoid errors related to undefined byte-compile-macro-environment.
21365         Somehow masked until very recently because loading seq (eg)
21366         loads bytecomp.  http://hydra.nixos.org/build/51730765
21368 2017-04-18  Eli Zaretskii  <eliz@gnu.org>
21370         Fix a typo in indexing the user manual
21372         * doc/emacs/cmdargs.texi (General Variables): Fix a horrible typo.
21374 2017-04-18  Noam Postavsky  <npostavs@gmail.com>
21376         Fix find-library-name for load-history entries with nil FILE-NAME (Bug#26355)
21378         * lisp/emacs-lisp/find-func.el (find-library--from-load-history):
21379         Rename from find-library--from-load-path.  Check for `load-history'
21380         entries with nil FILE-NAMEs.  Simplify by not double
21381         checking for suffixes and making use of `locate-file'.
21383 2017-04-18  Alan Third  <alan@idiocy.org>
21384             YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
21386         Use vfork if possible on Darwin (bug#26397)
21389         * src/conf_post.h (HAVE_WORKING_VFORK): Don't undef.
21390         (vfork): Don't define.
21391         * src/process.c (create_process) [DARWIN_OS]: Use fork if pty_flag is
21392         set, otherwise vfork.
21393         * src/callproc.c (call_process) [DARWIN_OS]: Use TIOCNOTTY to detach
21394         the controlling terminal instead of setsid.
21396 2017-04-18  Fran Litterio  <flitterio@gmail.com>
21398         Small erc-kill-channel fix (bug#23700)
21400         * lisp/erc/erc.el (erc-kill-channel): Handle null erc-default-target.
21402 2017-04-18  Glenn Morris  <rgm@gnu.org>
21404         ediff: use user-error rather than debug-ignored-errors
21406         * lisp/vc/ediff-diff.el (ediff-prepare-error-list):
21407         * lisp/vc/ediff-help.el (ediff-help-for-quick-help):
21408         * lisp/vc/ediff-init.el (ediff-barf-if-not-control-buffer)
21409         (ediff-check-version):
21410         * lisp/vc/ediff-merg.el (ediff-shrink-window-C):
21411         * lisp/vc/ediff-mult.el (ediff-draw-dir-diffs, ediff-show-dir-diffs)
21412         (ediff-append-custom-diff, ediff-meta-show-patch)
21413         (ediff-filegroup-action, ediff-show-meta-buffer, ediff-show-registry)
21414         (ediff-get-meta-info, ediff-patch-file-form-meta):
21415         * lisp/vc/ediff-ptch.el (ediff-patch-file-internal):
21416         * lisp/vc/ediff-util.el (ediff-toggle-autorefine)
21417         (ediff--check-ancestor-exists, ediff-toggle-read-only)
21418         (ediff-toggle-wide-display, ediff-toggle-multiframe)
21419         (ediff-toggle-use-toolbar, ediff-toggle-show-clashes-only)
21420         (ediff-next-difference, ediff-previous-difference)
21421         (ediff-pop-diff, ediff-read-file-name, ediff-verify-file-buffer)
21422         (ediff-save-buffer):
21423         * lisp/vc/ediff-wind.el (ediff-make-wide-display):
21424         * lisp/vc/ediff.el (ediff-find-file, ediff-buffers-internal)
21425         (ediff-directories-internal, ediff-directory-revisions-internal)
21426         (ediff-regions-wordwise, ediff-regions-linewise)
21427         (ediff-load-version-control): Use user-error.
21428         (debug-ignored-errors): No longer modify.
21430 2017-04-18  Glenn Morris  <rgm@gnu.org>
21432         mh-e: use user-error rather than debug-ignored-errors
21434         * lisp/mh-e/mh-alias.el (mh-alias-grab-from-field):
21435         * lisp/mh-e/mh-utils.el (mh-get-msg-num): Use user-error.
21436         (debug-ignored-errors): No longer modify.
21438 2017-04-18  Glenn Morris  <rgm@gnu.org>
21440         ispell.el: use user-error rather than debug-ignored-errors
21442         * lisp/textmodes/ispell.el (ispell-get-word): Use user-error.
21443         (debug-ignored-errors): No longer modify.
21445 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
21447         * src/xterm.c (x_fill_rectangle): Now static.
21449 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
21451         Tighten recently-added UTF-8 check
21453         * src/coding.c (encode_coding_utf_8): Now extern.
21454         * src/terminal.c (terminal_glyph_code) [HAVE_STRUCT_UNIPAIR_UNICODE]:
21455         Check for UTF-8, not just for multibyte.
21457 2017-04-17  David Engster  <deng@randomsample.de>
21459         xml: Properly handle symbol-qnames for attribute parsing
21461         * lisp/xml.el (xml-parse-attlist): Do not strip 'symbol-qnames from
21462           xml-ns argument (reverts aea67018) (Bug#26533).
21463           (xml-maybe-do-ns): Properly handle default namespace by not
21464           interning new symbol when 'special' flag is set.
21466         * test/lisp/xml-tests.el (xml-parse-test--namespace-attribute-qnames)
21467           (xml-parse-namespace-attribute-qnames): Add test for Bug#26533.
21469 2017-04-17  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
21471         * src/lisp.h (STRING_SET_CHARS): Simplify assertion.
21473 2017-04-17  Eli Zaretskii  <eliz@gnu.org>
21475         Fix assertion violations when displaying thread-related error
21477         * src/process.c (Faccept_process_output): Don't assume a thread's
21478         name is always a string.
21480 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
21482         dired ‘M’ should not complain about ‘.’ and ‘..’
21484         * lisp/dired-aux.el (dired-do-redisplay):
21485         Allow redisplay of ‘.’ and ‘..’ (Bug#26528).
21487 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
21489         Remove unused coding enums
21491         * src/coding.h (enum coding_system_type, enum end_of_line_type):
21492         Remove; unused.
21494 2017-04-17  Paul Eggert  <eggert@cs.ucla.edu>
21496         Work around bug with unibyte Linux consoles
21498         * src/terminal.c (terminal_glyph_code): Skip the UTF-8 stuff if
21499         the terminal's coding system is unibyte (Bug#26396).
21501 2017-04-16  Teemu Likonen  <tlikonen@iki.fi>
21503         Fix org-agenda's command for calendar-lunar-phases
21505         Function org-agenda-phases-of-moon tries to call a non-existing
21506         function calendar-phases-of-moon. The correct function is
21507         calendar-lunar-phases.
21509 2017-04-16  Michael Albinus  <michael.albinus@gmx.de>
21511         Tuning for `separate' Tramp syntax
21513         * lisp/net/tramp.el (tramp-method-regexp): Fix it for `separate' syntax.
21514         (tramp-completion-file-name-regexp-separate): Simplify.
21516         * test/lisp/net/tramp-tests.el (tramp-test02-file-name-dissect-separate):
21517         Extend test.
21519 2017-04-16  Alan Mackenzie  <acm@muc.de>
21521         Fix bug #26529: C-h k errors with a lambda function bound to a key.
21523         * lisp/help-fns.el (help-fns--signature, describe-function-1): Check
21524         `function' is a symbol before trying to get property `reader-construct' from
21525         it.
21527 2017-04-16  Simen Heggestøyl  <simenheg@gmail.com>
21529         Fix highlighting of short selectors in CSS mode
21531         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Highlight
21532         selectors where the part before a colon is only one character long,
21533         such as `a:hover'.
21535 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
21537         Fix redisplay performance problems with some fonts
21539         * src/font.c (font_list_entities): Revert part of the changes
21540         introduced on Apr 2, 2014 to fix bug#17125.  It turns out having
21541         zero_vector in the font-cache is an important indication that
21542         cannot be removed.  (Bug#21028)
21544 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
21546         Add assertion to STRING_SET_CHARS
21548         * src/lisp.h (STRING_SET_CHARS): Add an assertion and commentary
21549         to prevent incorrect usage.  For details, see this discussion:
21550         https://lists.gnu.org/r/emacs-devel/2017-04/msg00412.html.
21552 2017-04-16  Eli Zaretskii  <eliz@gnu.org>
21554         Avoid compilation warnings on MS-Windows
21556         * src/w32term.c (w32_read_socket): Avoid compiler warnings about
21557         parentheses around assignment.
21558         * src/w32fns.c (w32_createwindow): Remove unused variable
21559         dwStyle.  Use "|=" where appropriate.
21561 2017-04-16  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
21563         Merge from gnulib
21565         This incorporates:
21566         2017-04-14 intprops: try to avoid tickling similar bugs
21567         2017-04-14 intprops: port to Oracle Studio 12.3 x86
21568         * doc/misc/texinfo.tex, lib/intprops.h: Copy from gnulib.
21570 2017-04-15  Martin Rudalics  <rudalics@gmx.at>
21572         Fix bugs in `with-displayed-buffer-window' and `fit-window-to-buffer'
21574         * lisp/window.el (with-displayed-buffer-window): When a
21575         'window-height' action alist entry specifies a function, call
21576         `temp-buffer-window-show' with a '(window-height . t)' dummy
21577         entry so `window--try-to-split-window' will bind
21578         `window-combination-limit' to t and that function does not
21579         resize any other window but the one we split this one off
21580         (Bug#25055, Bug#25179).
21581         (fit-window-to-buffer): Call `window-max-delta' with NOUP t so
21582         we steal space only from windows in the same combination.
21583         Stealing space from other windows would not allow us to return
21584         that space later when this window is deleted (Bug#25055,
21585         Bug#25179).
21587 2017-04-15  Glenn Morris  <rgm@gnu.org>
21589         Avoid userlock queries hanging forever in batch mode
21591         * lisp/userlock.el (ask-user-about-lock)
21592         (ask-user-about-supersession-threat): Abort in batch mode.
21594 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
21596         Fix segfault when calling frame_ancestor_p (Bug#26493)
21598         * src/xterm.c (handle_one_xevent): Check that hf was not reset
21599         before calling frame_ancestor_p (Bug#26493).
21601 2017-04-14  Martin Rudalics  <rudalics@gmx.at>
21603         A few additional copy-edits in documentation of frames
21605         * doc/lispref/frames.texi (Frame Layout)
21606         (Implied Frame Resizing): Windows -> MS-Windows.
21607         (Deleting Frames): Fix typo.
21609 2017-04-14  Glenn Morris  <rgm@gnu.org>
21611         Use user-error for some ert.el errors
21613         * lisp/emacs-lisp/ert.el (ert-read-test-name, ert-delete-all-tests)
21614         (ert-results-find-test-at-point-other-window, ert-describe-test):
21615         Use user-error.
21617 2017-04-14  Glenn Morris  <rgm@gnu.org>
21619         Use user-error for customize's "invalid face" error
21621         * lisp/cus-edit.el (customize-face): Use user-error.
21622         (debug-ignored-errors): No more need to add "Invalid face".
21624 2017-04-14  Glenn Morris  <rgm@gnu.org>
21626         Remove duplicate lisp-eval-defun definition
21628         * lisp/emacs-lisp/lisp-mode.el (lisp-eval-defun):
21629         Autoload rather than defining a stub.
21631 2017-04-14  Glenn Morris  <rgm@gnu.org>
21633         * lisp/Makefile.in (check-defun-dups): Ignore obsolete files.
21635 2017-04-14  Glenn Morris  <rgm@gnu.org>
21637         Create generated lisp files before main loaddefs.el
21639         This should improve reproducibility of lisp/loaddefs.el.
21640         * lisp/Makefile.in (gen-lisp): New phony target.
21641         ($(lisp)/loaddefs.el, compile-main): Depend on gen-lisp.
21642         * src/Makefile.in ($(leimdir)/leim-list.el): Depend on all of ../leim.
21643         * lisp/cedet/semantic.el (semantic-mode):
21644         * lisp/cedet/semantic/fw.el (top-level):
21645         * lisp/emacs-lisp/eieio-core.el (top-level):
21646         Robustify to generated input files maybe not yet existing.
21648 2017-04-14  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
21650         Fix minor quoting issues in Makefile.in
21652         * Makefile.in (install-arch-dep, uninstall):
21653         Quote EMACS and EMACS_NAME more consistently.
21655 2017-04-13  Glenn Morris  <rgm@gnu.org>
21657         * Makefile.in (install-etc): Use existing Makefile variables.
21659 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
21661         Minor copyedits of recent changes in documentation
21663         * doc/lispref/frames.texi (Frame Layout, Frame Position)
21664         (Frame Size, Frame Interaction Parameters, Input Focus)
21665         (Raising and Lowering, Child Frames): Improve wording and indexing.
21666         * doc/emacs/cmdargs.texi (Borders X): Improve indexing.
21668 2017-04-13  Glenn Morris  <rgm@gnu.org>
21670         Small src/Makefile simplification
21672         * src/Makefile.in ($(lispsource)/international/ucs-normalize.elc)
21673         ($(lispsource)/term/ns-win.elc): Combine rules.
21675 2017-04-13  Simen Heggestøyl  <simenheg@gmail.com>
21677         Add grid layout module to CSS property list
21679         * lisp/textmodes/css-mode.el (css-property-alist)
21680         (css-value-class-alist): Add new properties and value classes from CSS
21681         Grid Layout Module.
21683 2017-04-13  Martin Rudalics  <rudalics@gmx.at>
21685         Describe recent frame and window changes in manuals
21687         * doc/emacs/emacs.texi (Top):
21688         * doc/emacs/cmdargs.texi (Borders X): Clearly separate the terms
21689         "outer border" (for the X border which can be set from within
21690         Emacs) and "external border" (for the border which is added by
21691         the window manager).
21692         * doc/lispref/display.texi (Tooltips): Clarify slightly.
21693         * doc/lispref/elisp.texi (Top): Update node and section names.
21694         * doc/lispref/frames.texi (Frames): Describe difference between
21695         top-level and child frames.
21696         (Frame Layout): Describe outer border.  Add more details about
21697         how Emacs obtains the outer size and position of a frame and
21698         about menu bar/tool bar wrapping.  Add references to new frame
21699         parameters.
21700         (Size and Position): Remove subsection.
21701         (Frame Position): New subsection excerpted from the earlier Size
21702         and Position subsection.  Clarify positioning concepts and
21703         some of their shortcomings.  Describe `move-frame-functions'.
21704         (Frame Size): New subsection excerpted from the earlier Size
21705         and Position subsection.  Describe how to track frame size
21706         changes and the new function `frame-size-changed-p'.
21707         (Position Parameters): Describe child frame positioning.  Warn
21708         about negative offsets.  Describe 'z-group' parameter.
21709         (Size Parameters): Describe 'text-pixels' specification
21710         facility and new 'min-width' and 'min-height' parameters.
21711         (Layout Parameters): Clarify description of 'tool-bar-lines' and
21712         'menu-bar-lines' parameters.
21713         (Frame Interaction Parameters): New subsubsection describing
21714         'parent-frame', 'delete-before', 'mouse-wheel-frame' and
21715         'no-other-frame' parameters.
21716         (Management Parameters): Describe 'skip-taskbar',
21717         'no-focus-on-map', 'no-accept-focus', 'undecorated' and
21718         'override-redirect' parameters.
21719         (Deleting Frames): Describe handling of 'delete-before'
21720         parameter and child frames for `delete-frame' and
21721         `delete-other-frames'.
21722         (Finding All Frames): Describe `frame-list-z-order' and handling
21723         of 'no-other-frame' parameter by `next-frame'.
21724         (Minibuffers and Frames): Minor clarifications.
21725         (Input Focus): Document `x-focus-frame'.  Clarify descriptions
21726         of `focus-in-hook', `focus-out-hook' and `focus-follows-mouse'.
21727         (Visibility of Frames): Describe mapping and how the visibility
21728         of a parent frame affects that of its child frames.
21729         (Raising and Lowering): Describe restacking of frames and
21730         z-groups.
21731         (Child Frames): New section.
21732         * doc/lispref/windows.texi (Selecting Windows): Describe
21733         additional semantics of NORECORD argument of `select-window' and
21734         how `buffer-list-update-hook' can emulate a "select window
21735         hook".
21736         (Mouse Window Auto-selection): New section.
21738 2017-04-13  Damien Cassou  <damien@cassou.me>
21740         Fix imenu--sort-by-position for non-pairs parameters (bug#26457)
21742         * lisp/imenu.el (imenu--sort-by-position): Fix to accept lists beyond
21743           pairs.
21744         * test/lisp/imenu-tests.el: Add 2 tests for `imenu--sort-by-position`.
21746 2017-04-13  Eli Zaretskii  <eliz@gnu.org>
21748         Avoid unnecessary regeneration of the entire loaddefs.el
21750         * lisp/Makefile.in (autoloads .PHONY): Add commentary explaining
21751         why $(lisp)/loaddefs.el is a dependency of '.PHONY'.
21752         ($(lisp)/loaddefs.el): Copy an existing loaddefs.el to
21753         loaddefs.tmp before running 'batch-update-autoloads' on it, to
21754         avoid slow regeneration of the full contents.  (Bug#26459)
21755         Use 'move-if-change' instead of 'mv', to avoid producing a new
21756         Emacs binary when not necessary.
21758 2017-04-13  Dmitry Gutov  <dgutov@yandex.ru>
21760         Handle indentation of nested ternary operators in JS
21762         * lisp/progmodes/js.el (js--looking-at-operator-p):
21763         Handle nested ternary operators.
21765 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
21767         Don't call 'kill-this-buffer' outside of menus
21769         * lisp/simple.el (kill-current-buffer): New function.
21770         (completion-list-mode-map): Use it instead of kill-this-buffer.
21771         * lisp/type-break.el (type-break-mode):
21772         * lisp/term/ns-win.el (global-map):
21773         * lisp/progmodes/gdb-mi.el (gdb-memory-mode-map)
21774         (gdb-disassembly-mode-map, gdb-frames-mode-map)
21775         (gdb-locals-mode-map, gdb-registers-mode-map):
21776         * lisp/org/org-mhe.el (org-mhe-follow-link):
21777         * lisp/net/secrets.el (secrets-mode-map):
21778         * lisp/net/eudc.el (eudc-mode-map):
21779         * lisp/net/eudc-hotlist.el (eudc-hotlist-mode-map): Use
21780         kill-current-buffer instead of kill-this-buffer.  (Bug#26466)
21782 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
21784         * lisp/menu-bar.el (kill-this-buffer): Doc fix.  (Bug#26466)
21786 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
21788         New internal-border face and args for select-window and x-focus-frame
21790         Add `internal-border' face and handle it whenever clearing the
21791         internal border.  If NORECORD equals the symbol
21792         'mark-for-redisplay', `select-window' will not record the window
21793         but still mark it for redisplay.  The new argument NOACTIVATE
21794         for `x-focus-frame' tries to not activate FRAME when set.
21796         * lisp/faces.el (internal-border): New face.
21797         * lisp/mwheel.el (mwheel-scroll): Select window to scroll with
21798         `mark-for-redisplay'.
21799         * lisp/scroll-bar.el (scroll-bar-drag)
21800         (scroll-bar-horizontal-drag, scroll-bar-scroll-down)
21801         (scroll-bar-scroll-up, scroll-bar-toolkit-scroll)
21802         (scroll-bar-toolkit-horizontal-scroll): Select window to scroll
21803         with `mark-for-redisplay'.
21804         * lisp/window.el (handle-select-window): When
21805         `focus-follows-mouse' is not 'auto-raise' try to not activate
21806         FRAME.
21807         * src/dispextern.h (face_id): Add INTERNAL_BORDER_FACE_ID.
21808         * src/frame.c (Fx_focus_frame): New argument NOACTIVATE.
21809         * src/frame.h (x_focus_frame): Update extern declaration.
21810         * src/gtkutil.c (xg_clear_under_internal_border): Remove
21811         function.
21812         (xg_frame_resized, xg_frame_set_char_size): Call
21813         x_clear_under_internal_border.
21814         (xg_tool_bar_callback): Adapt x_focus_frame call.
21815         * src/gtkutil.h (xg_clear_under_internal_border): Remove
21816         declaration.
21817         * src/nsfns.m (x_focus_frame): Add argument NOACTIVATE.
21818         * src/w32fns.c (x_clear_under_internal_border): Fill border
21819         with internal-border background if specified.
21820         * src/w32term.h (x_clear_under_internal_border): Add extern
21821         declaration.
21822         * src/w32term.c (x_after_update_window_line): Fill border
21823         with internal-border background if specified.
21824         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar)
21825         (x_scroll_bar_clear, w32_read_socket): Call
21826         x_clear_under_internal_border.
21827         (x_focus_frame): New argument NOACTIVATE.
21828         * src/window.c (select_window): Mark WINDOW for redisplay when
21829         NORECORD equals 'mark-for-redisplay'.
21830         (Fselect_window): Update doc-string.
21831         (syms_of_window): Define Qmark_for_redisplay.
21832         * src/xdisp.c (clear_garbaged_frames, echo_area_display)
21833         (redisplay_internal): Call x_clear_under_internal_border.
21834         * src/xfaces.c (lookup_basic_face): Handle `window-divider'
21835         and `internal-border' faces.
21836         (realize_basic_faces): Realize `internal-border' face.
21837         (syms_of_xfaces): Define Qinternal_border.
21838         * src/xfns.c (x_set_internal_border_width): Remove call for
21839         xg_clear_under_internal_border.
21840         (x_focus_frame): New argument NOACTIVATE.  When non-nil try to not
21841         activate frame.
21842         * src/xterm.c (x_fill_rectangle): No more static.
21843         (x_clear_under_internal_border, x_after_update_window_line):
21844         Fill border with internal-border background if specified.
21845         (xt_horizontal_action_hook): Rewrite.
21846         (handle_one_xevent): Call x_clear_under_internal_border.
21847         * src/xterm.h (x_fill_rectangle): Add extern declaration.
21849 2017-04-12  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
21851         Port recent frame changes to --enable-gcc-warnings
21853         * src/frame.c (next_frame, prev_frame):
21854         Remove now-redundant assertions.
21855         * src/frame.h (FOR_EACH_FRAME): Assume Vframe_list is nonempty.
21857 2017-04-12  Tak Kunihiro  <tkk@misasa.okayama-u.ac.jp>
21859         Scroll right and left using wheel-right and wheel-left.
21861         These changes also make use of touchpad and trackpad (Bug#26347).
21863         * doc/emacs/frames.texi (Mouse Commands): Document horizontal
21864         scrolling using the mouse wheel.
21866         * lisp/mwheel.el (mwheel-scroll): Respond to wheel-right and wheel-left.
21867         (mwheel-tilt-scroll-p, mwheel-flip-direction)
21868         (mwheel-scroll-left-function, mwheel-scroll-right-function): New
21869         defcustoms.
21870         (mouse-wheel-left-event, mouse-wheel-right-event): New variables,
21871         events that calls wheel-left/right.
21873         * etc/NEWS: Mention horizontal scrolling using the mouse wheel.
21875 2017-04-12  Eli Zaretskii  <eliz@gnu.org>
21877         * lisp/Makefile.in (autoloads-force): Fix usage of ".PHONY".
21879 2017-04-12  Martin Rudalics  <rudalics@gmx.at>
21881         Add new frame parameters and associated functions
21883         Add new frame parameters `undecorated', `override-redirect',
21884         `parent-frame', `skip-taskbar', `no-focus-on-map',
21885         `no-accept-focus', `z-group', `delete-before', `no-other-frame',
21886         `mouse-wheel-frame', `min-width', `min-height'.  Add new
21887         functions `frame-restack' and `frame-list-z-order'.
21889         * lisp/cus-start.el (focus-follows-mouse): Adapt customization
21890         type.
21891         * lisp/frame.el (handle-delete-frame): Handle child and
21892         `delete-before' frames.
21893         (other-frame): Stop looking for other frame after one round.
21894         (frame-list-z-order, frame-restack): New functions.
21895         (delete-other-frames): Handle child frames.
21896         * lisp/frameset.el (frameset-persistent-filter-alist)
21897         (frameset--record-relationships): Handle `delete-before',
21898         `parent-frame' and `mouse-wheel-frame' parameters.  Rename
21899         latter from `frameset--record-minibuffer-relationships'.
21900         (frameset--restore-frame): Handle ‘parent-frame’ parameter
21901         specially.
21902         (frameset-restore): Handle `delete-before', `parent-frame' and
21903         `mouse-wheel-frame' parameters.
21904         * lisp/mwheel.el (mwheel-scroll): Handle `mouse-wheel-frame'
21905         parameter.
21906         * lisp/window.el (window--min-size-ignore-p): Fix doc-string.
21907         (mouse-autoselect-window-select, handle-select-window): Major
21908         rewrite.  Try to not ignore errors.  Handle auto-selection of
21909         child frames and different values of `focus-follows-mouse'.
21910         * src/frame.c (frame_windows_min_size): Handle new `min-width'
21911         and `min-height' frame parameters.
21912         (make_frame): Initialize new frame structure members.
21913         (do_switch_frame): Don't reset internal_last_event_frame for
21914         descendant frames.
21915         (Fframe_parent, frame_ancestor_p, Fframe_ancestor_p): New
21916         functions.
21917         (candidate_frame): Don't return `no-other-frame' frame.
21918         (other_frames): New function replacing other_visible_frames.
21919         (delete_frame): Rewrite.  Handle child and `delete-before' frames.
21920         (Fmake_frame_invisible): Call other_frames.
21921         (store_frame_param): Check `delete-before' and `parent-frame'
21922         parameters for circular dependencies.
21923         (frame_parms, syms_of_frame): Add entries for and define new
21924         frame parameters.
21925         (focus_follows_mouse): New meaningful value `auto-raise'.
21926         * src/frame.h (z_group): New enumeration type.
21927         (frame): New slots parent_frame, undecorated, override_redirect,
21928         skip_taskbar, no_focus_on_map, no_accept_focus, z_group.
21929         (fset_parent_frame): New inlined function.
21930         (FRAME_UNDECORATED, FRAME_OVERRIDE_REDIRECT)
21931         (FRAME_PARENT_FRAME, FRAME_SKIP_TASKBAR, FRAME_NO_FOCUS_ON_MAP)
21932         (FRAME_NO_ACCEPT_FOCUS, FRAME_Z_GROUP, FRAME_Z_GROUP_NONE)
21933         (FRAME_Z_GROUP_ABOVE, FRAME_Z_GROUP_ABOVE_SUSPENDED)
21934         (FRAME_Z_GROUP_BELOW): New macros.
21935         (frame_ancestor_p): Add declaration.
21936         * src/gtkutil.c (xg_create_frame_widgets): Handle
21937         `undecorated' and `override-redirect' frame parameters.
21938         (x_wm_set_size_hint): None for child frames.
21939         (xg_set_undecorated, xg_frame_restack, xg_set_skip_taskbar)
21940         (xg_set_no_focus_on_map, xg_set_no_accept_focus)
21941         (xg_set_override_redirect): New functions.
21942         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
21943         Don't let scrollbars obscure child frames.
21944         * src/gtkutil.h: (xg_set_undecorated, xg_frame_restack)
21945         (xg_set_skip_taskbar, xg_set_no_focus_on_map)
21946         (xg_set_no_accept_focus, xg_set_override_redirect): Add extern
21947         declarations.
21948         * src/nsfns.m (ns_frame_parm_handlers): Add entries for new
21949         frame parameters.
21950         (Fx_create_frame): Install `min-width' and `min-height' frame
21951         parameters.
21952         * src/nsterm.m (mouseMoved:): Handle focus_follows_mouse change.
21953         * src/w32fns.c (WS_EX_NOACTIVATE): Define if necessary.
21954         (x_real_positions): Handle child frames.
21955         (x_set_menu_bar_lines): Don't for child frames.
21956         (x_set_undecorated, x_set_parent_frame, x_set_skip_taskbar)
21957         (x_set_no_focus_on_map, x_set_no_accept_focus)
21958         (x_set_z_group): New functions.
21959         (w32_createvscrollbar, w32_createhscrollbar): Don't draw
21960         scroll bars over child frames.
21961         (w32_createwindow): Handle new frame parameters and child frames.
21962         (w32_wnd_proc): Let mouse clicks into a child frame activate
21963         the frame.  Try to handle the `no-accept-focus' parameter.  Do
21964         SetFocus when our window is brought to top or becomes the
21965         foreground window.
21966         (w32_window): Don't initialize menu bar for child frames.
21967         (Fx_create_frame): Handle new frame parameters.
21968         (x_create_tip_frame): Set explicit_parent slot.
21969         (w32_dialog_in_progress): New function.
21970         (Fx_file_dialog): Handle `z-group-above' frames.
21971         (w32_frame_list_z_order, Fw32_frame_list_z_order)
21972         (w32_frame_restack, Fw32_frame_restack): New functions.
21973         (w32_frame_parm_handlers): Add entries for new frame
21974         parameters.
21975         * src/w32font.c (Fx_select_font): Handle `z-group-above'
21976         frames during font selection dialogue.
21977         * src/w32term.c (construct_mouse_wheel): Construct mouse wheel
21978         event from F's w32 window.
21979         (w32_mouse_position): Handle child frames.
21980         (w32_set_vertical_scroll_bar, w32_set_horizontal_scroll_bar):
21981         Don't draw scroll bars over child frames.
21982         (w32_read_socket): Always erase background of child frames.
21983         When generating SELECT_WINDOW_EVENTs handle new value of
21984         `focus-follows-mouse' and handle `no-accept-focus' parameter.
21985         Handle `mouse-wheel-frame' parameter.
21986         (x_calc_absolute_position, x_set_offset, x_set_window_size):
21987         Handle child frames.
21988         (x_make_frame_visible): Handle child frames specially.  Handle
21989         `no-focus-on-map' parameter.
21990         * src/w32term.h (w32_dialog_in_progress): Add external
21991         declaration.
21992         * src/xdisp.c (x_consider_frame_title, prepare_menu_bars): Not
21993         for child frames.
21994         * src/xfns.c (Xm/MwmUtil.h): Include for WM hints.
21995         (PropMotifWmHints, PROP_MOTIF_WM_HINTS_ELEMENTS): Define for
21996         non-Motif, non-GTK case.
21997         (x_real_pos_and_offsets): Handle child frames.
21998         (x_set_undecorated, x_set_parent_frame)
21999         (x_set_no_focus_on_map, x_set_no_accept_focus)
22000         (x_set_override_redirect): New functions.
22001         (x_set_menu_bar_lines): Not for child frames.
22002         (x_window): Handle `undecorated' and `override_redirect' cases.
22003         (Fx_create_frame): Handle new frame parameters.
22004         (frame_geometry): Handle child frames and outer border.
22005         (x_frame_list_z_order, Fx_frame_list_z_order)
22006         (x_frame_restack, Fx_frame_restack): New functions.
22007         (Fx_file_dialog, Fx_select_font): Set x_menu_set_in_use.
22008         (x_frame_parm_handlers): Add entries for new frame parameters.
22009         * src/xmenu.c (x_menu_set_in_use): Handle `z-group-above'
22010         frames.
22011         * src/xterm.c (x_set_frame_alpha): Don't set alpha of parent
22012         for child frames.
22013         (XTmouse_position): Handle child frames.
22014         (x_scroll_bar_create, x_scroll_bar_expose): Don't let scroll
22015         bars obscure child frames.
22016         (handle_one_xevent): Handle child frame positions.  If necessary
22017         set `skip-taskbar' and reassign proper `z-group' when we are
22018         mapped.  When generating SELECT_WINDOW_EVENTs handle new value
22019         of `focus-follows-mouse'.  Handle `mouse-wheel-frame' parameter.
22020         Let mouse clicks into a child frame activate the frame.
22021         (x_calc_absolute_position, x_set_offset): Handle child frames
22022         specially.
22023         (x_set_skip_taskbar, x_set_z_group): New functions.
22024         (x_make_frame_visible): Handle child frames.
22025         (ATOM_REFS_INIT): Add entries for
22026         Xatom_net_wm_state_skip_taskbar, Xatom_net_wm_state_above,
22027         Xatom_net_wm_state_below.
22028         * src/xterm.h (top-level): Declare Xatom_net_wm_state_above,
22029         Xatom_net_wm_state_below and Xatom_net_wm_state_skip_taskbar.
22030         (x_set_skip_taskbar, x_set_z_group): Add extern declarations.
22032 2017-04-11  Glenn Morris  <rgm@gnu.org>
22034         Update a package test for hydra
22036         * test/lisp/emacs-lisp/package-tests.el (with-package-test):
22037         Also bind package-gnupghome-dir, see eg
22038         http://hydra.nixos.org/build/51462182 .
22040 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
22042         Frame movement, focus and hook related changes
22044         New hook `move-frame-functions'.  Run `focus-in-hook'
22045         after switching to frame that gets focus.  Don't run
22046         XMoveWindow for GTK.
22048         * lisp/frame.el (handle-move-frame, frame-size-changed-p): New
22049         functions.
22051         * src/frame.c (do_switch_frame): Simplify code.
22052         (Fhandle_switch_frame): Switch frame before running
22053         `handle-focus-in'.
22054         (Vfocus_in_hook, Vfocus_out_hook): Clarify doc-strings.
22055         (Vmove_frame_functions): New hook variable.
22056         * src/keyboard.c (kbd_buffer_get_event): Handle
22057         MOVE_FRAME_EVENT.  Handle SELECT_WINDOW_EVENT separately.
22058         (head_table): Add Qmove_frame entry.
22059         (syms_of_keyboard): Add Qmove_frame.
22060         (keys_of_keyboard): Define key for `move-frame'.
22061         * src/termhooks.h (event_kind): Add MOVE_FRAME_EVENT.
22062         * src/w32term.c (w32_read_socket): Create MOVE_FRAME_EVENT.
22063         * src/window.c (run_window_size_change_functions): Record size of
22064         FRAME's minibuffer window too.
22065         * src/xterm.c (handle_one_xevent): Create MOVE_FRAME_EVENT.
22066         (x_set_offset): For GTK call gtk_widget_move instead of
22067         XMoveWindow.
22069 2017-04-11  Werner LEMBERG  <wl@gnu.org>
22071         Avoid abort in ftfont.c due to faulty fonts
22073         * src/ftfont.c (ftfont_get_metrics): Try loading the font without
22074         hinting, before aborting.  (Bug#25945)
22076 2017-04-11  Eli Zaretskii  <eliz@gnu.org>
22078         Document 'line-pixel-height'
22080         * doc/lispref/display.texi (Size of Displayed Text): Document
22081         line-pixel-height.  Suggested by Tak Kunihiro
22082         <tkk@misasa.okayama-u.ac.jp>.  (Bug#26379)
22084 2017-04-11  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
22086         Introduce customizable variable 'package-gnupghome-dir'
22088         * lisp/emacs-lisp/package.el (package-import-keyring)
22089         (package--check-signature-content, package-check-signature):
22090         Use new variable package-gnupghome-dir to control which GnuPG
22091         homedir to use.
22092         * doc/emacs/package.texi: Mention package-gnupghome-dir.
22093         * etc/NEWS: Mention package-gnupghome-dir.
22095 2017-04-11  Martin Rudalics  <rudalics@gmx.at>
22097         Set x_gtk_use_window_move by default for fixing bug#25851 and bug#25943
22099         This activates a change that was installed a few weeks ago but whose
22100         ChangeLog was inadvertently dropped during its commit.  The proper
22101         ChangeLog is included below as part of the present commit.
22103         * src/gtkutil.c (xg_set_geometry): When x_gtk_use_window_move
22104         is set avoid calling x_gtk_parse_geometry (Bug#25851).
22105         (x_wm_set_size_hint): When x_gtk_use_window_move is set, set
22106         PPosition, USPosition and USSize flags if requested.
22107         * src/xterm.c (x_set_offset): With GTK when
22108         x_gtk_use_window_move is set, leave it entirely to
22109         gtk_window_move to position the window and skip any
22110         post-adjustments (Bug#25851 and Bug#25943).
22111         (x_gtk_use_window_move): New variable.
22113 2017-04-10  Alan Mackenzie  <acm@muc.de>
22115         Fix a loop in C Mode caused by inadequate analysis of comments.
22117         After M-;, and the insertion of the opening "/*", the CC Mode after-change
22118         function got confused, since the new comment opener matched the end of a
22119         subsequent comment, but moving back over that comment did not come back to the
22120         starting point.  Fix this.
22122         * lisp/progmodes/cc-engine.el (c-end-of-macro): Add a limit parameter, wherer
22123         point is left if no end-of-macro is found before it.
22124         (c-forward-sws): Change the `safe-start' mechanism.  Now `safe-start' is
22125         non-nil except where we have an unclosed block comment at the end of a macro.
22126         This enables us to populate the cache more fully, at the cost of some run
22127         time.
22129 2017-04-10  Lars Brinkhoff  <lars@nocrew.org>
22131         Add PVSIZE function to return the size of a pseudovector.
22133         * src/lisp.h (PVSIZE): New function.
22135         * src/chartab.c (copy_char_table):
22136         * src/data.c (Ftype_of, Finteractive_form, Faref, Faset):
22137         * src/doc.c (Fdocumentation, store_function_docstring):
22138         * src/eval.c (Fcommandp, funcall_lambda, lambda_arity, Ffetch_bytecode):
22139         * src/fns.c (Flength, Fcopy_sequence):
22140         * src/font.h (FONT_SPEC_P, FONT_ENTITY_P, FONT_OBJECT_P):
22141         * src/lread.c (substitute_object_recurse):
22142         * src/print.c (print_object):
22143           Use it.
22145 2017-04-10  Michael Albinus  <michael.albinus@gmx.de>
22147         Add Tramp tests
22149         * lisp/net/tramp.el (tramp-syntax): Adapt docstring.
22151         * test/lisp/net/tramp-tests.el
22152         (tramp-test01-file-name-syntax-simplified)
22153         (tramp-test01-file-name-syntax-separate)
22154         (tramp-test02-file-name-dissect-simplified)
22155         (tramp-test02-file-name-dissect-separate): New tests.
22157 2017-04-10  Martin Rudalics  <rudalics@gmx.at>
22159         Make sure that `shell' makes BUFFER current
22161         * lisp/shell.el (shell): Restrict scope of recently added
22162         `with-current-buffer' to make sure that BUFFER is current when
22163         `shell' returns.
22165 2017-04-10  Jim Blandy  <jimb@red-bean.com>
22167         Default to PCRE syntax when reading .hgignore
22169         * lisp/vc/vc-hg.el (vc-hg--slurp-hgignore-1):
22170         Default to the PCRE syntax (bug#26249).
22172 2017-04-09  Michael Albinus  <michael.albinus@gmx.de>
22174         Document Tramp changes
22176         * doc/misc/tramp.texi (Change file name syntax): New node.
22178         * etc/NEWS: Mention `tramp-change-syntax'.
22180         * lisp/net/tramp.el (tramp-file-name-regexp): Reinsert it.
22181         External packages uses it.
22182         (tramp-syntax): Set also `tramp-file-name-regexp'.
22184 2017-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22186         Merge from gnulib (Bug#26398)
22188         This incorporates:
22189         2017-04-08 getopt: prefer - to _ in new file names
22190         2017-04-08 getopt: port recent getopt changes to macOS
22191         * .gitignore: Add lib/getopt-cdefs.h.
22192         * lib/getopt-cdefs.in.h: Rename from lib/getopt_cdefs.in.h.
22193         * lib/getopt-core.h: Rename from lib/getopt_core.h.
22194         * lib/getopt-ext.h: Rename from lib/getopt_ext.h.
22195         * lib/getopt-pfx-core.h: Rename from lib/getopt_pfx_core.h.
22196         * lib/getopt-pfx-ext.h: Rename from lib/getopt_pfx_ext.h.
22197         * lib/getopt.in.h, lib/unistd.in.h, m4/getopt.m4:
22198         Copy from Gnulib.
22199         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
22201 2017-04-09  Ken Raeburn  <raeburn@raeburn.org>
22203         Write updated loaddefs to a temporary file and rename into place.
22205         In a parallel build, byte compilation can be running at the same times
22206         as loaddefs.el is being regenerated.  However, in a CANNOT_DUMP build,
22207         loaddefs.el is read at startup and must always be in a usable state.
22209         * lisp/Makefile.in ($(lisp)/loaddefs.el): Write generated output to
22210         loaddefs.el.new and then rename it to loaddefs.el.
22212 2017-04-09  Glenn Morris  <rgm@gnu.org>
22214         In the manual, mention pops and imaps
22216         * doc/emacs/rmail.texi (Movemail, Remote Mailboxes):
22217         Mention pops and imaps protocols.
22219 2017-04-09  Glenn Morris  <rgm@gnu.org>
22221         * doc/emacs/rmail.texi: Prefer @command to @code for movemail.
22223 2017-04-09  Sergey Poznyakoff  <gray@gnu.org>
22225         Fix rmail handling of movemail protocols (bug#18278)
22227         * lisp/mail/rmail.el (rmail-remote-proto-p): New function.
22228         (rmail-parse-url): Return protocol in second list element.
22229         Only use passwords with remote mailboxes.
22230         (rmail-insert-inbox-text): Handle non-simple local
22231         mailboxes (maildir, MH, etc.).
22233 2017-04-09  Glenn Morris  <rgm@gnu.org>
22235         Fix typos in manual re movemail local mailboxes
22237         * doc/emacs/rmail.texi (Movemail, Other Mailbox Formats):
22238         Fix examples of local mailbox urls.
22240 2017-04-08  Glenn Morris  <rgm@gnu.org>
22242         * lisp/gnus/nnmail.el (nnmail-crosspost-link-function): Simplify.
22244 2017-04-08  Glenn Morris  <rgm@gnu.org>
22246         Remove references to OS/2 in code, doc, and comments
22248         * lisp/gnus/nnheader.el (nnheader-read-timeout)
22249         (nnheader-file-name-translation-alist): Remove OS/2 case, and simplify.
22250         * lisp/emulation/viper-util.el (viper-color-defined-p):
22251         * lisp/net/pop3.el (pop3-read-timeout):
22252         * lisp/net/imap.el (imap-read-timeout):
22253         * lisp/url/url-privacy.el (url-setup-privacy-info): Remove OS/2 case.
22254         * lisp/emulation/viper-ex.el (viper-glob-function):
22255         * lisp/vc/ediff-util.el (ediff-submit-report): Doc fix.
22256         * lisp/cus-edit.el (custom-display): Remove "pm" (OS/2).
22257         * doc/emacs/msdos-xtra.texi (MS-DOS):
22258         * doc/misc/gnus.texi (Various Various):
22259         * doc/misc/viper.texi (Rudimentary Changes): Remove mentions of OS/2.
22261 2017-04-08  Michael Albinus  <michael.albinus@gmx.de>
22263         Tune Tramp syntax
22265         * lisp/net/tramp-cmds.el (tramp-change-syntax):
22266         Use `tramp-syntax-values'.
22268         * lisp/net/tramp-compat.el (tramp-compat-tramp-syntax): New defsubst.
22270         * lisp/net/tramp.el (tramp-syntax): Rename possible values.
22271         (tramp-syntax-values): New defun.
22272         (tramp-prefix-format, tramp-method-regexp)
22273         (tramp-postfix-method-format, tramp-prefix-ipv6-format)
22274         (tramp-postfix-ipv6-format, tramp-postfix-host-format)
22275         (tramp-completion-file-name-regexp): Use `tramp-compat-tramp-syntax'
22276         and changed values.
22277         (tramp-completion-file-name-regexp-default): Rename from
22278         `tramp-completion-file-name-regexp-unified'.  Adapt docstring.
22279         (tramp-completion-file-name-regexp-simplified): Rename from
22280         `tramp-completion-file-name-regexp-old-style'.  Adapt docstring.
22281         (tramp-initial-completion-file-name-regexp):
22282         Use `tramp-completion-file-name-regexp-default'.
22283         (tramp-run-real-handler): Do not autoload any longer.
22285 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
22287         Replace more nested ifs with cond
22289         This is a continuation of d526047 "Replace more nested ifs with cond".
22290         * lisp/play/dunnet.el (dun-firstword, dun-firstwordl, dun-cat): Use
22291         when and cond where appropriate.
22293 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
22295         Adjust the edebug spec of if-let*
22297         This was fixed in Bug#24748, but now looking more closely, using gate in
22298         the spec seems correct.  See (info "(elisp) Backtracking").
22299         * lisp/emacs-lisp/subr-x.el (if-let*): Use gate in edebug spec.
22301 2017-04-08  Mark Oteiza  <mvoteiza@udel.edu>
22303         Replace some uses of cl-member-if with apply
22305         From the mhtml-mode series.  Some of the uses of cl-lib are not
22306         necessary.
22307         * lisp/align.el: Don't require cl-lib.
22308         (align-region): Use apply instead of cl-member-if.
22309         * lisp/emulation/viper.el: Don't require cl-lib.
22310         (viper-mode, this-major-mode-requires-vi-state): Use apply instead of
22311         cl-member-if.
22313 2017-04-08  Philipp Stephani  <phst@google.com>
22315         Validate SPEC of `dolist', cf. Bug#25477.
22317         * lisp/subr.el (dolist): Test type and length of SPEC.
22318         * test/lisp/subr-tests.el (subr-tests--dolist--wrong-number-of-args):
22319         Add unit test.
22321 2017-04-08  Philipp Stephani  <phst@google.com>
22323         Add unit test for Bug#26378
22325         * test/lisp/vc/ediff-diff-tests.el
22326         (ediff-diff-tests--ediff-exec-process--nil): New unit test.
22328 2017-04-08  Lars Brinkhoff  <lars@nocrew.org>
22330         Fix circular read syntax for records.
22332         * src/lread.c (substitute_object_recurse): Work with records.
22334         * test/src/lread-tests.el (lread-record-1): New test.
22336 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22338         Deprecate copy-record in favor of copy-sequence
22340         Since copy-sequence seems to be needed anyway for records, have it
22341         work on records, and remove copy-record as being superfluous.
22342         * doc/lispref/records.texi (Records, Record Functions):
22343         * lisp/emacs-lisp/cl-macs.el (cl-defstruct):
22344         * lisp/emacs-lisp/eieio.el (make-instance, clone):
22345         * test/src/alloc-tests.el (record-3):
22346         Use copy-sequence, not copy-record, to copy records.
22347         * doc/lispref/sequences.texi (Sequence Functions)
22348         (Array Functions): Document that aref and copy-sequence
22349         work on records.
22350         * etc/NEWS: Omit copy-record.
22351         * src/alloc.c (Fcopy_record): Remove.
22352         * src/data.c (Faref): Document that arg can be a record.
22353         * src/fns.c (Fcopy_sequence): Copy records, too.
22355 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22357         Fix dependency checking in src/Makefile.in
22359         * src/Makefile.in (AUTO_DEPEND, DEPDIR, DEPFLAGS): Move includes of
22360         dependency files until after ALLOBJS is defined, since it uses ALLOBJS.
22361         Otherwise, some dependencies will be missed.
22363 2017-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22365         Minor tuneup of write-region change
22367         * src/fileio.c (write_region): Use SCHARS, not Flength,
22368         on a value known to be a string.
22370 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
22372         Adjust write-region so file name is at the beginning again
22374         * lisp/epa-file.el (epa-file-write-region):
22375         * lisp/gnus/mm-util.el (mm-append-to-file):
22376         * lisp/jka-compr.el (jka-compr-write-region):
22377         * lisp/net/ange-ftp.el (ange-ftp-write-region):
22378         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
22379         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
22380         * src/fileio.c (write_region): Put file name at the beginning and move
22381         number of characters to the end of the message.
22383 2017-04-08  Kaushal Modi  <kaushal.modi@gmail.com>
22385         Check that file argument is a string
22387         * lisp/vc/ediff-diff.el (ediff-exec-process): Check that the argument
22388           passed to `file-local-copy' is a string (Bug#26378).  Also fix
22389           the existing comment for this function, and convert it to its
22390           doc-string.
22392 2017-04-08  Noam Postavsky  <npostavs@gmail.com>
22394         Fix handling of non-integer START param to write-region
22396         The previous patch for Bug#354 incorrectly assumed that START would
22397         always be an integer.
22399         * lisp/epa-file.el (epa-file-write-region):
22400         * lisp/jka-compr.el (jka-compr-write-region):
22401         * lisp/net/ange-ftp.el (ange-ftp-write-region):
22402         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
22403         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
22404         * src/fileio.c (write_region): Handle nil and string values of START.
22406 2017-04-07  Glenn Morris  <rgm@gnu.org>
22408         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fixes.
22410 2017-04-07  Michael Albinus  <michael.albinus@gmx.de>
22412         Add Tramp versions to `customize-package-emacs-version-alist'
22414         * lisp/net/trampver.el (customize-package-emacs-version-alist):
22415         Add Tramp versions to `customize-package-emacs-version-alist'.
22417 2017-04-07  Tom Tromey  <tom@tromey.com>
22419         * lisp/textmodes/rst.el (rst-toc-link-keymap): Move before first use.
22421 2017-04-07  Lars Brinkhoff  <lars@nocrew.org>
22423         * doc/lispref/records.texi (Record Functions): fix typo.
22425 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
22427         More casefiddle minor fixes
22429         * src/casefiddle.c (case_character_impl): Omit unnecessary casts.
22430         (case_character_impl): Avoid reevaluation of CHAR_TABLE_REF.
22431         (GREEK_CAPITAL_LETTER_SIGMA): Fix typo in my previous change.
22433 2017-04-07  Jeff Clough  <kb1vqh@gmail.com>
22435         Output number of characters added to file (Bug#354)
22437         * src/fileio.c (write_region):
22438         * lisp/epa-file.el (epa-file-write-region):
22439         * lisp/jka-compr.el (jka-compr-write-region):
22440         * lisp/net/ange-ftp.el (ange-ftp-write-region):
22441         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-write-region):
22442         * lisp/net/tramp-sh.el (tramp-sh-handle-write-region):
22443         * lisp/gnus/mm-util.el (mm-append-to-file): Functions now output
22444         characters written in addition to file name.
22445         * doc/lispref/files.texi: Added documentation to write-region and
22446         append-to-file describing their output.
22448 2017-04-07  Noam Postavsky  <npostavs@users.sourceforge.net>
22450         Fix ‘!NILP (Vpurify_flag)’ assertion failure during temacs bootstrap
22452         The recent changes to src/casefiddle.c cause build failure as seen
22453         below:
22455             Starting program: /home/npostavs/src/emacs/emacs-bootstrapping/src/temacs
22456                 --batch --load loadup bootstrap
22457             [Thread debugging using libthread_db enabled]
22458             Using host libthread_db library "/usr/lib/libthread_db.so.1".
22459             Loading loadup.el (source)...
22460             Using load-path (/home/npostavs/src/emacs/emacs-bootstrapping/lisp
22461                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/emacs-lisp
22462                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/language
22463                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/international
22464                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/textmodes
22465                 /home/npostavs/src/emacs/emacs-bootstrapping/lisp/vc)
22466             Loading emacs-lisp/byte-run (source)...
22467             Loading emacs-lisp/backquote (source)...
22468             Loading subr (source)...
22469             Loading version (source)...
22470             Loading widget (source)...
22471             Loading custom (source)...
22472             Loading emacs-lisp/map-ynp (source)...
22473             Loading international/mule (source)...
22474             Loading international/mule-conf (source)...
22476             lread.c:3914: Emacs fatal error: assertion failed: !NILP (Vpurify_flag)
22478             Breakpoint 1, terminate_due_to_signal at emacs.c:363
22479             363   signal (sig, SIG_DFL);
22480             (gdb) bt
22481             #0  0x0000000000579826 in terminate_due_to_signal at emacs.c:363
22482             #1  0x000000000060ec33 in die at alloc.c:7352
22483             #2  0x000000000066db40 in intern_c_string_1 at lread.c:3914
22484             #3  0x0000000000576884 in intern_c_string at lisp.h:3790
22485             #4  0x00000000005dc84f in prepare_casing_context at casefiddle.c:69
22486             #5  0x00000000005dd37f in casify_object at casefiddle.c:311
22487             #6  0x00000000005dd47f in Fcapitalize at casefiddle.c:356
22488             #7  0x00000000006325ac in eval_sub at eval.c:2219
22489             #8  0x0000000000632368 in eval_sub at eval.c:2184
22490             #9  0x000000000063446c in apply_lambda at eval.c:2875
22491             #10 0x00000000006329af in eval_sub at eval.c:2294
22492             #11 0x000000000062d462 in Fprogn at eval.c:449
22493             #12 0x000000000062d4cf in prog_ignore at eval.c:461
22494             #13 0x000000000062f19c in Fwhile at eval.c:982
22495             #14 0x00000000006321f4 in eval_sub at eval.c:2172
22496             #15 0x000000000062d462 in Fprogn at eval.c:449
22497             #16 0x000000000062f0c4 in Flet at eval.c:963
22498             #17 0x00000000006321f4 in eval_sub at eval.c:2172
22499             #18 0x0000000000632963 in eval_sub at eval.c:2290
22500             #19 0x000000000062d462 in Fprogn at eval.c:449
22501             #20 0x000000000062f0c4 in Flet at eval.c:963
22502             #21 0x00000000006321f4 in eval_sub at eval.c:2172
22503             #22 0x0000000000668caa in readevalloop at lread.c:1927
22504             #23 0x0000000000667253 in Fload at lread.c:1332
22505             #24 0x0000000000632683 in eval_sub at eval.c:2233
22506             #25 0x0000000000668caa in readevalloop at lread.c:1927
22507             #26 0x0000000000667253 in Fload at lread.c:1332
22508             #27 0x0000000000632683 in eval_sub at eval.c:2233
22509             #28 0x0000000000631be5 in Feval at eval.c:2041
22510             #29 0x000000000057e1af in top_level_2 at keyboard.c:1121
22511             #30 0x000000000062ffc7 in internal_condition_case at eval.c:1324
22512             #31 0x000000000057e1f0 in top_level_1 at keyboard.c:1129
22513             #32 0x000000000062f51e in internal_catch at eval.c:1091
22514             #33 0x000000000057e0ea in command_loop at keyboard.c:1090
22515             #34 0x000000000057d6d5 in recursive_edit_1 at keyboard.c:697
22516             #35 0x000000000057d8b4 in Frecursive_edit at keyboard.c:768
22517             #36 0x000000000057b55b in main at emacs.c:1687
22519             Lisp Backtrace:
22520             "capitalize" (0xffffcf70)
22521             "format" (0xffffd130)
22522             "define-charset" (0xffffd370)
22523             "while" (0xffffd560)
22524             "let" (0xffffd7c0)
22525             "dolist" (0xffffd910)
22526             "let" (0xffffdb70)
22527             "load" (0xffffdfe0)
22528             "load" (0xffffe4a0)
22530         * src/casefiddle.c (syms_of_casefiddle): Declare four new symbols:
22531         Qtitlecase, Qspecial_uppercase, Qspecial_lowercase and
22532         Qspecial_titlecase.
22533         (prepare_casing_context): Use aforementioned symbols.
22535 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
22537         Merge from gnulib
22539         This merges some getopt fixes from Zack Weinberg, and affects only
22540         non-GNUish platforms.  It incorporates:
22541         2017-04-06 getopt-gnu: omit some duplicate code
22542         2017-04-06 getopt-posix: use angle-bracket include
22543         2017-04-06 getopt: annotate files with relationship to glibc
22544         2017-04-06 getopt: split up getopt.in.h and eliminate __need_getopt
22545         2017-04-06 getopt: better handling of ambiguous options
22546         2017-04-06 getopt: refactor long-option handling
22547         2017-04-06 getopt: tidy up _getopt_initialize a bit
22548         2017-04-06 getopt: merge from glibc: repetition reduction
22549         2017-04-06 getopt: clean up error reporting
22550         2017-04-06 getopt: fix fencepost error in ambiguous-W-option handling
22551         2017-04-06 getopt: clean up getopt.c and getopt1.c file headers
22552         2017-04-06 getopt: harmonize comments with glibc
22553         2017-04-06 getopt: remove USE_NONOPTION_FLAGS
22554         2017-04-06 getopt: tabify, in preparation for merge with glibc
22555         2017-04-06 md5, sha1, sha256, sha512: Add comments re correctness
22556         * build-aux/config.sub, doc/misc/texinfo.tex, lib/getopt.c:
22557         * lib/getopt.in.h, lib/getopt1.c, lib/getopt_int.h, lib/md5.c:
22558         * lib/md5.h, lib/sha1.c, lib/sha1.h, lib/sha256.c, lib/sha256.h:
22559         * lib/sha512.c, lib/sha512.h, lib/unistd.in.h, m4/getopt.m4:
22560         Copy from gnulib.
22561         * lib/getopt_cdefs.in.h, lib/getopt_core.h, lib/getopt_ext.h:
22562         * lib/getopt_pfx_core.h, lib/getopt_pfx_ext.h:
22563         New files, taken from gnulib.
22564         * lib/gnulib.mk.in, m4/gnulib-comp.m4:
22565         Regenerate.
22567 2017-04-07  Hong Xu  <hong@topbug.net>
22569         * src/search.c (Fre_search_forward, Fre_search_backward): Improve
22570         doc (Bug#25193).
22572 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
22574         Mention that processes start in default-directory (Bug#18515)
22576         * doc/lispref/processes.texi (Synchronous Processes):
22577         (Asynchronous Processes):
22578         * lisp/subr.el (start-process):
22579         * src/callproc.c (call-process): Mention that the subprocess starts in
22580         `default-directory' when local, suggest `start-file-process' and
22581         `process-file' otherwise.
22583 2017-04-07  Noam Postavsky  <npostavs@gmail.com>
22585         * src/xdisp.c (vmessage, message): Clarify commentary.
22587 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
22589         Minor casefiddle.c cleanups
22591         * src/casefiddle.c: Redo recent changes to match GNU style,
22592         and prefer C99-style decls within blocks.
22593         (GREEK_CAPITAL_LETTER_SIGMA): Rename from CAPITAL_SIGMA, so that
22594         we are merely using the Unicode name, and make it a constant
22595         rather than a macro.  All uses changed.
22596         (SMALL_SIGMA): Remove; unused.
22597         (GREEK_SMALL_LETTER_FINAL_SIGMA): Rename from SMALL_FINAL_SIGMA,
22598         and make it a constant rather than a macro.  All uses changed.
22599         (do_casify_multibyte_string): Use ‘verify’ rather than an
22600         unportable static_assertion local.
22602 2017-04-07  Paul Eggert  <eggert@cs.ucla.edu>
22604         * lisp/international/README: Update to match current list.
22606 2017-04-06  Paul Eggert  <eggert@cs.ucla.edu>
22608         Fix 'make clean' in lib subdirectory
22610         * lib/Makefile.in (clean): Remove *-t files.
22611         (mostlyclean): Remove MOSTLYCLEANFILES that are not *-t files.
22612         This removes files like lib/getopt.h that should be removed
22613         even if this configuration did not need to build them.
22614         (maintainer-clean): Remove TAGS here, not in distclean,
22615         to be consistent with ../src/Makefile.in.
22617 2017-04-06  Michael Albinus  <michael.albinus@gmx.de>
22619         Add new Tramp syntax
22621         * lisp/net/tramp-cmds.el (tramp-change-syntax): New defun.
22623         * lisp/net/tramp.el (tramp-syntax): Change default to `def'.
22624         Add :set function.
22625         (tramp-prefix-port-format): Simplify.
22626         (tramp-file-name-regexp-separate): Remove.
22627         (tramp-initial-file-name-regexp)
22628         (tramp-completion-file-name-regexp-old-style)
22629         (tramp-initial-completion-file-name-regexp): New defconst.
22630         (tramp-prefix-format, tramp-prefix-regexp)
22631         (tramp-method-regexp, tramp-postfix-method-format)
22632         (tramp-postfix-method-regexp, tramp-prefix-ipv6-format)
22633         (tramp-prefix-ipv6-regexp, tramp-postfix-ipv6-format)
22634         (tramp-postfix-ipv6-regexp)
22635         (tramp-postfix-host-format, tramp-postfix-host-regexp)
22636         (tramp-remote-file-name-spec-regexp)
22637         (tramp-file-name-structure, tramp-file-name-regexp)
22638         (tramp-completion-file-name-regexp)
22639         (tramp-rfn-eshadow-update-overlay-regexp): Change them to be defuns.
22640         (tramp-tramp-file-p, tramp-find-method)
22641         (tramp-dissect-file-name, tramp-make-tramp-file-name)
22642         (tramp-completion-make-tramp-file-name)
22643         (tramp-rfn-eshadow-update-overlay)
22644         (tramp-register-autoload-file-name-handlers)
22645         (tramp-register-file-name-handlers)
22646         (tramp-unload-file-name-handlers)
22647         (tramp-completion-handle-file-name-all-completions)
22648         (tramp-completion-dissect-file-name, tramp-clear-passwd):
22649         * lisp/net/tramp-ftp.el (tramp-ftp-file-name-handler):
22650         * lisp/net/tramp-sh.el (tramp-sh-handle-vc-registered)
22651         (tramp-compute-multi-hops): Use them.
22653 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
22655         Implement special sigma casing rule  (bug#24603)
22657         In Greek, a sigma character has two lower case forms which depend on
22658         their position in the word.  Implement logic determining it.
22660         * src/casefiddle.c (struct casing_context, case_character_impl): Don’t
22661         assume inword is true when flag is CASE_UP and false when flag is
22662         CASE_DOWN.  For final sigma detection we need this information tracked
22663         reliably;.
22664         (CAPITAL_SIGMA, SMALL_SIGMA, SMALL_FINAL_SIGMA): New macros defining
22665         Unicode code point of different forms of sigma letter.
22666         (case_character): Implement support for final sigma casing.
22667         (do_casify_multibyte_string, do_casify_multibyte_region): Update after
22668         changes to case_character.
22670         * test/src/casefiddle-tests.el (casefiddle-tests-casing): Add test
22671         cases for final sigma.
22673 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
22675         Support casing characters which map into multiple code points  (bug#24603)
22677         Implement unconditional special casing rules defined in Unicode standard.
22679         Among other things, they deal with cases when a single code point is
22680         replaced by multiple ones because single character does not exist (e.g.
22681         ‘fi’ ligature turning into ‘FL’) or is not commonly used (e.g. ß turning
22682         into SS).
22684         * admin/unidata/SpecialCasing.txt: New data file pulled from Unicode
22685         standard distribution.
22686         * admin/unidata/README: Mention SpecialCasing.txt.
22688         * admin/unidata/unidata-gen.el (unidata-gen-table-special-casing,
22689         unidata-gen-table-special-casing--do-load): New functions generating
22690         ‘special-uppercase’, ‘special-lowercase’ and ‘special-titlecase’
22691         character Unicode properties built from the SpecialCasing.txt Unicode
22692         data file.
22694         * src/casefiddle.c (struct casing_str_buf): New structure for
22695         representing short strings used to handle one-to-many character
22696         mappings.
22698         (case_character_imlp): New function which can handle one-to-many
22699         character mappings.
22700         (case_character, case_single_character): Wrappers for the above
22701         functions.  The former may map one character to multiple (or no)
22702         code points while the latter does what the former used to do (i.e.
22703         handles one-to-one mappings only).
22705         (do_casify_natnum, do_casify_unibyte_string,
22706         do_casify_unibyte_region): Use case_single_character.
22707         (do_casify_multibyte_string, do_casify_multibyte_region): Support new
22708         features of case_character.
22709         * (do_casify_region): Updated to reflact do_casify_multibyte_string
22710         changes.
22712         (casify_word): Handle situation when one character-length of a word
22713         can change affecting where end of the word is.
22715         (upcase, capitalize, upcase-initials): Update documentation to mention
22716         limitations when working on characters.
22718         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties):
22719         Add test cases for the newly introduced character properties.
22720         (casefiddle-tests-casing): Update test cases which are now passing.
22722         * test/lisp/char-fold-tests.el (char-fold--ascii-upcase,
22723         char-fold--ascii-downcase): New functions which behave like old ‘upcase’
22724         and ‘downcase’.
22725         (char-fold--test-match-exactly): Use the new functions.  This is needed
22726         because otherwise fi and similar characters are turned into their multi-
22727         -character representation.
22729         * doc/lispref/strings.texi: Describe issue with casing characters versus
22730         strings.
22731         * doc/lispref/nonascii.texi: Describe the new character properties.
22733 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
22735         Split up casify_region function  (bug#24603)
22737         No functional changes at this time but splitting casify_region into
22738         a function dealing with multibyte and another dealing with unibyte
22739         buffers will make future code changes slightly easier.
22741         * src/casefiddle.c (casify_region): Move most of the code into two
22742         new functions:
22743         (do_casify_multibyte_region, do_casify_unibyte_region): new functions.
22745 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
22747         Add support for title-casing letters  (bug#24603)
22749         * src/casefiddle.c (struct casing_context, prepare_casing_context): Add
22750         titlecase_char_table member.  It’s set to the ‘titlecase’ Unicode
22751         property table if capitalization has been requested.
22752         (case_character): Make use of the titlecase_char_table to title-case
22753         initial characters when capitalising.
22755         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
22756         casefiddle-tests-casing): Update test cases which are now passing.
22758 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
22760         Introduce case_character function
22762         Move single-character casing logic into a separate function so that
22763         it is collected in a single place.  This will make future changes to
22764         the logic easier.  This commit introduces no functionality changes.
22766         * src/casefiddle.c (struct casing_context, prepare_casing_context): New
22767         structure for saving casing context and function to initialize it.
22768         (case_character): New function which cases character base on provided
22769         context.
22770         (do_casify_integer, do_casify_multibyte_string,
22771         do_casify_unibyte_string, casify_object, casify_region): Convert to
22772         use casing_context and case_character.
22774 2017-04-06  Michal Nazarewicz  <mina86@mina86.com>
22776         Split casify_object into multiple functions
22778         casify_object had three major cases to cover and those were mostly
22779         independent of each other.  Move those branches to separate function
22780         so it’s easier to comprehend each individual case.
22782         While at it, use somewhat more descriptive ch and cased variable names
22783         rather than c and c1.
22785         This commit introduces no functional changes.
22787         * src/casefiddle.c (casify_object): Split into…
22788         (do_casify_integer, do_casify_multibyte_string,
22789         do_casify_unibyte_string): …new functions.
22791 2017-04-06  Lars Brinkhoff  <lars@nocrew.org>
22793         Update documentation for type semantics of records.
22795         * doc/lispref/objects.texi (Record Type): improve description of what
22796         `type-of' returns for records.
22797         (Type Descriptors): new section.
22798         * doc/lispref/elisp.texi: reference it.
22799         * doc/lispref/records.texi (Records): reference it.  Document
22800         behaviour when type slot is a record.
22802         * admin/alloc-colors.c (Fmake_record, Frecord): mention type desciptors.
22804 2017-04-06  Stefan Monnier  <monnier@iro.umontreal.ca>
22806         * lisp/help-fns.el (describe-symbol): `nil' is not an interesting default.
22808 2017-04-06  Tom Tromey  <tom@tromey.com>
22810         require cl-lib to fix fallout from mhtml series
22812         * lisp/align.el, lisp/calc/calc-embed.el, lisp/cedet/semantic.el,
22813         lisp/emulation/viper.el: Require cl-lib.
22815 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
22817         In CANNOT_DUMP builds, allow editing of files named "dump".
22819         * lisp/loadup.el: Perform the "dump" or "bootstrap" actions like
22820         calling dump-emacs only if dump-emacs is defined; otherwise, don't
22821         treat those command-line argument specially.
22823 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
22825         In CANNOT_DUMP builds, don't prepare for unexec.
22827         Having a command-line argument of "dump" or "bootstrap" would trigger
22828         behavior like not installing signal handlers.  In CANNOT_DUMP modes,
22829         we should get signal handlers installed regardless of whatever funny
22830         file names we decide to edit.
22832         src/emacs.c (main) [CANNOT_DUMP]: Don't enable the "dumping"
22833         alterations to initialization that prepares the process for unexec.
22835 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
22837         Allow a CANNOT_DUMP build to use exec-path during bootstrap.
22839         During a bootstrap, loading rmail.el invokes movemail to determine its
22840         flavor, but call-process doesn't work if exec-path is nil.
22842         * lisp/loadup.el: Only clear exec-path if dumping.
22844 2017-04-06  Ken Raeburn  <raeburn@raeburn.org>
22846         Fix CANNOT_DUMP build on Darwin/macOS.
22848         * src/conf_post.h (malloc, realloc, free) [DARWIN_OS && emacs &&
22849         CANNOT_DUMP]: Don't define as unexec_malloc, etc.
22850         * src/emacs.c (main): Don't call unexec_init_emacs_zone.
22852 2017-04-05  Tom Tromey  <tom@tromey.com>
22854         add two more mhtml tests
22856         * test/manual/indent/html-multi-2.html: New file.
22857         * test/manual/indent/html-multi-3.html: New file.
22859 2017-04-05  Tom Tromey  <tom@tromey.com>
22861         enable mhtml-mode by default
22863         * lisp/files.el (auto-mode-alist): Reference mhtml-mode, not
22864         html-mode.
22865         (magic-fallback-mode-alist): Likewise.
22866         * lisp/net/eww.el (eww-view-source): Use mthml-mode.
22868 2017-04-05  Tom Tromey  <tom@tromey.com>
22870         add mhtml-mode.el
22872         * etc/NEWS: Update.
22873         * lisp/textmodes/mhtml-mode.el: New file.
22874         * test/manual/indent/html-multi.html: New file.
22875         * test/lisp/textmodes/mhtml-mode-tests.el: New file.
22876         * doc/emacs/text.texi (HTML Mode): Mention mhtml-mode.
22878 2017-04-05  Tom Tromey  <tom@tromey.com>
22880         change sgml-mode to help multi-html mode
22882         * lisp/textmodes/sgml-mode.el (sgml-syntax-propertize-rules): New
22883         defconst.
22884         (sgml-syntax-propertize): Use it.
22885         (sgml--find-<>-backward): New function.
22886         (sgml-parse-tag-backward): Use it.
22888 2017-04-05  Tom Tromey  <tom@tromey.com>
22890         make js.el respect prog-first-column
22892         * lisp/progmodes/js.el (js--proper-indentation): Call prog-first-column.
22894 2017-04-05  Tom Tromey  <tom@tromey.com>
22896         make smie.el respect prog-first-column
22898         * lisp/emacs-lisp/smie.el (smie-indent-bob): Call prog-first-column.
22900 2017-04-05  Tom Tromey  <tom@tromey.com>
22902         change viper to use derived-mode-p
22904         * lisp/subr.el (provided-mode-derived-p): New function.
22905         (derived-mode-p): Use it.
22906         * lisp/emulation/viper.el (viper-mode): Use derived-mode-p.
22907         (this-major-mode-requires-vi-state): Use provided-mode-derived-p.
22908         (set-viper-state-in-major-mode): Use derived-mode-p.
22910 2017-04-05  Tom Tromey  <tom@tromey.com>
22912         change align to use derived-mode-p
22914         * lisp/align.el (align-region): Use derived-mode-p.
22916 2017-04-05  Tom Tromey  <tom@tromey.com>
22918         change org to use derived-mode-p
22920         * lisp/org/org-list.el (org-list-insert-radio-list): Use
22921         derived-mode-p.
22922         * lisp/org/org-table.el (orgtbl-setup, orgtbl-toggle-comment): Use
22923         derived-mode-p.
22925 2017-04-05  Tom Tromey  <tom@tromey.com>
22927         change semantic to use derived-mode-p
22929         * lisp/cedet/semantic.el (semantic-new-buffer-fcn): Use derived-mode-p.
22931 2017-04-05  Tom Tromey  <tom@tromey.com>
22933         change calc to use derived-mode-p
22935         * lisp/calc/calc-embed.el (calc-embedded-find-modes)
22936         (calc-embedded-make-info): Use derived-mode-p.
22938 2017-04-05  Tom Tromey  <tom@tromey.com>
22940         change auto-insert to use derived-mode-p
22942         * lisp/autoinsert.el (auto-insert): Use derived-mode-p.
22944 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22946         * lisp/info.el (Info-search): Fix typo in April 1 change.
22948 2017-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22950         Minor cleanups related to type-of
22952         * src/data.c (Frecordp): Rename from Frecordp_p, for consistency.
22953         * src/data.c (syms_of_data):
22954         * src/frame.c (syms_of_frame): Put all the primitive type names
22955         together, under the "Types that type-of returns" comment.
22957 2017-04-05  Glenn Morris  <rgm@gnu.org>
22959         * doc/lispref/package.texi (Package Archives): Mention https.
22961 2017-04-05  Glenn Morris  <rgm@gnu.org>
22963         Advertise https for homepage of gnu.org packages
22965         * lisp/emacs-lisp/package.el (describe-package-1):
22966         Use https, if supported, for the homepage of packages on gnu.org.
22968 2017-04-05  Glenn Morris  <rgm@gnu.org>
22970         Default to https for elpa.gnu.org if gnutls available
22972         * lisp/emacs-lisp/package.el (package-archives):
22973         Default to https for elpa.gnu.org if gnutls is available.  Ref:
22974         https://lists.gnu.org/r/emacs-devel/2015-05/msg00130.html
22976 2017-04-04  Paul Eggert  <eggert@cs.ucla.edu>
22978         Minor simplifications and doc for records
22980         * doc/lispref/records.texi (Records): Mention size limit.
22981         * etc/NEWS: Mention records.
22982         * src/alloc.c (allocate_pseudovector, allocate_record):
22983         Prefer 'PSEUDOVECTOR_SIZE_MASK' to its definiens.
22984         (allocate_record): Check arg range here, not in callers, as this
22985         simplifies the code.  Use allocate_vectorlike instead of
22986         allocate_vector, to avoid duplicate runtime tests.
22987         (Fmake_record, record): Don't mention PSEUDOVECTOR_SIZE_BITS in
22988         the doc string, as it is not visible to the user.
22989         (Fmake_record, record, Fcopy_record):
22990         Prefer make_lisp_ptr to XSETVECTOR.
22991         (record): Broaden memcpy to copy the type, too.
22993 2017-04-04  Eli Zaretskii  <eliz@gnu.org>
22995         Fix recent changes in record data type
22997         * src/alloc.c (Fmake_record, Frecord, Fcopy_record): Avoid
22998         compiler warnings when 'ptrdiff_t' is narrower than 'long int'.
23000 2017-04-04  Philipp Stephani  <phst@google.com>
23002         Make subprocess functions resolve the default directory
23004         `call-process' doesn't respect file name handlers in
23005         `default-directory', so `file-name-non-special' has to resolve them
23006         for `process-file', `start-file-process', and
23007         `shell-command' (Bug#25949).
23009         * lisp/files.el (file-name-non-special): Also resolve default
23010         directory for 'process-file', 'start-file-process', and
23011         'shell-command'.
23012         * test/lisp/files-tests.el
23013         (files-tests--file-name-non-special--subprocess): Add unit test.
23015 2017-04-04  Philipp Stephani  <phst@google.com>
23017         Make ediff handle remote and quoted file names
23019         Quoted file names need to be unquoted before passed to
23020         subprocesses (Bug#25950).
23022         * lisp/vc/ediff-diff.el (ediff-exec-process): Handle remote and quoted
23023         file names.
23024         * test/lisp/vc/ediff-diff-tests.el
23025         (ediff-diff-tests--ediff-exec-process--quoted-file): Add unit test.
23027 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
23029         Backward compatibility with pre-existing struct instances.
23031         * lisp/emacs-lisp/cl-lib.el (cl--old-struct-type-of): New function.
23032         (cl-old-struct-compat-mode): New minor mode.
23034         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Pass `record' to
23035         cl-struct-define to signal use of record objects.
23037         * lisp/emacs-lisp/cl-preloaded.el (cl--struct-get-class,
23038         cl-struct-define): Enable legacy defstruct compatibility.
23040         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-old-struct,
23041         old-struct): New tests.
23043         * doc/lispref/elisp.texi, doc/lispref/records.texi: Document
23044         `old-struct-compat'.
23046 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
23048         Make the URL library use records.
23050         * lisp/url/url.el, lisp/url/url-cache.el, lisp/url/url-dav.el,
23051         lisp/url/url-expand.el, lisp/url/url-file.el, lisp/url/url-imap.el,
23052         lisp/url/url-ldap.el: Use `url-p' instead of `vectorp'.
23054         * lisp/url/url-http.el (url-http): Check for type `url' instead of
23055         `vector'.
23057 2017-04-04  Stefan Monnier  <monnier@iro.umontreal.ca>
23059         Make EIEIO use records.
23061         * lisp/emacs-lisp/eieio-compat.el
23062         (eieio--generic-static-object-generalizer): Adjust to new tags.
23064         * lisp/emacs-lisp/eieio-core.el: Use records, and place the class object
23065         directly as tag.
23066         (eieio--object-class): Adjust to new tag representation.
23067         (eieio-object-p): Rewrite, and adapt to new `type-of' behavior.
23068         (eieio-defclass-internal): Use `make-record'.
23069         (eieio--generic-generalizer): Adjust generalizer code accordingly.
23071         * lisp/emacs-lisp/eieio.el (make-instance, clone): Use copy-record.
23073         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates):
23074         Add `recordp'.
23076         * doc/lispref/records.texi, doc/misc/eieio.texi: Update for records.
23078 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
23080         Make cl-defstruct use records.
23082         * lisp/emacs-lisp/cl-extra.el (cl--describe-class)
23083         (cl--describe-class-slots): Use the new `type-of'.
23085         * lisp/emacs-lisp/cl-generic.el (cl--generic-struct-tag): Use type-of.
23086         (cl--generic-struct-specializers): Adjust to new tag.
23088         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): When type is nil, use records.
23089         Use the type symbol as the tag.  Use copy-record to copy structs.
23090         (cl--defstruct-predicate): New function.
23091         (cl--pcase-mutually-exclusive-p): Use it.
23092         (cl-struct-sequence-type): Can now return `record'.
23094         * lisp/emacs-lisp/cl-preloaded.el (cl--make-slot-desc): Adjust ad-hoc
23095         code to new format.
23096         (cl--struct-register-child): Work with records.
23097         (cl-struct-define): Don't touch the tag's symbol-value and
23098         symbol-function slots when we use the type as tag.
23100         * lisp/emacs-lisp/cl-print.el (cl-print-object): Adjust to new tag.
23102         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-defstruct-record):
23103         New test.
23105         * doc/lispref/records.texi, doc/misc/cl.texi: Update for records.
23107 2017-04-04  Lars Brinkhoff  <lars@nocrew.org>
23109         Add record objects with user-defined types.
23111         * src/alloc.c (allocate_record): New function.
23112         (Fmake_record, Frecord, Fcopy_record): New functions.
23113         (syms_of_alloc): defsubr them.
23114         (purecopy): Work with records.
23116         * src/data.c (Ftype_of): Return slot 0 for record objects, or type
23117         name if record's type holds class.
23118         (Frecordp): New function.
23119         (syms_of_data): defsubr it.  Define `Qrecordp'.
23120         (Faref, Faset): Work with records.
23122         * src/fns.c (Flength): Work with records.
23124         * src/lisp.h (prec_type): Add PVEC_RECORD.
23125         (RECORDP, CHECK_RECORD, CHECK_RECORD_TYPE): New functions.
23127         * src/lread.c (read1): Add syntax for records.
23129         * src/print.c (PRINT_CIRCLE_CANDIDATE_P): Add RECORDP.
23130         (print_object): Add syntax for records.
23132         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-2):
23133         New test.
23135         * test/src/alloc-tests.el (record-1, record-2, record-3):
23136         New tests.
23138         * doc/lispref/elisp.texi, doc/lispref/objects.texi,
23139         doc/lispref/records.texi: Add documentation for records.
23141 2017-04-04  Tino Calancha  <tino.calancha@gmail.com>
23143         Fix a test in python-test.el
23145         Fix a test that breaks the test suite when it is run within a
23146         virtual environment.
23147         See following link for details:
23148         https://lists.gnu.org/r/emacs-devel/2017-03/msg00857.html
23149         * test/lisp/progmodes/python-tests.el
23150         (python-shell-calculate-process-environment-7): Bind
23151         python-shell-virtualenv-root to VIRTUAL_ENV when this var is set; otherwise
23152         bind it to '/env'.
23154 2017-04-04  Noam Postavsky  <npostavs@gmail.com>
23156         Throw a `search-failed' derived error in Info search
23158         The original fix for Bug#6106 switched from signaling `search-failed'
23159         to `user-error'.  However, this breaks incremental searching over
23160         multiple nodes because the isearch code doesn't expect a `user-error'.
23162         * src/search.c (syms_of_search): New error, `user-search-failed',
23163         with `user-error' and `search-failed' as parents.
23164         * doc/lispref/errors.texi (Standard Errors): Document it.
23165         * etc/NEWS: Announce it.
23166         * lisp/info.el (Info-search): Use it instead of `user-error' so that
23167         isearch will handle failed searches correctly.
23169 2017-04-03  Michael Albinus  <michael.albinus@gmx.de>
23171         Add Tramp test
23173         * doc/misc/tramp.texi (Remote processes): Fix typo.
23175         * lisp/shell.el (shell): Fix typo.
23177         * lisp/net/tramp.el (tramp-set-connection-local-variables): Simplify.
23179         * test/lisp/net/tramp-tests.el (tramp-test30-explicit-shell-file-name):
23180         New test.
23181         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
23182         (tramp-test31-vc-registered)
23183         (tramp-test32-make-auto-save-file-name)
23184         (tramp-test33-make-nearby-temp-file)
23185         (tramp-test34-special-characters)
23186         (tramp-test34-special-characters-with-stat)
23187         (tramp-test34-special-characters-with-perl)
23188         (tramp-test34-special-characters-with-ls, tramp-test35-utf8)
23189         (tramp-test35-utf8-with-stat, tramp-test35-utf8-with-perl)
23190         (tramp-test35-utf8-with-ls)
23191         (tramp-test36-asynchronous-requests)
23192         (tramp-test37-recursive-load, tramp-test38-unload): Rename.
23194 2017-04-03  Stefan Monnier  <monnier@iro.umontreal.ca>
23196         * lisp/ses.el: Silence byte-compiler warnings.
23198         (ses-jump, ses-recalculate-cell, ses-define-local-printer): Silence
23199         byte-compiler warnings.
23201 2017-04-02  Glenn Morris  <rgm@gnu.org>
23203         Belated fixes for admin.el's M-x make-manuals-dist
23205         * admin/admin.el (make-manuals-dist-output-variables): Additions.
23206         (make-manuals-dist--1): Also copy docstyle.texi.
23208 2017-04-02  Paul Eggert  <eggert@cs.ucla.edu>
23210         Fix bugs in simplified test dependencies
23212         Problem reported by Glenn Morris in:
23213         https://lists.gnu.org/r/emacs-devel/2017-04/msg00017.html
23214         * test/Makefile.in (LOGFILES, TESTS): Omit leading "./".
23215         (TESTS): Omit unnecessary patsubst.
23216         (test_template): Redo dependency heuristic, hopefully
23217         correctly this time.  It's the .log file that depends,
23218         not the phony test target.  Declare the phonies to be PHONY.
23219         Resurrect the exception for the *-tests subdirectory.
23220         Adjust to the fact that leading "./" is omitted now.
23222 2017-04-02  Wilfred Hughes  <me@wilfred.me.uk>
23224         Fix typo in docstring
23226         * lisp/help.el: Fix typo.
23228 2017-04-02  Michael Albinus  <michael.albinus@gmx.de>
23230         Apply connecion-local variables for shells
23232         * doc/misc/tramp.texi (Remote processes): Show use of connection-local
23233         variables.  Don't mention Emacs 23 anymore.
23234         (Frequently Asked Questions): Precise Emacs and MS Windows version.
23236         * lisp/files-x.el (connection-local-normalize-criteria):
23237         Suppress nil properties.
23238         (connection-local-set-profiles, with-connection-local-profiles):
23239         Adapt docstring.
23241         * lisp/shell.el (shell): Apply connecion-local variables.
23243 2017-04-01  Evgeni Kolev  <evgenysw@gmail.com>  (tiny change)
23245         Propertize only perl prototype chars `][$%&*;+@\' as punctuation
23247         This prevents variables in signatures such as `sub add ($a, $b)' from
23248         being treated as punctuation.
23249         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function):
23250         Strictly match only prototype characters as punctuation.  (Bug#26037)
23252 2017-04-01  Tom Tromey  <tom@tromey.com>
23254         fix two js-mode syntax propertization bugs
23256         Bug#26070:
23257         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): Add
23258         zero-or-one to regular expression.
23259         (js-syntax-propertize-regexp): Update.  Propertize body of regexp
23260         literal up to END.
23261         * test/lisp/progmodes/js-tests.el (js-mode-propertize-bug-1)
23262         (js-mode-propertize-bug-2): New tests.
23264 2017-04-01  Paul Eggert  <eggert@cs.ucla.edu>
23266         Simplify test dependency generation
23268         Generate default dependencies by using GNU extensions to ‘make’
23269         rather than via a hacky auxiliary program and script.
23270         * .gitignore: Remove test/make-test-deps.mk.
23271         * test/Makefile.in (ELFILES, LOGFILES, TESTS):
23272         Use :=, not =, to avoid multiple redundant invocations of ‘find’.
23273         (test_template): Infer dependency directly instead of via
23274         make-test-deps.mk.
23275         (check-doit): Prepend ‘@’ to avoid excessively long ‘make’ output.
23276         (clean): No need to clean make-test-deps.mk.
23277         (make-test-deps.mk): Remove rule.
23278         * test/make-test-deps.emacs-lisp: Remove.
23280 2017-04-01  Stefan Monnier  <monnier@iro.umontreal.ca>
23282         * test/lisp/emacs-lisp/cl-lib-tests.el: Improve symbol-macrolet tests
23284         (cl-lib-symbol-macrolet): Fix last test so it doesn't break the whole
23285         test suite.
23286         (cl-lib-symbol-macrolet-2): New test.
23288 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
23290         Use only posix options in a ediff-ptch test
23292         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
23293         Use just "-b" patch option.  Don't assume a particular suffix for
23294         the backup files.
23296 2017-04-01  Jarno Malmari  <jarno@malmari.fi>
23298         Initial implementation of HTTP Digest qop for url
23300         This also refactors digest authentication functions in url-auth.el.
23302         * lisp/url/url-auth.el (url-digest-auth, url-digest-auth-create-key):
23303         (url-digest-auth-build-response, url-digest-auth-directory-id-assoc):
23304         (url-digest-auth-name-value-string, url-digest-auth-source-creds):
23305         (url-digest-cached-key, url-digest-cache-key, url-digest-find-creds):
23306         (url-digest-find-new-key, url-digest-prompt-creds): Add new functions
23307         to simplify code and aid in unit testing.
23308         (url-digest-auth-build-response): Hook up new functionality, or fall
23309         back to previous.
23310         (url-digest-auth-make-request-digest-qop):
23311         (url-digest-auth-make-cnonce, url-digest-auth-nonce-count):
23312         (url-digest-auth-name-value-string): Add new helper functions.
23313         * test/lisp/url/url-auth-tests.el (url-auth-test-colonjoin):
23314         (url-auth-test-digest-ha1, url-auth-test-digest-ha2):
23315         (url-auth-test-digest-request-digest): Add a few tests as now more
23316         features are testable via intermediate functions.
23317         (url-auth-test-challenges, url-auth-test-digest-request-digest): Test
23318         the new implementation.  Parts of these were accidentally already
23319         merged in the past.
23321 2017-04-01  Tino Calancha  <tino.calancha@gmail.com>
23323         Tweak ediff-ptch test in previous commit a bit more
23325         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
23326         Apply patches without requiring a shell.  Add some comments.
23328 2017-03-31  Glenn Morris  <rgm@gnu.org>
23330         Tweak an ediff-ptch test
23332         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug26084):
23333         Add skip conditions.  Avoid going through shell where not needed.
23335 2017-03-31  Michael Albinus  <michael.albinus@gmx.de>
23337         * lisp/net/tramp-smb.el (tramp-smb-errors):
23339         Add "NT_STATUS_PASSWORD_MUST_CHANGE".
23341 2017-03-31  Stefan Monnier  <monnier@iro.umontreal.ca>
23343         * test/lisp/emacs-lisp/cl-lib-tests.el (cl-lib-symbol-macrolet): New test.
23345 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
23347         dired-mark-suffix: New command
23349         Now dired-mark-extension prepends '.' to extension when not present.
23350         Add command dired-mark-suffix to preserve the previous
23351         behaviour (Bug#25942).
23352         * lisp/dired-x.el (dired-mark-suffix): New command;
23353         mark files ending in a given suffix.
23354         (dired--mark-suffix-interactive-spec): New defun.
23355         (dired-mark-extension, dired-mark-suffix): Use it.
23356         * doc/misc/dired-x.texi (Advanced Mark Commands): Update manual.
23357         * test/lisp/dired-x-tests.el: New test suite; add test for these features.
23359 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
23361         default-directory: Remark that it must be a directory name
23363         * src/buffer.c (default-directory): Update docstring (Bug#26272).
23365 2017-03-31  Tino Calancha  <tino.calancha@gmail.com>
23367         Delete confuse statement in manual
23369         * doc/misc/cl.texi (For Clauses): Delete confuse statement
23370         and its example (Bug#23550).
23372 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
23374         Use find -delete if available
23376         This shortens the ‘make’ output and should avoid some
23377         repetitive scanning of directories during a build.
23378         * configure.ac (FIND_DELETE): New var.
23379         * lisp/Makefile.in (compile-always, bootstrap-clean):
23380         * test/Makefile.in (clean, bootstrap-clean): Use it.
23381         * test/Makefile.in (ELCFILES, LOGSAVEFILES): Remove; no longer needed.
23383 2017-03-31  Mark Oteiza  <mvoteiza@udel.edu>
23385         Remove gnus-boundp
23387         * lisp/gnus/gnus-start.el (gnus-display-time-event-handler): Use
23388         bound-and-true-p.
23389         * lisp/gnus/gnus-util.el (gnus-boundp): Remove.
23391 2017-03-31  Niels Möller  <nisse@lysator.liu.se>  (tiny change)
23393         Stop `fixup-whitespace' adding trailing whitespace (Bug#18783)
23395         * lisp/simple.el (fixup-whitespace): Insert no spaces if point is at
23396         end of line after deleting horizontal whitespace.
23398 2017-03-31  Paul Eggert  <eggert@cs.ucla.edu>
23400         * src/inotify.c (add_watch): Add comment.
23402 2017-03-31  Andreas Politz  <politza@hochschule-trier.de>
23404         Minor filenotify.el fixes
23406         * lisp/filenotify.el: Require subr-x.
23407         (file-notify-callback): Use equal, not eq.
23409 2017-03-31  Noam Postavsky  <npostavs@gmail.com>
23411         Improve packaging documentation
23413         * doc/lispref/package.texi (Packaging Basics):
23414         * doc/lispref/tips.texi (Library Headers): Clarify some header
23415         formats, relation between file headers and package
23416         attributes (Bug#13281).
23418 2017-03-31  John Mastro  <john.b.mastro@gmail.com>
23420         Fix a small incompatibility in ibuffer
23422         Translate nil values from column functions to the empty string, so that
23423         subsequent calls to string-width don't signal an error (Bug#26317).
23424         * lisp/ibuffer.el (ibuffer-compile-format): If a column function returns
23425         nil, treat it like the empty string.
23427 2017-03-30  Alan Mackenzie  <acm@muc.de>
23429         Fix C++ fontification problems 500 bytes after typing a space, and other bugs
23431         Also implement the "asymmetric space" rule for fontifying otherwise
23432         ambiguous
23433         declarations/expressions.
23435         * lisp/progmodes/cc-engine.el (c-before-change-check-<>-operators): Don't set
23436         c-new-BEG or c-new-END when there is no need.
23437         (c-forward-decl-or-cast-1): Add "CASE 17.5" to implement the "asymmetric
23438         space" rule.
23440         * lisp/progmodes/cc-fonts.el (c-get-fontification-context): New function,
23441         extracted from c-font-lock-declarations.  Add to this function processing to
23442         make `context' 'decl for lines contained within parens when these are also
23443         declarations.
23444         (c-font-lock-declarations): Call the newly extracted function above in place
23445         of inline code.
23447         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Set point before calling
23448         c-literal-start.
23450         * lisp/progmodes/cc-vars.el (c-asymmetry-fontification-flag): New user option.
23452         * doc/misc/cc-mode.texi (Misc Font Locking): New node documenting the new
23453         "asymmetric fontification" rule, including the variable
23454         c-asymmetric-fontification-flag.
23456 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
23458         Some inotify cleanup
23460         This catches some problems with integer overflow and races
23461         that I noticed in inotify.c after reviewing the changes
23462         installed to fix Bug#26126.
23463         * src/fns.c, src/lisp.h (equal_no_quit): Now extern.
23464         * src/inotify.c (aspect_to_inotifymask):
23465         Check for cycles and for improper lists.
23466         (make_lispy_mask, lispy_mask_match_p): Remove.
23467         All callers changed to use INTEGER_TO_CONS and CONS_TO_INTEGER.
23468         (inotifyevent_to_event, add_watch):
23469         Don’t assume watch descriptors and cookies fit in fixnums.
23470         (add_watch): Use assoc_no_quit, not Fassoc.
23471         Avoid integer overflow in (very!) long-running processes where
23472         the Emacs watch ID could overflow.  Avoid some duplicate code.
23473         (find_descriptor): New function.
23474         (remove_descriptor): First arg is now the returned value from
23475         find_descriptor, rather than the descriptor.  This way, the
23476         value can be removed without calling Fdelete, which might quit.
23477         Wait until the end (when watch_list is consistent) before signaling
23478         any errors.
23479         (remove_watch, inotify_callback):
23480         Use find_descriptor to avoid the need for Fdelete.
23481         (inotify_callback): Use simpler tests for ioctl failure.
23482         Free temporary buffer if signaled, and put it on the stack if small.
23483         Use ssize_t to index through read results, to avoid a cast.
23484         (valid_watch_descriptor): New function, with a tighter check.
23485         (Finotify_rm_watch, Finotify_valid_p): Use it.
23486         (Finotify_valid_p): Use assoc_no_quit and ass_no_quit instead
23487         of Fassoc.  Do not assume the first assoc succeeds.
23488         * test/src/inotify-tests.el (inotify-valid-p-simple):
23489         Add inotify-valid-p tests, some of which dump core without
23490         the fixes noted above.
23492 2017-03-30  Michael Albinus  <michael.albinus@gmx.de>
23494         * lisp/net/tramp-sh.el (tramp-get-remote-locale): Add "C.UTF-8" as candidate.
23496 2017-03-30  Stefan Monnier  <monnier@iro.umontreal.ca>
23498         * lisp/cedet/semantic/wisent/wisent.el (wisent-automaton-p): Use obarrayp.
23500 2017-03-30  Paul Eggert  <eggert@cs.ucla.edu>
23502         Fix assoc_no_quit so that it does not quit
23504         The problem was that it called Fequal, which can quit.
23505         * src/fns.c (enum equal_kind):
23506         New enum, to be used in place of a boolean.
23507         (equal_no_quit): New function.
23508         (Fmemql, Feql): Use it to compare floats, as a minor tuneup.
23509         (assoc_no_quit): Use it to avoid quitting, the main point here.
23510         (internal_equal): Generalize bool to enum equal_kind arg, so that
23511         there are now 3 possibilities instead of 2.  Do not signal an
23512         error if EQUAL_NO_QUIT.  Put the arg before the depth, since depth
23513         should be irrelevant if the arg is EQUAL_NO_QUIT.  All callers
23514         changed.
23516 2017-03-29  Alan Mackenzie  <acm@muc.de>
23518         Amend gitmerge to recognize the injunction "don't merge".
23520         * admin/gitmerge.el (gitmerge-skip-regexp): amend regexp to match "don't" as
23521         well as "do not".
23523 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
23525         Add one more CSS pseudo-class
23527         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Add
23528         `focus-within'.
23530 2017-03-29  Simen Heggestøyl  <simenheg@gmail.com>
23532         Update list of CSS pseudo-classes
23534         * lisp/textmodes/css-mode.el (css-pseudo-class-ids): Update list of
23535         pseudo-classes.
23537 2017-03-29  Noam Postavsky  <npostavs@gmail.com>
23539         Adjust some search failure errors in info.el
23541         * lisp/info.el (Info-select-node): The search for beginning of node is
23542         an internal detail, and is not normally expected to fail, so it should
23543         not be a user error.
23544         (Info-complete-menu-item): Failing to find a menu indicates the user
23545         searched for a menu when there isn't one, so change to `use-error'.
23547 2017-03-28  Alan Mackenzie  <acm@muc.de>
23549         * lisp/progmodes/cc-defs.el (c-version):  Restore c-version to 5.33
23551 2017-03-28  Paul Eggert  <eggert@cs.ucla.edu>
23553         Don’t mishandle (format "%i" -1.0)
23555         * src/editfns.c (styled_format): Treat %i like %d when converting arg.
23557 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
23559         * lisp/emacs-lisp/ert.el (ert-run-tests): Make INTERACTIVE arg optional.
23561 2017-03-28  Michael Albinus  <michael.albinus@gmx.de>
23563         * src/inotify.c (Finotify_add_watch): aspect can also be a symbol.
23565 2017-03-28  Noam Postavsky  <npostavs@gmail.com>
23567         Don't add `search-failed' to ignored errors in info.el (Bug#6106)
23569         * lisp/info.el: Stop adding `search-failed' to `debug-ignored-errors'.
23570         (Info-select-node, Info-search): Replace (signal 'search-failed ...)
23571         with (user-error "Search failed: "...).
23573 2017-03-27  Paul Eggert  <eggert@cs.ucla.edu>
23575         Fix obsolete ‘test/automated’ references
23577         * Makefile.in (mostlyclean, clean, maybeclean_dirs, distclean)
23578         (bootstrap-clean, maintainer-clean):
23579         Clean ‘test’, not ‘test/automated’.  Test for existence of
23580         subdirectory only for ‘test’, not for directories that should
23581         always exist.
23582         * admin/MAINTAINERS, etc/TODO, lisp/emacs-lisp/bytecomp.el:
23583         * lisp/emacs-lisp/seq.el, lisp/emacs-lisp/thunk.el:
23584         * lisp/man.el (Man-parse-man-k):
23585         * lisp/url/url-domsuf.el, make-dist:
23586         * test/file-organization.org:
23587         Fix obsolete references to test/automated.
23589 2017-03-27  Katsumi Yamaoka  <yamaoka@jpl.org>
23591         shr-image-fetched: Work for narrowed Gnus article
23593         See <8737e3msun.fsf@gmail.com> of bug#26231 in the bug-gnu-emacs list.
23595         * lisp/net/shr.el (shr-image-fetched): Work for narrowed article.
23597 2017-03-27  Michael Albinus  <michael.albinus@gmx.de>
23599         * lisp/net/tramp.el (tramp-file-name-handler): Autoload it.
23601 2017-03-27  Eric Abrahamsen  <eric@ericabrahamsen.net>
23603         Expand manual section on quitting windows
23605         * doc/lispref/windows.texi (Quitting Windows): Provide more
23606           information about the elements of the quit-restore window parameter,
23607           and how they affect the behavior of quit-restore-window.
23609 2017-03-26  Philipp Stephani  <phst@google.com>
23611         Add check for expected backtrace in module calls.
23613         * test/manual/cedet/tests/test.el
23614         (mod-test-non-local-exit-signal-test): Compare actual backtrace to
23615         expected backtrace.
23617 2017-03-26  Eli Zaretskii  <eliz@gnu.org>
23619         Fix redisplay glitches due to recent change in redisplay_internal
23621         * src/xdisp.c (redisplay_internal): A better fix for bug#26097.
23622         See https://lists.gnu.org/r/emacs-devel/2017-03/msg00695.html
23623         for the problems caused by the original fix.
23625 2017-03-26  Michael Albinus  <michael.albinus@gmx.de>
23627         Fix Bug#26258
23629         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
23630         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
23631         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
23632         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
23633         Autoload.  Call `tramp-register-foreign-file-name-handler'.  (Bug#26258)
23635         * lisp/net/tramp.el (tramp-autoload-file-name-handler): Remove.
23636         (tramp-register-autoload-file-name-handlers)
23637         (tramp-register-file-name-handlers): Do not handle
23638         `tramp-autoload-file-name-handler' anymore.  Mark `operations'
23639         the handlers are responsible for.
23640         (tramp-register-foreign-file-name-handler): New defun.
23642 2017-03-26  Noam Postavsky  <npostavs@gmail.com>
23644         Fix docstring of dabbrev-abbrev-char-regexp
23646         * lisp/dabbrev.el (dabbrev-abbrev-char-regexp): Using a value of nil
23647         is equivalent to "\\sw\\|\\s_", and has no special behavior.  If the
23648         previous character doesn't match, we search backwards for one that
23649         does, not throw an error.  Replace Lisp example with C based one to
23650         make it clear that "symbol" means a sequence of word and symbol
23651         constituent characters, not a Lisp symbol (Bug#358).
23653 2017-03-26  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
23655         * doc/misc/cl.texi (Iteration Clauses): Clarify example (Bug#19515).
23657 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
23659         Minor fixes for inotify.c and filenotify.el
23661         * lisp/filenotify.el (file-notify--watch-absolute-filename):
23662         Add docstring.
23663         (file-notify-callback): Simplify.
23665         * src/inotify.c (Finotify_add_watch): Adapt docstring.
23667 2017-03-26  Andreas Politz  <politza@hochschule-trier.de>
23669         Fix issues regarding inotify file-notification
23671         Remove special code handling the inotify back-end.
23672         * lisp/filenotify.el (file-notify--watch): New struct
23673         representing a file-watch.
23674         (file-notify-descriptors): Use the new struct as hash-value.
23675         (file-notify-handle-event): Check that event is a cons.
23676         (file-notify--rm-descriptor, file-notify--event-watched-file)
23677         (file-notify--event-file-name, file-notify--event-file1-name)
23678         (file-notify-callback, file-notify-add-watch)
23679         (file-notify-rm-watch, file-notify-valid-p): Use new struct.
23680         Remove special code handling inotify descriptors.  Remove code
23681         handling multiple clients per descriptor.
23682         (file-notify--descriptor): Remove unused function.
23684         Let inotify-add-watch return a unique descriptor on every
23685         call, like every other back-end does (Bug#26126).  Prevent
23686         multiple clients from interfering with each other, when
23687         watching a shared descriptor.
23688         * src/inotify.c (watch_list): Extend the format by including a
23689         id and the provided mask.
23690         (INOTIFY_DEFAULT_MASK): Default mask used for all clients.
23691         (make_watch_descriptor): Removed.
23692         (make_lispy_mask, lispy_mask_match_p): New functions.
23693         (inotifyevent_to_event): Match event against the mask provided
23694         by the client.
23695         (add_watch, remove_descriptor, remove_watch): New functions
23696         for managing the watch_list.
23697         (inotify_callback): Use the new functions.
23698         (Finotify_add_watch, Finotify_rm_watch): Remove deprecated
23699         flags from documentation.  Add check for validity of provided
23700         descriptor.  Use the new functions.  Use the default mask.
23701         (INOTIFY_DEBUG): Add new debug conditional.
23702         (inotify-watch-list, inotify-allocated-p): New debug functions.
23703         (symbol_to_inotifymask, syms_of_inotify): Remove deprecated symbols.
23705         * test/lisp/filenotify-tests.el:
23706         (file-notify-test02-rm-watch): Remove expected failure for inotify.
23708 2017-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
23710         * lisp/emacs-lisp/pcase.el (pcase): Comment debug message (Bug#26177).
23712 2017-03-25  Jens Uwe Schmidt  <ju.schmidt@gmx.de>  (tiny change)
23714         Stop edebug getting stuck on backquote (Bug#23651)
23716         * lisp/emacs-lisp/edebug.el (edebug-read-sexp): Move forward after
23717         reading backquote or comma.
23719 2017-03-25  Eric Abrahamsen  <eric@ericabrahamsen.net>
23721         Expand manual section on quitting windows
23723         * doc/lispref/windows.texi (Quitting Windows): Provide more
23724           information about the elements of the quit-restore window parameter,
23725           and how they affect the behavior of quit-restore-window.
23727 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
23729         Support in ispell.el multiple dictionaries loaded by Hunspell
23731         * lisp/textmodes/ispell.el (ispell-find-hunspell-dictionaries):
23732         Support Hunspell configurations that load more than one dictionary
23733         by default.  Doc fix.  (Bug#25830)
23735 2017-03-25  Michael Albinus  <michael.albinus@gmx.de>
23737         Simplify Tramp autoloading.
23739         * lisp/net/tramp.el (tramp-completion-file-name-handler):
23740         Simplify autoloading.  Give it the `operations' property.
23741         (tramp-completion-handle-expand-file-name): Remove.
23743 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
23745         Fix a segfault due to failure to realize some faces
23747         * src/xdisp.c (redisplay_internal): If the frame becomes garbaged
23748         while redisplaying its windows, redisplay all of its windows
23749         again.  (Bug#26097)
23750         (init_iterator): When freeing all realized faces on all frames,
23751         reset the 'face_change' flag of the frame whose window we are
23752         about to iterate.
23754 2017-03-25  Philipp Stephani  <phst@google.com>
23756         Use a named function for 'safe-local-variable
23758         This improves the help screen for `version-control' (Bug#25431).
23760         * lisp/files.el (version-control-safe-local-p): New function.
23761         (version-control): Use it.
23763 2017-03-25  Eli Zaretskii  <eliz@gnu.org>
23765         ;* doc/misc/info.texi (Choose menu subtopic): Improve indexing.  (Bug#26236)
23767 2017-03-25  Helmut Eller  <eller.helmut@gmail.com>
23769         Make it easier to abort a series of tests with C-g
23771         * lisp/emacs-lisp/ert.el (ert-run-tests): Add "interactively" arg.  If
23772         interactively is true and a test was aborted then ask if the remaining
23773         tests should be aborted too.
23774         (ert-run-tests-batch, ert-run-tests-interactively): Pass in
23775         interactively arg.
23777 2017-03-24  Paul Eggert  <eggert@cs.ucla.edu>
23779         Don’t require chown/chgrp for game installation
23781         Problem reported by Joseph Mingrone in:
23782         https://lists.gnu.org/r/emacs-devel/2017-03/msg00622.html
23783         * lib-src/Makefile.in (exp_archlibdir): Don’t fail if chown or
23784         chgrp fails with update-game-score and the game directory.
23785         Instead, expect the installer to fix this up afterwards.
23787 2017-03-24  Stefan Monnier  <monnier@iro.umontreal.ca>
23789         * lisp/emacs-lisp/lisp-mode.el: Don't highlight \( at BOL
23791         (elisp--font-lock-backslash): Extract from lisp-el-font-lock-keywords-2.
23792         Don't highlight \ at BOL.  Don't assume syntax-ppss preserves match-data.
23794 2017-03-23  Philipp Stephani  <phst@google.com>
23796         Protect against an infloop in python-mode
23798         There appears to be an edge case caused by using `syntax-ppss' in a
23799         narrowed buffer during JIT lock inside of Python triple-quote strings.
23800         Unfortunately it is impossible to reproduce without manually
23801         destroying the syntactic information in the Python buffer, but it has
23802         been observed in practice.  In that case it can happen that the syntax
23803         caches get sufficiently out of whack so that there appear to be
23804         overlapping strings in the buffer.  As Python has no nested strings,
23805         this situation is impossible and leads to an infloop in
23806         `python-nav-end-of-statement'.  Protect against this by checking
23807         whether the search for the end of the current string makes progress.
23809         * lisp/progmodes/python.el (python-nav-end-of-statement): Protect
23810         against infloop.
23811         * test/lisp/progmodes/python-tests.el
23812         (python-tests--python-nav-end-of-statement--infloop): Add unit test.
23814 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
23816         * doc/lispref/os.texi (File Notifications):
23818         Strengthen the recommendation to use filenotify.el.
23820 2017-03-23  Paul Eggert  <eggert@cs.ucla.edu>
23822         Merge from gnulib
23824         This incorporates:
23825         2017-03-22 getopt: merge from glibc
23826         * build-aux/config.sub, lib/getopt.c, lib/getopt.in.h:
23827         * lib/getopt1.c, lib/getopt_int.h: Copy from gnulib.
23828         * lib/gnulib.mk.in: Regenerate.
23830 2017-03-23  Michael Albinus  <michael.albinus@gmx.de>
23832         Use lexical-bind in Tramp
23834         * lisp/net/tramp*.el: Add lexical-binding cookie.  Move declarations up.
23836         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names): Use `push'
23837         rather than `add-to-list'.
23838         (tramp-adb-get-device): Remove unused variable.
23840         * lisp/net/tramp-gvfs.el (tramp-gvfs-parse-device-names): Remove unused
23841         variable.
23843         * lisp/net/tramp.el (auto-save-file-name-transforms): Declare.
23844         (tramp-find-file-name-coding-system-alist): Use `push' rather
23845         than `add-to-list'.
23847         * test/lisp/net/tramp-tests.el: Add lexical-binding cookie.
23848         Require 'dired.  Move declarations up.
23849         (tramp-test32-make-nearby-temp-file): Wrap `make-nearby-temp-file'
23850         and `temporary-file-directory' calls with `with-no-warnings'.
23851         (tramp-test35-asynchronous-requests): Mark unused variable.
23853 2017-03-23  Kaushal Modi  <kaushal.modi@gmail.com>
23854             Noam Postavsky  <npostavs@gmail.com>
23856         Do not include comment start chars in ffap string
23858         * lisp/ffap.el (ffap-string-at-point): If the point is in a comment,
23859         ensure that the returned string does not contain the comment start
23860         characters (especially for major modes that have '//' as comment start
23861         characters).  Otherwise, in a major mode like c-mode, with `ido-mode'
23862         enabled and `ido-use-filename-at-point' set to `guess', doing "C-x
23863         C-f" on a "//foo" comment will initiate an attempt to access a path
23864         "//foo" (Bug#24057).
23866 2017-03-23  Martin Rudalics  <rudalics@gmx.at>
23868         c:/Temp/gtk-window-move/ChangeLog.txt
23870 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
23872         Fix filenotify.el issue for kqueue
23874         * lisp/filenotify.el (file-notify-add-watch): Use directory
23875         for remote file name handlers.
23877         * test/lisp/filenotify-tests.el (file-notify-test01-add-watch):
23878         Create/delete temporary file only for "kqueue".
23879         (file-notify-test02-rm-watch): Create/delete temporary files.
23881 2017-03-22  Michael Albinus  <michael.albinus@gmx.de>
23883         Extend `file-notify-test02-rm-watch'
23885         * test/lisp/filenotify-tests.el (file-notify-test02-rm-watch):
23886         Expect it failed for inotify.  Divide tests into different
23887         `unwind-protect' clauses.  Check, that removing watch
23888         descriptors out of order do not harm.  (Bug#26126)
23890 2017-03-22  Noam Postavsky  <npostavs@gmail.com>
23892         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-subsexp): Test for Bug#26187
23894 2017-03-22  Graham Dobbins  <gdobbins@protonmail.com>  (tiny change)
23896         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Fix null endpos case
23898 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
23900         Improve configure --with-pop etc. diagnostics
23902         * configure.ac: Improve diagnostics re --with-pop and
23903         --with-mailutils (Bug#26102).
23905 2017-03-21  Eli Zaretskii  <eliz@gnu.org>
23907         Revert "Make --without-pop the default."
23909         This reverts commit 9319de675e395517f9a7b50cae1a3aad9cd0abc2.
23911 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
23913         Don’t remove dependency files when configuring
23915         Problem reported by Tom Tromey in:
23916         https://lists.gnu.org/r/emacs-devel/2017-03/msg00533.html
23917         * configure.ac: Don’t remove */*.o and */deps/* when
23918         --enable-autodepend is in effect.
23920 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
23922         Make --without-pop the default.
23924         Suggested by Angelo Graziosi in:
23925         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
23926         * configure.ac: Change the default from --with-pop to
23927         --without-pop.  Adjust diagnostics to match.
23929 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
23931         Streamline dependency-file generation
23933         * configure.ac (AUTODEPEND_PARENTS): New var.
23934         mkdir the dependency directories here, to simplify ‘make’.
23935         Remove dependency files just before outputting Makefiles, so that
23936         they are preserved if ‘configure’ exits early due to some other problem.
23937         * lib/Makefile.in, lwlib/Makefile.in, oldXMenu/Makefile.in:
23938         * src/Makefile.in: Adjust deps strategies to be similar, as follows:
23939         (MKDEPDIR): Remove.  All uses removed.  This cuts down on the
23940         number of processes spun off by ‘make’.
23941         (clean mostlyclean): Remove $(DEPDIR) contents, not $(DEPDIR) itself.
23942         (distclean): Remove $(DEPDIR) itself.
23943         * lwlib/Makefile.in (all): Move to front, so that depdir includes
23944         do not alter default action.
23946 2017-03-21  Paul Eggert  <eggert@cs.ucla.edu>
23948         Port and simplify example sh script
23950         * doc/misc/org.texi (noweb-ref): Simplify shell script example and
23951         don’t use ‘tail -1’, which is not portable.
23953 2017-03-21  Noam Postavsky  <npostavs@gmail.com>
23955         Narrow scope of modification hook renabling in org-src fontification
23957         Modification hooks should be enabled while modifying text in the
23958         org-src temp buffer, but in 2017-01-29 "Call modification hooks in
23959         org-src fontify buffers" the hooks were enabled also for modifications
23960         to the original org buffer.  This causes fontification errors when
23961         combined with certain packages, as reported in
23962         https://lists.gnu.org/r/emacs-orgmode/2017-03/msg00420.html.
23964         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Reduce scope
23965         of inhibit-modification-hooks let-binding.
23967 2017-03-21  Tino Calancha  <tino.calancha@gmail.com>
23969         epatch: Save right backups in Git multipatches
23971         Multipatches on N Git files save wrong backups for
23972         N-1 files; only the last one has a correct backup (Bug#26084).
23973         * lisp/vc/diff-mode.el (diff-file-junk-re): Add 'Prereq: '
23974         * lisp/vc/ediff-ptch.el (ediff-map-patch-buffer): Use 'diff-file-junk-re'.
23975         * test/lisp/vc/ediff-ptch-tests.el (ediff-ptch-test-bug25010):
23976         Rename from ibuffer-test-bug25010.
23977         (ediff-ptch-test-bug26084): New test.
23979 2017-03-21  Michael R. Mauger  <michael@mauger.com>
23981             * lisp/progmodes/sql.el: Version 3.6
23983             (sql-login-params): Added :must-match for completition of
23984             `server' and `database' login parameters.
23985             (sql-sqlite-login-params, sql-postgres-login-params): Set
23986             :must-match to `confirm'.
23987             (sql-get-login-ext): Use :must-match value to control
23988             `read-file-name' or `completing-read'.
23989             (sql-connect): Added optional BUF-NAME parameter; Reworked
23990             connection variable processing; Pass buffer name to
23991             `sql-product-interactive'.
23992             (sql-product-interactive): Pass buffer name along.
23993             (sql-comint): Add optional BUF-NAME and calculate reasonable default.
23994             (sql-comint-oracle, sql-sybase-comint, sql-comint-informix)
23995             (sql-comint-sqlite, sql-comint-mysql, sql-comint-solid)
23996             (sql-comint-ingres, sql-comint-ms, sql-comint-postgres)
23997             (sql-comint-interbase, sql-comint-db2, sql-comint-linter)
23998             (sql-comint-vertica): Add optional BUF-NAME, pass to
23999             `sql-comint'.
24000             (sql-oracle--list-oracle-name): New function.
24001             (sql-oracle-list-all): Use it.
24002             (sql-oracle-completion-object): Enhanced.
24004 2017-03-20  Vincent Belaïche  <vincentb1@users.sourceforge.net>
24006         Solve ses-recalculate-cell updating only current line bug.
24008         * lisp/ses.el (ses-recalculate-cell): Add optional argument
24009         ses--curcell to avoid overwriting ses--curcell when function is
24010         called from ses-recalculate-all.  Update docstring accordingly.
24011         (ses-recalculate-all): Call ses-recalculate-cell with argument
24012         ses--curcell to avoid its overwriting.
24014 2017-03-20  Paul Eggert  <eggert@cs.ucla.edu>
24016         Fix problem with out-of-date dependencies
24018         Problem reported by Robert Marshall in:
24019         https://lists.gnu.org/r/emacs-devel/2017-03/msg00501.html
24020         Although this problem has been with us for a while, the recent
24021         change from Automake to GNU Make exposed it again.
24022         * configure.ac (AUTO_DEPEND): When autodepending, clean out any
24023         leftover dependency and object files, since the previous sources'
24024         dependencies may disagree with the current ones.  Reconfiguring
24025         typically needs to force a rebuild anyway.
24027 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
24029         Simpler filter implementation
24031         * lisp/play/dunnet.el (dun-endgame-question): Get or set
24032         dun-endgame-questions one time only.  Use dolist and an index to
24033         prune the list.
24035 2017-03-20  Mark Oteiza  <mvoteiza@udel.edu>
24037         * lisp/button.el (forward-button): Use user-error instead.
24039 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24041         Merge from gnulib
24043         This gets Emacs working again with HP-UX Itanium cc.
24044         It incorporates:
24045         2017-03-19 stdalign: tweak version# and test for HP-UX IA64
24046         2017-03-18 stdalign: restore previous behavior for HP-UX IA64
24047         2017-03-17 stat-time, timespec: Support header files in C++ mode
24048         2017-03-17 stdalign: Make it work with HP-UX cc
24049         2017-03-17 flexmember: try to detect HP-UX 11.31 cc bug
24050         2017-03-16 stdint: Fix test compilation failure with HP-UX 11 cc.
24051         2017-03-14 gnulib-tool: don't produce tests with only snippets
24052         2017-03-14 limits-h: Make it work with HP-UX cc.
24053         * etc/PROBLEMS: Remove now-obsolete entry for HP-UX 11.31.
24054         * lib/gnulib.mk.in, m4/gnulib-comp.m4: Regenerate.
24055         * lib/limits.in.h, lib/stat-time.h, lib/stdalign.in.h:
24056         * lib/stdint.in.h, lib/timespec.h, m4/flexmember.m4, m4/stdalign.m4:
24057         Copy from gnulib.
24059 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24061         * ChangeLog.2: Merge from emacs-25.
24063 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24065         Fixups after merge from emacs-25
24067         * etc/NEWS: Remove stray entry.
24068         * etc/NEWS.25: Copy from Emacs emacs-25 etc/NEWS.
24069         * lisp/textmodes/rst.el (rst-package-emacs-version-alist):
24070         Make it nondecreasing.
24072 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24074         Merge from origin/emacs-25
24076         d71e071 Improve documentation of interactive "r".
24078 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24080         Merge from origin/emacs-25
24082         a094732 * etc/PROBLEMS: Say that HP-UX cc doesn't work.
24083         1925dd9 Fix duplicate wording in Emacs manual
24084         6de8429 * lisp/paren.el (show-paren--default, show-paren-function): A...
24085         2d671fd Fix wording in Emacs manual
24086         a8766a2 Document how to customize input methods
24087         6eb8995 * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
24088         aceac95 Fix warning message about native completion (Bug#25984)
24089         a314c1f Clarify documentation of 'raise' and 'height' display specs
24090         f366f6e Mention problems with GPaste in PROBLEMS
24091         6e788ef ; etc/PROBLEMS: Explain about the python+libedit problem (Bug...
24092         6406618 Fix doc strings in info.el
24093         c1ed152 ; * src/keyboard.c (Fposn_at_point): Fix last change.
24094         eed9677 Fix doc string of 'posn-at-point'
24095         0d5957e Documentation fix in elisp reference manual
24097 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24099         Merge from origin/emacs-25
24101         ec4226d * lisp/woman.el (woman): Fix docstring prefix arg description.
24102         2b774fa Mention "editor" in Emacs man page header
24103         ae60d0c Document problems with nerd-fonts
24104         2fdb5a9 ; Details about pinning Emacs to w32 task bar
24105         5c3105e * doc/lispref/modes.texi (Derived Modes): Make example more i...
24106         4c51ef4 Clarify what is the "cursor"
24107         8303c32 ; * etc/NEWS: Copyedits.
24108         3f7493e ; Fix a typo in comment
24109         c54cf8d Improve commentary in lisp.h
24110         8b92f86 ; * admin/make-tarball.txt: Cross-reference admin/release-pro...
24111         0ba9932 Disable native completion for ipython (Bug#25067)
24112         38fc456 Fix a typo in ada-mode manual
24113         00e75ba ; * src/coding.c (Fencode_coding_region): Fix a typo in the d...
24114         a541c21 Clarify documentation of 'bufferpos-to-filepos' and 'filepos-...
24116         # Conflicts:
24117         #       etc/NEWS
24118         #       etc/PROBLEMS
24120 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24122         Merge from origin/emacs-25
24124         02d9ad8 * admin/make-tarball.txt: Add documentation regarding the rel...
24126 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24128         Merge from origin/emacs-25
24130         e1171de * CONTRIBUTE (Documenting your changes): Index new vars/comma...
24132 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24134         Merge from origin/emacs-25
24136         ab0a60a ; * CONTRIBUTE (Generating ChangeLog entries): Drop duplicate...
24137         7e02a47 Index byte-compile-debug
24138         7c1e598 Document `byte-compile-debug' in the ELisp manual
24139         4d81eb4 Document variable `byte-compile-debug'
24140         72ef710 Fix call to debugger on assertion failure
24141         ae8264c Call modification hooks in org-src fontify buffers
24142         b3139da ; Fix last change in doc/lispref/strings.texi
24143         c331f39 Improve documentation of 'format' conversions
24144         9f52f67 Remove stale functions from ert manual
24145         c416b14 Fix a typo in Eshell manual
24146         06695a0 ; Fix a typo in ediff-merg.el
24147         954e9e9 Improve documentation of hooks related to saving buffers
24148         9fcab85 Improve documentation of auto-save-visited-file-name
24149         2236c53 fix typo in mailcap-mime-extensions
24150         85a3e4e Fix typos in flymake.el
24151         a1ef10e More NEWS checking for admin.el's set-version
24153         # Conflicts:
24154         #       lisp/emacs-lisp/bytecomp.el
24156 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24158         Merge from origin/emacs-25
24160         5569e64 ; Spelling fixes
24161         24a5f57 * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (...
24162         9b89896 * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
24163         69b50f5 * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#2...
24164         42eae54 Improve documentation of dabbrevs
24165         b0ade0d Clarify that easy-menu-add is a nop (Bug#25382)
24166         3c69f2c * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fi...
24168         # Conflicts:
24169         #       lisp/textmodes/rst.el
24171 2017-03-19  Paul Eggert  <eggert@cs.ucla.edu>
24173         Merge from origin/emacs-25
24175         0e35405 Improve documentation of coding-systems
24176         c2fd04c Improve definition of 'variable-pitch' face on MS-Windows
24177         16fb50d Fix an error message in python.el
24178         a2a2073 Clarify major mode switching
24179         fc38671 Add helpful comment to compile-command's docstring
24180         ee65d85 Fix ':version' of 'select-enable-primary'
24182 2017-03-19  Paul Pogonyshev  <pogonyshev@gmail.com>
24184         Fix bug in generator function with pcase (Bug#26068)
24186         * lisp/emacs-lisp/cl-macs.el (cl--sm-macroexpand): Remove some calls
24187         to symbol-name.
24189 2017-03-19  Alan Mackenzie  <acm@muc.de>
24191         Fix chaotic indentation of C++ lambda.  Enhance documentation thereof
24193         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): qualify an
24194         invocation of c-on-identifier with a check we're not at the _end_ of an
24195         identifier.
24197         * doc/misc/cc-mode.texi: (Tex title page): Remove @subtitlefont because the
24198         perl versions of texi2dvi haven't implemented it.
24199         (Syntactic Symbols): Note that `inlambda' is also used in C++ Mode, not just
24200         in Pike Mode.
24201         (Statement Block Symbols): Add a section illustrating a C++ lambda function.
24202         (FAQ): Add a question about "excessive" indentation of the contents of a C++
24203         lambda function, and how to get rid of it.
24205 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
24207         Remove unused vars in cl-extra.el and tramp.el.
24209         * lisp/emacs-lisp/cl-extra.el (cl--print-table): Remove unused vars.
24211         * lisp/net/tramp.el (tramp-dissect-file-name): Remove unused `match'.
24212         (outline-regexp, ls-lisp-use-insert-directory-program): Declare.
24213         (tramp-find-foreign-file-name-handler): Mark unused arg, remove unused `v`.
24215 2017-03-19  Stefan Monnier  <monnier@iro.umontreal.ca>
24217         Improve describe-symbol's layout of slots when describing types
24219         * lisp/emacs-lisp/cl-extra.el (cl--print-table): New function.
24220         (cl--describe-class-slots): Use it.
24222 2017-03-18  Michael Albinus  <michael.albinus@gmx.de>
24224         Fix Bug#26156
24226         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist):
24227         <expand-file-name>: Remove handler.  (Bug#26156)
24229 2017-03-18  Stefan Monnier  <monnier@iro.umontreal.ca>
24231         * lisp/obarray.el (obarray-size): Avoid compiler warning.
24233 2017-03-18  Eli Zaretskii  <eliz@gnu.org>
24235         Fix last change in lib/Makefile.in
24237         * lib/Makefile.in (srcdir): Define, as including
24238         $(srcdir)/../nt/gnulib-cfg.mk needs that.
24240 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
24242         * configure.ac: Fix typo in diagnostic.
24244 2017-03-18  Paul Eggert  <eggert@cs.ucla.edu>
24246         Port out-of-source builds to windows-nt
24248         Problem reported by Angelo Graziosi in:
24249         https://lists.gnu.org/r/emacs-devel/2017-03/msg00431.html
24250         * lib/Makefile.in: Prepend $(srcdir) to ../nt/gnulib-cfg.mk,
24251         to handle out-of-source builds if windows-nt.
24253 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
24255         MS-Windows followup for switch from Automake
24257         * nt/INSTALL:
24258         * nt/INSTALL.W64: Remove references to Automake.  (Bug#26100)
24260 2017-03-17  Eli Zaretskii  <eliz@gnu.org>
24262         Improve documentation of interactive "r".
24264         * doc/lispref/commands.texi (Interactive Codes): Mention that mark
24265         must be set for "r" to work.
24267 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
24269         Fixups for GNU Make switchover
24271         This fixes some minor problems introduced in the recent switch to GNU
24272         Make, discovered by further testing.  Without some of these changes
24273         'make -j' would sometimes have race conditions caused by missing
24274         dependencies.  (Bug#26100)
24275         * .gitignore: Remove src/stamp-h.in, src/stamp-h1.
24276         * Makefile.in ($(MAKEFILE_NAME)): Depend on configure, not
24277         src/config.in, since the former's timestamp now represents
24278         the latter's.
24279         ($(srcdir)/configure): Use plain ./autogen.sh, for consistency
24280         with other autogen.sh invocations.
24281         ($(srcdir)/src/stamp-h.in):
24282         Remove rule, as this file is no longer created.
24283         * Makefile.in (top_distclean):
24284         * src/Makefile.in (bootstrap-clean):
24285         No need to remove stamp-h1, as that was an Automake byproduct
24286         and Automake is no longer in use.
24287         * lib/Makefile.in, src/Makefile.in:
24288         (AUTOCONF_INPUTS, $(top_srcdir)/configure): Remove.
24289         (../config.status, Makefile): Simplify by limiting dependencies
24290         to files we care about and files in the repository, and by
24291         using just one file to represent the timestamps on multiple
24292         targets updated by the same rule.
24293         * autogen.sh: Do not create or use src/stamp-h.in.
24294         Instead, have 'find' test the two output files directly.
24296 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
24298         Switch from Automake to GNU Make
24300         Emacs assumes GNU Make, and GNU Make has much of the functionality of
24301         Automake built-in.  The Emacs build process uses Automake primarily
24302         because Emacs uses some Gnulib code and Gnulib formerly required
24303         Automake.  Now that Gnulib no longer requires Automake, Emacs can
24304         stop using Automake and this should simplify Emacs maintenance
24305         in the future (Bug#26100).  Although this patch may look long, most of
24306         it is generated automatically: the changes to build-aux/config.guess,
24307         build-aux/config.sub, build-aux/install-sh, and lib/gnulib.mk.in are
24308         all done by admin/merge-gnulib.
24309         * .gitignore: Remove build-aux/ar-lib, build-aux/compile,
24310         build-aux/config.guess, build-aux/config.sub, build-aux/depcomp,
24311         build-aux/install-sh, build-aux/missing, and lib/Makefile.in,
24312         as they are no longer built by autogen.sh.
24313         Add lib/gnulib.mk, as it is now built by 'configure'.
24314         Remove nt/gnulib.mk, as it is no longer built by 'make'.
24315         * INSTALL.REPO, README, admin/make-tarball.txt:
24316         Remove mention of Automake.
24317         * Makefile.in (AUTOCONF, AUTOMAKE, AUTOHEADER, ACLOCAL, lib)
24318         (AUTOCONF_INPUTS, ACLOCAL_PATH, ACLOCAL_INPUTS)
24319         ($(srcdir)/aclocal.m4, AUTOMAKE_INPUTS)
24320         ($(srcdir)/lib/Makefile.in, $(srcdir)/nt/gnulib.mk, am--refresh):
24321         Remove.
24322         ($(MAKEFILE_NAME)): Depend on lib/gnulib.mk.in.
24323         ($(srcdir)/configure, $(srcdir)/src/stamp-h.in)
24324         ($(srcdir)/src/config.in):
24325         Use autogen.sh instead of doing it by hand.
24326         * admin/merge-gnulib (AVOIDED_MODULES, avoided_flags)):
24327         New vars, to simplify processing of avoided modules.
24328         (GNULIB_TOOL_FLAGS): Move --avoid flags into AVOIDED_MODULES.
24329         Add --gnu-make, and change makefile name to gnulib.mk.in.
24330         Copy config.guess, config.sub, and install-sh too, since
24331         Automake no longer does that for us.
24332         * admin/notes/copyright:
24333         * admin/update_autogen (genfiles):
24334         Update list of files.
24335         Remove hack for nt/gnulib.mk, a file that is no longer needed.
24336         * autogen.sh (progs): Remove Automake.
24337         (automake_min): Remove.
24338         Build aclocal.m4 so that autoreconf need not use aclocal.
24339         * build-aux/config.guess, build-aux/config.sub:
24340         * build-aux/install-sh:
24341         New files, copied from Gnulib.  These are now updated by
24342         admin/merge-gnulib instead by autogen.sh.
24343         * configure.ac (AC_PROG_MAKE_SET, ACLOCAL_PATH, AM_CONDITIONAL):
24344         Remove.
24345         (AM_INIT_AUTOMAKE, AM_SILENT_RULES): Remove call.
24346         (AC_PROG_CC_C_O): Call this instead of AM_PROG_CC_C_O.
24347         (BUILDING_FOR_WINDOWSNT, HYBRID_MALLOC_LIB): Remove; no longer needed.
24348         (--disable-silent-rules): New option, since Automake no longer
24349         does this for us.
24350         (AM_V, AM_DEFAULT_V): Set unconditionally, and do not bother
24351         with AM_SUBST_NOTMAKE.
24352         (AC_PROG_INSTALL): Add call.
24353         (MAKEINFO): Do not bother with the 'missing' program.
24354         (MAKEINFO, SYSTEM_TYPE): AC_SUBST.
24355         (AC_CONFIG_FILES): Add Makefile, lib/gnulib.mk.
24356         (SUBDIR_MAKEFILES): Remove duplication.
24357         * lib/Makefile.am: Remove, replacing with:
24358         * lib/Makefile.in: New file, with the old Makefile.am contents
24359         and with the following changes:
24360         (AUTOMAKE_OPTIONS, BUILT_SOURCES, CLEANFILES, EXTRA_DIST)
24361         (MOSTLYCLEANDIRS, MOSTLYCLEANFILES, noinst_LIBRARIES, SUFFIXES)
24362         (AM_CFLAGS, DEFAULT_INCLUDES, libegnu_a_SOURCES, libegnu_a_LIBADD)
24363         (EXTRA_libegnu_a_SOURCES, libegnu_a_SHORTNAME, libegnu_a_CPPFLAGS):
24364         Remove.
24365         (VPATH, abs_top_builddir, top_builddir, top_srcdir, all, AM_V_AR)
24366         (AM_V_CC, AM_V_GEN, AM_V_at, DEPDIR, DEPFLAGS, MKDEPDIR, SYSTEM_TYPE)
24367         (libgnu.a, libegnu.a, ETAGS, $(ETAGS), tags, TAGS, clean)
24368         (mostlyclean, distclean, bootstrap-clean, maintainer-clean):
24369         New macros and rules, since Automake no longer does them.
24370         Include ../nt/gnulib-cfg.mk if SYSTEM_TYPE is windows-nt,
24371         instead of including ../nt/gnulib.mk if BUILDING_FOR_WINDOWS_NT.
24372         Include dependency files if AUTO_DEPEND.
24373         (ALL_CFLAGS, AUTOCONF_INPUTS, libgnu_a_OBJECTS, libegnu_a_OBJECTS):
24374         New macros.
24375         (bootstrap-clean): Depend on distclean, not maintainer-clean,
24376         and remove gnulib.mk.
24377         (AUTOCONF_INPUTS, $(top_srcdir)/configure, ../config.status, Makefile):
24378         New macros and rules, copied from ../Makefile.in.
24379         ($(libegnu_a_OBJECTS), $(libgnu_a_OBJECTS)): Depend on BUILT_SOURCES.
24380         (.c.o, e-%.o): New generic rules.
24381         * lib/gnulib.mk: Remove.
24382         * lib/gnulib.mk.in: New file, which is built by autogen.sh
24383         and contains much of what used to be in lib/gnulib.mk.
24384         * m4/gnulib-common.m4: Copy from gnulib.
24385         * make-dist: Do not distribute build-aux/compile, build-aux/depcomp,
24386         build-aux/missing, build-aux/ar-lib, lib/Makefile.am, nt/gnulib.mk,
24387         nt/gnulib-modules-to-delete.cfg.  Distribute lib/Makefile.in,
24388         lib/gnulib.mk.in, and nt/gnulib-cfg.mk instead.
24389         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
24390         (am__v_GEN_1, ${srcdir}/gnulib.mk): Remove.
24391         * nt/gnulib-cfg.mk: New file, which supersedes ...
24392         * nt/gnulib-modules-to-delete.cfg: ... this file, which is removed.
24393         * src/Makefile.in (ACLOCAL_INPUTS): Remove.
24394         (AUTOCONF_INPUTS): Merge ACLOCAL_INPUTS into it.
24395         ($(top_srcdir)/configure, ../config.status, config.in Makefile):
24396         Defer to parent Makefile.
24398 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
24400         Don't suggest Mailutils on MS-Windows
24402         * configure.ac: Don't suggest GNU Mailutils on MS-Windows, as it
24403         hasn't been ported.
24405 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
24407         Fix bug: Range-check integer ‘alpha’ frame parm value
24409         Typo introduced 2013-04-01, "Prefer < to >
24410         in range checks such as 0 <= i && i < N".
24412         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
24414 2017-03-17  Thien-Thi Nguyen  <ttn@gnu.org>
24416         Fix bug: Range-check integer ‘alpha’ frame parm value
24418         Typo introduced 2013-04-01, "Prefer < to >
24419         in range checks such as 0 <= i && i < N".
24421         * src/frame.c (x_set_alpha): Use ‘ialpha’, not ‘alpha’.
24423 2017-03-17  Michael Albinus  <michael.albinus@gmx.de>
24425         Fix Bug#26127
24427         * lisp/filenotify.el (file-notify--rm-descriptor): Check, that
24428         there is a function which could be called.  (Bug#26127)
24430         * test/lisp/filenotify-tests.el (file-notify--test-cleanup):
24431         Clear also `file-notify-descriptors'.
24432         (file-notify--test-make-temp-name): Move up.
24433         (file-notify-test02-rm-watch): New test.
24434         (file-notify-test03-events, file-notify-test04-autorevert)
24435         (file-notify-test05-file-validity)
24436         (file-notify-test06-dir-validity)
24437         (file-notify-test07-many-events, file-notify-test08-backup)
24438         (file-notify-test09-watched-file-in-watched-dir)
24439         (file-notify-test10-sufficient-resources): Rename.
24441 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
24443         * etc/PROBLEMS: Say that HP-UX cc doesn't work.
24445 2017-03-17  Paul Eggert  <eggert@cs.ucla.edu>
24447         Emacs 'movemail' is now a configure-time option
24449         The new configure option --with-mailutils lets the builder say
24450         that Emacs should assume that GNU Mailutils is installed, instead
24451         of continuing to build and install its own limited and insecure
24452         substitute for 'movemail'.
24453         * INSTALL, etc/NEWS, etc/PROBLEMS: Mention --with-mailutils.
24454         * configure.ac: Add --with-mailutils option.
24455         (with_mailutils): New variable.
24456         Do not bother configuring 'movemail' when not building it.
24457         Warn about issues relating to --with-mailutils.
24458         * doc/emacs/rmail.texi (Movemail): Mention --with-mailutils.
24459         (Movemail, Remote Mailboxes): Document port numbers in
24460         POP and IMAP URLs.
24461         * lib-src/Makefile.in (with_mailutils): New macro.
24462         (UTILITIES): Use it.
24464 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
24466         Add obarray-size and fix tests accordingly.  Use obarrayp in cedet.
24468         * lisp/obarray.el (obarray-size): New function.
24470         * lisp/cedet/semantic/lex-spp.el (semantic-lex-spp-symbol)
24471         (semantic-lex-spp-save-table, semantic-lex-spp-macros):
24472         * lisp/cedet/semantic/bovine/c.el (semantic-c-describe-environment):
24473         Use obarrayp.
24475         * test/lisp/obarray-tests.el (obarray-make-default-test)
24476         (obarray-make-with-size-test): Use it.
24478 2017-03-16  Michael Albinus  <michael.albinus@gmx.de>
24480         Document remote file name syntax change
24482         * doc/emacs/files.texi (Remote Files, Quoted File Names):
24483         * doc/misc/org.texi (dir): Change examples to use a method.
24485         * doc/misc/tramp.texi (Top) [trampf]: Remove macro.  Add
24486         `Testing' menu entry.
24487         (History): Fix typos.  Mention syntax change.
24488         (Configuration, Default Host, File name Syntax)
24489         (File name completion, Frequently Asked Questions):
24490         Change examples to use a method.
24491         (External methods, Default Host, Multi-hops, Remote processes):
24492         Fix typos.
24493         (Default Method): Mention pseudo method "-".
24494         (External packages): Rewrite intention of `non-essential'.
24496         * etc/NEWS: Mark recent Tramp entries as documented.
24498 2017-03-16  Stefan Monnier  <monnier@iro.umontreal.ca>
24500         (semantic-lex-type-invalid): Fix nested backquote.
24502         * lisp/cedet/semantic/lex.el: Use lexical-binding.
24503         (semantic-lex-type-invalid): Fix nested backquote.
24504         (semantic-lex-map-symbols, semantic-lex-type-symbol)
24505         (semantic-lex-keyword-symbol): Use obarrayp.
24507 2017-03-15  Michael Albinus  <michael.albinus@gmx.de>
24509         * lisp/ido.el (ido-read-internal, ido-complete): Do not bind `non-essential'.
24511 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
24513         Write a named function
24515         * lisp/comint.el (comint-nonblank-p): New function.
24516         (comint-input-filter): Use it.
24518 2017-03-15  Mark Oteiza  <mvoteiza@udel.edu>
24520         Replace more nested ifs with cond
24522         This is a continuation of 0db5ba4 "Replace nested ifs with cond".
24523         * lisp/play/dunnet.el (dun-special-object, dun-inven, dun-drop):
24524         (dun-drop-check, dun-swim, dun-break): Use when and cond where
24525         appropriate.
24526         (dun-examine): Fix indentation.
24527         (dun-doverb): Use when.
24528         (dun-read-line): Refactor.
24530 2017-03-15  Noam Postavsky  <npostavs@gmail.com>
24532         Recomplexify ‘delete-trailing-whitespace’ by treating \n as whitespace again
24534         Mostly reverts "Simplify ‘delete-trailing-whitespace’ by not treating
24535         \n as whitespace" from 2016-07-04.  Setting \n to non-whitespace
24536         causes the regex engine to backtrack a lot when searching for
24537         "\\s-+$" (Bug#26079).
24539         * lisp/simple.el (delete-trailing-whitespace): Don't change newline
24540         syntax, search for "\\s-$" and then skip backward over trailing
24541         whitespace.
24543 2017-03-14  Paul Eggert  <eggert@cs.ucla.edu>
24545         Merge from gnulib
24547         This incorporates:
24548         2017-03-14 snippets: move unadjusted snippet sources to lib
24549         2017-03-14 gnulib-tool: fix typo in comment output
24550         2017-03-14 snippets: work around GNU Make 3.82 VPATH
24551         2017-03-13 gnulib-tool: minor --gnu-make fixups
24552         2017-03-12 gnulib-tool: new option --gnu-make
24553         * .gitignore: Remove lib/arg-nonnull.h, lib/c++defs.h,
24554         lib/warn-on-use.h.  Change exception from
24555         build-aux/snippet/_Noreturn.h to lib/_Noreturn.h.
24556         * admin/authors.el (authors-renamed-files-regexps):
24557         * admin/notes/copyright, make-dist:
24558         The snippet files moved from build-aux/snippet to lib.
24559         * lib/_Noreturn.h: Rename from build-aux/snippet/_Noreturn.h.
24560         * lib/arg-nonnull.h: Rename from build-aux/snippet/arg-nonnull.h.
24561         * lib/c++defs.h: Rename from build-aux/snippet/c++defs.h.
24562         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
24563         * lib/warn-on-use.h: Rename from build-aux/snippet/warn-on-use.h.
24565 2017-03-14  Eli Zaretskii  <eliz@gnu.org>
24567         Fix duplicate wording in Emacs manual
24569         * doc/emacs/programs.texi (Which Function): Delete duplicate
24570         wording.  (Bug#26098)
24572 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
24574         Reenable lost Tramp test case
24576         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
24577         Reenable lost test case.
24579 2017-03-14  Alan Third  <alan@idiocy.org>
24581         Revert "Remove NSEvent loop from ns_select (bug#25265)"
24583         This reverts commit 3bd2e9e975ed29daaf03ca7559e4664aade0674f.
24585 2017-03-14  Alan Third  <alan@idiocy.org>
24587         Revert "Add missing timeout value in ns_select"
24589         This reverts commit a65236214d9202fb69a6ba5169d4ac1a4bcb0b0d.
24591 2017-03-14  Alan Third  <alan@idiocy.org>
24593         Remove old macOS compatibility code
24595         * src/nsimage.m, src/nsmenu.m, src/nsterm.m: Remove code only for
24596         macOS versions below 10.6 as they are not supported in Emacs 25+.
24598 2017-03-14  Michael Albinus  <michael.albinus@gmx.de>
24600         Tune `tramp-completion-file-name-regexp-unified'
24602         * lisp/net/tramp.el (tramp-completion-file-name-regexp-unified):
24603         Extend this regexp to match also "/".
24605 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
24607         Show ancestor buffer in 3way merges
24609         Add an option ediff-show-ancestor', to control if the ancestor buffer
24610         must be shown in 3way merges (Bug#25493); set it non-nil by default.
24611         Add a toggle to change this option interactively; the original
24612         value of the option is restored on exit.
24614         Update the window setup so that the ancestor buffer is
24615         shown in 3way merges when ediff-show-ancestor is non-nil.
24617         Any operation on ediff windows must take in account the
24618         ancestor window as well, when this is shown.
24620         * lisp/vc/ediff-init.el (ediff-show-ancestor): New option.
24621         (ediff--show-ancestor-orig): New defvar.
24622         * lisp/vc/ediff-wind.el (ediff-window-Ancestor): New defvar.
24623         (ediff-setup-windows-plain-merge, ediff-setup-windows-multiframe-merge):
24624         Display ancestor buffer if ediff-show-ancestor is non-nil.
24625         (ediff-keep-window-config): Expect ancestor window in
24626         ediff-window-config-saved.
24627         (ediff-window-alist): Add entry for the ancestor window.
24628         * lisp/vc/ediff-util.el (ediff-setup-control-buffer):
24629         ediff-window-config-saved contains ancestor window.
24630         (ediff-show-ancestor): Delete this command.
24631         (ediff-setup-keymap): Bind ediff-toggle-show-ancestor to '/' for merge jobs.
24632         (ediff-update-diffs): Compute new diffs using ancestor buffer in 3way merges;
24633         don't cheat it to think that is performing a comparison, that trick is not
24634         necessary anymore: simply call 'ediff-setup-diff-regions-function'
24635         with file-A, file-B and the file ancestor.
24636         (ediff-recenter): Update doc string.  Consider the ancestor buffer.
24637         (ediff--check-ancestor-exists): New defun.
24638         (ediff-toggle-show-ancestor): New command; toggle ediff-show-ancestor.
24639         (ediff--restore-options-on-exit): Restore ediff-show-ancestor on exit.
24640         (ediff-scroll-vertically, ediff-scroll-horizontally)
24641         (ediff-operate-on-windows): Consider the ancestor as well.
24642         * lisp/vc/ediff-help.el (ediff-long-help-message-merge):
24643         List ediff-toggle-show-ancestor.
24644         * doc/misc/ediff.texi (Introduction, Quick Help Commands): Update manual.
24646 2017-03-14  Tino Calancha  <tino.calancha@gmail.com>
24648         diff-mode: Improve default faces for buffer ancestor
24650         * lisp/vc/ediff-init.el (ediff-current-diff-Ancestor)
24651         (ediff-fine-diff-Ancestor): Use defaults consistent with
24652         faces for 'ediff-buffer-A' and 'ediff-buffer-B'.
24654 2017-03-14  Hong Xu  <hong@topbug.net>
24656         * lisp/paren.el (show-paren--default, show-paren-function): Add docstring.
24658 2017-03-13  Paul Eggert  <eggert@cs.ucla.edu>
24660         Fix make-dist typo
24662         * make-dist: Fix typo introduced in the Bug#25895 fix.
24664 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
24666         Fix wording in Emacs manual
24668         * doc/emacs/text.texi (Paragraphs): Fix a garbled sentence.
24669         (Bug#26086)
24671 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
24673         etc/NEWS: Remote file names require a method.
24675 2017-03-13  Michael Albinus  <michael.albinus@gmx.de>
24677         Require method in remote file name syntax
24679         * lisp/minibuffer.el (completion--nth-completion):
24680         Do not bind `non-essential'.
24682         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
24683         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
24684         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
24685         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Do not call
24686         `tramp-check-proper-method-and-host'.
24688         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options): Better traces.
24689         (tramp-maybe-open-connection): Do not use argument for
24690         ´tramp-completion-mode-p'.
24692         * lisp/net/tramp.el (tramp-default-method-marker): New defconst.
24693         (tramp-prefix-format, tramp-postfix-method-format)
24694         (tramp-prefix-ipv6-format, tramp-postfix-ipv6-format)
24695         (tramp-prefix-port-format, tramp-postfix-host-format)
24696         (tramp-file-name-regexp, tramp-completion-file-name-regexp):
24697         Use `eq' instead of `eqal'.
24698         (tramp-method-regexp, tramp-domain-regexp)
24699         (tramp-remote-file-name-spec-regexp)
24700         (tramp-file-name-regexp-unified)
24701         (tramp-completion-file-name-regexp-unified)
24702         (tramp-completion-file-name-regexp-separate): Adapt regexp.
24703         (tramp-completion-file-name-handler-alist)
24704         (tramp-run-real-handler): Autoload them.
24705         (tramp-find-method): Handle `tramp-default-method-marker'.
24706         (tramp-check-proper-method-and-host)
24707         (tramp-completion-run-real-handler): Remove them.
24708         (tramp-error-with-buffer, tramp-connectable-p): Do not use
24709         argument for ´tramp-completion-mode-p'.
24710         (tramp-find-foreign-file-name-handler): Remove COMPLETION
24711         argument.  Do not apply heuristic for completion.
24712         (tramp-file-name-handler): Do not modify `non-essential'.
24713         (tramp-completion-file-name-handler): Change implementation.
24714         (tramp-autoload-file-name-handler)
24715         (tramp-completion-handle-file-name-all-completions):
24716         Call `tramp-run-real-handler'.
24717         (tramp-completion-mode-p): Do not autoload.  Remove argument.
24718         Do not apply heuristic for completion.
24719         (tramp-completion-dissect-file-name): Simplify implementation.
24720         (tramp-handle-file-name-as-directory): Call `tramp-connectable-p'.
24722         * test/lisp/net/tramp-tests.el (tramp-test01-file-name-syntax)
24723         (tramp-test02-file-name-dissect)
24724         (tramp-test03-file-name-defaults)
24725         (tramp-test06-directory-file-name): Adapt to the new syntax.
24726         (tramp-test11-copy-file, tramp-test12-rename-file)
24727         (tramp--test-check-files): Deactivate temporarily tests with
24728         quoted file names.
24729         (tramp-test16-directory-files, tramp-test17-insert-directory):
24730         Adapt tests.
24731         (tramp-test24-file-name-completion): Do not check for
24732         completion mode.
24733         (tramp-test31-make-auto-save-file-name): Deactivate temporarily
24734         two tests.
24736 2017-03-13  Eli Zaretskii  <eliz@gnu.org>
24738         Fix bidi paragraph direction when inserting text at newline
24740         * src/insdel.c (invalidate_buffer_caches): Invalidate the bidi
24741         paragraph cache when inserting immediately after a newline.
24742         (Bug#26083)
24744 2017-03-13  Tino Calancha  <tino.calancha@gmail.com>
24746         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1): Fix regexp.
24748 2017-03-13  Stefan Monnier  <monnier@iro.umontreal.ca>
24750         * lisp/emacs-lisp/cl-print.el (cl-print-compiled): New variable
24752         (cl-print-object) <compiled-function>: Print the docstring and
24753         interactive form.  Obey cl-print-compiled.
24755 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
24757         Fix indent-sexp when called from inside a string (Bug#21343)
24759         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Get initial syntax parse
24760         state from `syntax-ppss'.
24762 2017-03-13  Noam Postavsky  <npostavs@gmail.com>
24764         * lisp/emacs-lisp/lisp-mode.el (indent-sexp): Simplify.
24766         * test/lisp/emacs-lisp/lisp-mode-tests.el (indent-sexp):
24767         (indent-subsexp, indent-sexp-in-string): New tests.
24769 2017-03-12  Stefan Monnier  <monnier@iro.umontreal.ca>
24771         Use switch on pseudovector types; plus cleanups along the way
24773         * src/lisp.h (PSEUDOVECTOR_TYPE): New function, extracted from mark_object.
24774         (PSEUDOVECTOR_TYPEP): Change type of `code'.
24776         * src/alloc.c (sweep_vectors): Remove out-of-date assertion.
24777         (mark_object): Use PSEUDOVECTOR_TYPE.
24779         * src/data.c (Ftype_of): Use switch on pvec type.
24781         * src/print.c (print_object): Use switch on pvec type.
24783         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types):
24784         Add recently added types.
24786 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
24788         Install update-game-score only on request
24790         Most distributions do not install update-game-score properly
24791         due to setuid/setgid complications, so install it only when
24792         the installer specifies a user or group (Bug#25895).
24793         * .gitattributes: Remove lib-src/update-game-score.exe.manifest.
24794         * Makefile.in (gameuser, gamegroup, use_gamedir, PATH_GAME):
24795         New vars.
24796         (epaths-force): Use PATH_GAME.
24797         (uninstall): Remove snake-scores and tetris-scores only if shared.
24798         * configure.ac: Default --with-gameuser to 'no'.
24799         (UPDATE_MANIFEST): Remove.
24800         * etc/NEWS: Mention this.
24801         * lib-src/Makefile.in (UPDATE_MANIFEST): Remove.
24802         (use_gamedir): New macro.
24803         (UTILITIES): Remove update-game-score unless use_gamedir.
24804         (SCRIPTS): Remove $(UPDATE_MANIFEST).
24805         ($(DESTDIR)${archlibdir}): Install game directory program and data
24806         only if use_gamedir.
24807         * lib-src/update-game-score.exe.manifest: Remove, as
24808         update-game-score is no longer installed on MS-Windows.
24809         * lisp/play/gamegrid.el (gamegrid-add-score-with-update-game-score):
24810         Use auxiliary program only if setuid or setgid.
24811         * make-dist: Do not distribute update-game-score.exe.manifest.
24812         * src/callproc.c (init_callproc):
24813         Set Vshared_game_score_directory based on PATH_GAME, not DOS_NT.
24814         (syms_of_callproc): Remove unnecessary initialization of
24815         Vshared_game_score_directory.
24817 2017-03-12  Simen Heggestøyl  <simenheg@gmail.com>
24819         Add `touch-action' to list of CSS properties
24821         * lisp/textmodes/css-mode.el (css-property-alist): Add `touch-action'
24822         property.
24824 2017-03-12  Eli Zaretskii  <eliz@gnu.org>
24826         Teach etags to process ENUM_BF correctly
24828         * lib-src/etags.c (sym_type): New enumeration value st_C_enum_bf.
24829         (hash): Regenerated values for asso_values[] array.
24830         (in_word_set): Update values of TOTAL_KEYWORDS and
24831         MAX_HASH_VALUE.  Add "ENUM_BF" to the wordlist[] array.
24832         (in_enum_bf): New file-global variable.
24833         (consider_token): Skip ENUM_BF if not in a macro definition.
24834         (C_entries): Reset the in_enum_bf flag when past its closing
24835         parenthesis.
24837         * test/manual/etags/ETAGS.good_1:
24838         * test/manual/etags/ETAGS.good_2:
24839         * test/manual/etags/ETAGS.good_3:
24840         * test/manual/etags/ETAGS.good_4:
24841         * test/manual/etags/ETAGS.good_5:
24842         * test/manual/etags/ETAGS.good_6:
24843         * test/manual/etags/CTAGS.good: Adapt to changes in etags.
24845 2017-03-12  Michael Albinus  <michael.albinus@gmx.de>
24847         Use path/to/file instead of path/to.file in tramp.texi
24849         * doc/misc/tramp.texi (Configuration, File name Syntax):
24850         Use path/to/file instead of path/to.file.
24852 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
24854         Remove some stray gnulib files
24856         * admin/merge-gnulib: rm m4/gnulib-tool.m4 too.
24857         (GNULIB_MODULES): Remove unsetenv, as it is not needed and
24858         the --avoid=unsetenv option avoided most of it anyway.
24859         * lib/unsetenv.c, m4/gnulib-tool.m4, m4/setenv.m4: Remove.
24860         * lib/gnulib.mk: Regenerate.
24862 2017-03-12  Paul Eggert  <eggert@cs.ucla.edu>
24864         Merge from gnulib
24866         This incorporates:
24867         2017-03-11 gnulib-common.m4: avoid aclocal.m4 bloat
24868         * doc/misc/texinfo.tex, m4/gnulib-common.m4: Copy from gnulib.
24870 2017-03-12  Glenn Morris  <rgm@gnu.org>
24872         Remove trivial duplication in epg-config
24874         * lisp/epg-config.el (epg-config--program-alist):
24875         Use epg-gpg-minimum-version.
24877 2017-03-12  Glenn Morris  <rgm@gnu.org>
24879         Small epg-find-configuration improvement
24881         * lisp/epg-config.el (epg-find-configuration):
24882         Handle epg-gpg-program customized but not saved.  (Bug#25947)
24884 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
24886         Improve last change
24888         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
24889         Use ppss to check escaping and add help-echo.
24891 2017-03-11  Stefan Monnier  <monnier@iro.umontreal.ca>
24893         Highlight useless backslashes in Elisp strings
24895         * lisp/emacs-lisp/lisp-mode.el (lisp-el-font-lock-keywords-2):
24896         Put warning face on backslashes that have no effect.
24898 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
24900         Document how to customize input methods
24902         * doc/emacs/mule.texi (Input Methods): Document how to customize
24903         input methods.
24905 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
24907         * lisp/net/eww.el (eww-reload): Doc fix.  (Bug#25981)
24909 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
24911         Fix generation of nt/gnulib.mk on macOS
24913         * nt/Makefile.in (${srcdir}/gnulib.mk): Don't use the -f- option
24914         to Sed, as that is not portable with non-GNU Sed variants.
24915         (Bug#26043)
24917 2017-03-11  Eli Zaretskii  <eliz@gnu.org>
24919         Avoid aborts/assertion violations due to 'vim-empty-lines-mode'
24921         * src/xdisp.c (handle_single_display_spec): If position to be
24922         restored after processing the display property comes from an
24923         overlay, protect against that overlay's end point being outside of
24924         the narrowed region.
24925         Reported by Filipe Silva <filipe.silva@gmail.com> in
24926         https://lists.gnu.org/r/emacs-devel/2017-03/msg00176.html.
24928 2017-03-10  Glenn Morris  <rgm@gnu.org>
24930         Small improvement for epa-display-error (bug#24553)
24932         * lisp/epa.el (epa-display-error): Report the actual program in use.
24934 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
24936         Tweak X toolkit code to pacify modern GCC
24938         * lwlib/lwlib-Xaw.c, lwlib/lwlib-Xm.c, lwlib/lwlib.c:
24939         Don’t include <stdlib.h>, since this code now calls emacs_abort
24940         rather than abort.
24941         * lwlib/lwlib-Xaw.c (make_dialog, xaw_generic_callback)
24942         (wm_delete_window):
24943         * lwlib/lwlib-Xm.c (make_menu_in_widget, do_call):
24944         * lwlib/lwlib.c (instantiate_widget_instance, lw_make_widget):
24945         * lwlib/xlwmenu.c (abort_gracefully, draw_separator)
24946         (separator_height, XlwMenuInitialize):
24947         Use emacs_abort, not abort.  Without this change, some calls
24948         to ‘abort’ were invalid, as stdlib.h was not always included.
24949         * src/widget.c (resources, emacsFrameClassRec):
24950         * src/xfns.c (x_window) [USE_X_TOOLKIT]:
24951         * src/xmenu.c (create_and_show_popup_menu) [USE_X_TOOLKIT]:
24952         * src/xterm.c (emacs_options) [USE_X_TOOLKIT}:
24953         (x_term_init) [USE_X_TOOLKIT]:
24954         Cast string constants to char * to pacify --enable-gcc-warnings.
24956 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
24958         * doc/misc/tramp.texi (Android shell setup): Require adb program
24960 2017-03-10  Michael Albinus  <michael.albinus@gmx.de>
24962         Adapt tramp-tests.el
24964         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name)
24965         (tramp-test24-file-name-completion): Call
24966         `tramp-completion-mode-p' with argument.
24968 2017-03-10  Thien-Thi Nguyen  <ttn@gnu.org>
24970         [doc] Replace bindat example: s/fortune cookie/rfc868 payload/
24972         * doc/lispref/processes.texi (Bindat Examples):
24973         Mention two examples in intro blurb; rewrite first example.
24975 2017-03-10  Paul Eggert  <eggert@cs.ucla.edu>
24977         Simplify checks for xdg-open and xdg-email
24979         browse-url's xdg-open detection was too picky on some GNU/Linux
24980         desktops; see Bug#25778.  Simplify the code by assuming xdg-open works
24981         if it is executable, as nowadays this is more likely to be correct than
24982         trying to use heuristics from a few years ago.  Don't test for nohup: it
24983         is ineffective nowadays, as xdg-open's child uses the default action for
24984         SIGHUP even if xdg-open's invoker ignores SIGHUP.  While we're at it,
24985         allow for Wayland here, as "emacs -nw" might be running in a non-X
24986         Wayland terminal.
24987         * lisp/mail/emacsbug.el (report-emacs-bug-can-use-xdg-email):
24988         * lisp/net/browse-url.el (browse-url-can-use-xdg-open):
24989         Simplify to a test for DISPLAY and whether the helper program is
24990         executable.  Allow WAYLAND_DISPLAY as an option.
24992 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
24994         Byte compile cond clauses without any bodies correctly.
24996         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-jump-table): When a
24997         cond clause has no body, push t on to the stack.
24999 2017-03-09  Michael Albinus  <michael.albinus@gmx.de>
25001         Fix bug#23006
25003         * lisp/minibuffer.el (completion--nth-completion):
25004         Let-bind `non-essential'.
25006         * lisp/net/tramp.el (tramp-completion-mode): Fix docstring.
25007         (tramp-completion-mode-p): Optional parameter VEC.  Replace
25008         check for `last-input-event' by analysing VEC argument.
25009         (tramp-error-with-buffer, tramp-file-name-handler)
25010         (tramp-connectable-p, tramp-handle-file-name-as-directory):
25011         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
25013 2017-03-09  Vibhav Pant  <vibhavp@gmail.com>
25015         etc/NEWS: Add entry for new `switch' bytecode.
25017 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
25019         * src/data.c (arithcompare): Add comments.
25021 2017-03-08  Glenn Morris  <rgm@gnu.org>
25023         Update a cl-print test
25025         * test/lisp/emacs-lisp/cl-print-tests.el (cl-print-tests-1):
25026         Update for recent change in cl-print-object function output.
25028 2017-03-08  Sam Steingold  <sds@gnu.org>
25030         Replace change-log-date-face -> change-log-date
25032         This fixes c430f7e23fc2c22f251ace4254e37dea1452dfc3.
25034 2017-03-08  Michael Albinus  <michael.albinus@gmx.de>
25036         Fix bug#26011
25038         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-via-buffer):
25039         Check, whether file is too large.  (Bug#26011)
25041 2017-03-08  Andreas Schwab  <schwab@linux-m68k.org>
25043         * src/data.c (minmax_driver): Use CHECK_NUMBER_OR_FLOAT_COERCE_MARKER.
25044         (Fmax, Fmin): Restore documentation.
25046         * src/data.c (cons_to_unsigned, cons_to_signed, Fstring_to_number): Reorder
25047         comparisons that are written backward.
25049 2017-03-08  Thien-Thi Nguyen  <ttn@gnu.org>
25051         [doc elisp] Add some index entries for "old" advice mechanism
25053         * doc/lispref/functions.texi (Porting old advice):
25054         Add one @cindex and two @findex entries.
25056 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
25058         * etc/NEWS: Adjust to match previous patch.
25060 2017-03-08  Paul Eggert  <eggert@cs.ucla.edu>
25062         min and max should not return markers
25064         Problem reported by Glenn Morris in:
25065         https://lists.gnu.org/r/emacs-devel/2017-03/msg00147.html
25066         * src/data.c (minmax_driver): Convert any marker result to an
25067         integer, since some callers assume this.
25068         * test/src/data-tests.el (data-tests-max, data-tests-min):
25069         Test for this.
25071 2017-03-08  Stefan Monnier  <monnier@iro.umontreal.ca>
25073         * lisp/emacs-lisp/cl-print.el (cl-print-object): Use #f(..) for functions.
25075 2017-03-08  Alan Third  <alan@idiocy.org>
25077         Add missing timeout value in ns_select
25079         * src/nsterm.m (ns_select): Set timeout to distant future when relying
25080         on fd_handler's timeout.
25082 2017-03-07  Glenn Morris  <rgm@gnu.org>
25084         * admin/update_autogen: Ensure nt/gnulib.mk exists, for autoreconf.
25086 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
25088         Remove isnan hack for Solaris 10 gcc 3.4.3
25090         This seems to have been a false alarm (Bug#26018).
25091         * src/data.c (isnan):
25092         * src/floatfns.c (isfinite, isnan):
25093         Use standard implementation if available.
25095 2017-03-07  Eli Zaretskii  <eliz@gnu.org>
25097         Support browsing URLs with embedded spaces on MS-Windows
25099         * lisp/net/browse-url.el (browse-url-default-windows-browser):
25100         Unhex %XX hex-encoded characters, as w32-shell-execute doesn't
25101         support that in file:// URLs.  (Bug#26014)
25103 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
25105         Define copysign on all platforms
25107         * configure.ac (copysign): Remove test.
25108         * src/floatfns.c (signbit): New macro, if not already defined.
25109         (Fcopysign): Use it instead of copysign.
25110         (Fcopysign, syms_of_floatfns): Define the function on all platforms.
25112 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
25114         Revert "Replace ldefs-boot with a much smaller file"
25116         This reverts commit c27b645956a11fab1dd8fa189254d525390958f5.
25118         This commit has been reverted because the new mechanism was too
25119         sensitive to changes in the lisp source, generation of new ldefs-boot
25120         files was platform specific and resulted in warnings about undefined
25121         variables.
25123         See also 11436e2890d.
25125 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
25127         Revert "Record autoloads till emacs dump"
25129         This reverts commit 72c668a9042ac6475eadedfee5c87fb1e6b2d753.
25131         This commit has been reverted because the new mechanism was too
25132         sensitive to changes in the lisp source, generation of new ldefs-boot
25133         files was platform specific and resulted in warnings about undefined
25134         variables.
25136         See also 11436e2890d.
25138 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
25140         Revert "Remove unused ldefs-boot.el"
25142         This reverts commit ef8c9f8fc922b615aca91b47820d1f1900fddc96.
25144         This commit has been reverted because the new mechanism was too
25145         sensitive to changes in the lisp source, generation of new ldefs-boot
25146         files was platform specific and resulted in warnings about undefined
25147         variables.
25149         See also 11436e2890d.
25151 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
25153         Revert "Remove conditional includes from bootstrap"
25155         This reverts commit 1b946305182312faa7fcd838caf55dcb07b2ab04.
25157         This commit has been reverted because the new mechanism was too
25158         sensitive to changes in the lisp source, generation of new ldefs-boot
25159         files was platform specific and resulted in warnings about undefined
25160         variables.
25162         See also 11436e2890d.
25164 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
25166         Revert "Speed generation of ldefs-boot-auto"
25168         This reverts commit 7b5e1c8238ef961fd3305b1dce053b9bced684ba.
25170         This commit has been reverted because the new mechanism was too
25171         sensitive to changes in the lisp source, generation of new ldefs-boot
25172         files was platform specific and resulted in warnings about undefined
25173         variables.
25175         See also 11436e2890d.
25177 2017-03-07  Phillip Lord  <phillip.lord@russet.org.uk>
25179         Revert "Fix minor problems with loaddefs autogeneration"
25181         This reverts commit f2bd2c1e6476acc71e71f6cb2a1c56c5edd900ba.
25183         This commit has been reverted because the new mechanism was too
25184         sensitive to changes in the lisp source, generation of new ldefs-boot
25185         files was platform specific and resulted in warnings about undefined
25186         variables.
25188 2017-03-07  Noam Postavsky  <npostavs@gmail.com>
25190         Set default when asking for send-mail-function (Bug#25874).
25192         * lisp/mail/sendmail.el (sendmail-query-user-about-smtp): Pass first
25193         option as default for `completing-read'.
25195 2017-03-07  Paul Eggert  <eggert@cs.ucla.edu>
25197         min and max now return one of their arguments
25199         * doc/lispref/numbers.texi (Comparison of Numbers):
25200         * etc/NEWS: Document this.
25201         * src/data.c (Amax, Amin): Remove constants.  All uses removed.
25202         (minmax_driver): New function.
25203         (Fmax, Fmin): Use it instead of arith_driver.
25204         * test/src/data-tests.el (data-tests-max, data-tests-min): New tests.
25206 2017-03-06  Alan Third  <alan@idiocy.org>
25208         Remove NSEvent loop from ns_select (bug#25265)
25210         * src/nsterm.m (ns_select): Remove event processing loop and replace
25211         with simple test for a new event.
25213 2017-03-06  Eli Zaretskii  <eliz@gnu.org>
25215         A better fix for bug#25845
25217         * src/xdisp.c (font_for_underline_metrics): New function.
25218         * src/dispextern.h: Add its prototype.
25219         * src/xterm.c (x_draw_glyph_string):
25220         * src/w32term.c (x_draw_glyph_string):
25221         * src/nsterm.m (ns_draw_text_decoration): Call it.  This avoids
25222         having identical code 3 times in 3 different files.
25224 2017-03-06  Noam Postavsky  <npostavs@gmail.com>
25226         Fix warning message about native completion (Bug#25984)
25228         * lisp/progmodes/python.el (python-shell-completion-native-turn-on-maybe):
25229         The relevant variable is `python-shell-completion-native-enable'.
25231 2017-03-06  Tom Tromey  <tom@tromey.com>
25233         Fix typos in EIEIO manual
25235         * doc/misc/eieio.texi (Slot Options, Class Options): Fix typos.
25237 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
25239         Merge from gnulib
25241         This incorporates:
25242         2017-03-04 dtotimespec: simplify
25243         * lib/dtotimespec.c: Copy from gnulib.
25245 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
25247         ffloor etc. now accept only floats
25249         * etc/NEWS: Say why.
25250         * src/floatfns.c (Ffceiling, Fffloor, Ffround, Fftruncate):
25251         Require arg to be float.
25252         * test/src/floatfns-tests.el (fround-fixnum): Check this.
25254 2017-03-05  Eli Zaretskii  <eliz@gnu.org>
25256         Fix display of cursor on underlined text
25258         * src/nsterm.m (ns_draw_text_decoration):
25259         * src/xterm.c (x_draw_glyph_string):
25260         * src/w32term.c (x_draw_glyph_string): Compute the position and
25261         thickness of the underline by looking for the first glyph of the
25262         run of underlined glyphs that includes the glyph string we are
25263         drawing.  (Bug#25845)
25265 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
25267         Add more CL concept index items, print Concept Index
25269         * doc/misc/cl.texi: Print concept index.
25270         (Generalized Variables, Variable Bindings):
25271         (Dynamic Bindings, Function Bindings, Macro Bindings, Conditionals):
25272         (Blocks and Exits, Iteration, Multiple Values): Add concept index
25273         items.
25275 2017-03-05  Mark Oteiza  <mvoteiza@udel.edu>
25277         Add 'loop facility' to the CL concept index
25279         * doc/misc/cl.texi (Loop Facility): Add "loop facility" as a concept
25280         index item.
25282 2017-03-05  martin rudalics  <rudalics@gmx.at>
25284         In `window--display-buffer' fix behavior reported in Bug#25946
25286         * lisp/window.el (window--display-buffer): Set the dedicated
25287         status of the window used and clear its history of previous
25288         buffers also for the case that the window already shows the
25289         buffer to be displayed.  (Bug#25946)
25291 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
25293         Compare and round more carefully
25295         * etc/NEWS: Document this.
25296         * src/data.c (store_symval_forwarding):
25297         * src/sound.c (parse_sound):
25298         Do not botch NaN comparison.
25299         * src/data.c (cons_to_unsigned, cons_to_signed):
25300         Signal an error if a floating-point arg is not integral.
25301         * src/data.c (cons_to_unsigned, cons_to_signed):
25302         * src/fileio.c (file_offset):
25303         Use simpler overflow check.
25304         * src/dbusbind.c (xd_extract_signed, xd_extract_unsigned):
25305         Avoid rounding error in overflow check.
25306         (Fcar_less_than_car): Use arithcompare directly.
25307         * test/src/charset-tests.el: New file.
25309 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
25311         Fewer rounding errors with (format "%f" fixnum)
25313         * etc/NEWS: Document this.
25314         * src/editfns.c (styled_format): When formatting integers via a
25315         floating-point format, use long double instead of double
25316         conversion, if long double’s extra precision might help.
25318 2017-03-05  Paul Eggert  <eggert@cs.ucla.edu>
25320         * src/floatfns.c (Fftruncate): Simplify via emacs_trunc.
25322         * src/editfns.c (styled_format): Omit unnecessary code for "%0d" etc.
25324 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
25326         Clarify documentation of 'raise' and 'height' display specs
25328         * doc/lispref/display.texi (Other Display Specs): Clarify the
25329         effect of 'height' display spec on the following 'raise'.
25330         (Bug#25824)
25332 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
25334         Fix header shown by Info 'L' command
25336         * lisp/info.el (Info-history-find-node): A better heading for the
25337         list of visited nodes.  (Bug#25876)
25339 2017-03-04  K. Handa  <handa@gnu.org>
25341         Add a section about incorrect Bengali rendering.
25343 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
25345         Fix minor problems with loaddefs autogeneration
25347         * admin/ldefs-clean.el (ldefs-clean): Bind coding-system-for-read
25348         and coding-system-for-write, to produce a UTF-8 file with Unix
25349         EOLs on MS-Windows.
25351         * lisp/ldefs-boot-manual.el (image-type): Add autoload cookie.
25353 2017-03-04  David Bremner  <david@tethera.net>  (tiny change)
25355         Fix issues with dedicated windows in shr.el
25357         * lisp/net/shr.el (shr-pixel-buffer-width, shr-render-td-1): Make
25358         the window not dedicated, to avoid errors if it was, before
25359         setting its buffer temporarily.  (Bug#25828)
25361 2017-03-04  Eli Zaretskii  <eliz@gnu.org>
25363         Mention problems with GPaste in PROBLEMS
25365         * etc/PROBLEMS (GPaste): Mention the problem in yanking caused by
25366         GPaste, and its solution.  (Bug#25902)
25368 2017-03-04  Glenn Morris  <rgm@gnu.org>
25370         Avoid duplicate gud menu items with gdb-mi
25372         * lisp/progmodes/gud.el (gud-menu-map): Avoid duplicate "Run"
25373         entries in gdbmi mode.  (Bug#23923)
25375 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
25377         * src/editfns.c (styled_format): Omit unnecessary code.
25379 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
25381         logb now works correctly on large integers
25383         * admin/merge-gnulib (GNULIB_MODULES): Add count-leading-zeros.
25384         * etc/NEWS: Document the change.
25385         * lib/count-leading-zeros.c, lib/count-leading-zeros.h:
25386         * m4/count-leading-zeros.m4: New files, copied from Gnulib.
25387         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
25388         * src/floatfns.c: Include count-leading-zeros.h.
25389         (Flogb): Do not convert fixnum to float before taking the log,
25390         as the rounding error can cause the answer to be off by 1.
25391         * src/lisp.h (EMACS_UINT_WIDTH): New constant.
25392         * test/src/floatfns-tests.el (logb-extreme-fixnum): New test.
25394 2017-03-03  Paul Eggert  <eggert@cs.ucla.edu>
25396         Merge from gnulib
25398         This incorporates:
25399         2017-02-25 maintainer-makefile: Fix AC_PROG_SED with autoconf cache.
25400         2017-02-24 ftoastr: port to -Wdouble-promotion
25401         * lib/ftoastr.c, m4/gnulib-common.m4: Copy from gnulib.
25403 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
25405         Avoid duplicating characters recorded in macros
25407         * src/keyboard.c (record_char): Don't store in macro definitions
25408         characters that came from executing a macro.  (Bug#25860)
25410 2017-03-03  Eli Zaretskii  <eliz@gnu.org>
25412         Fix color component calculations in color.el
25414         * lisp/color.el (color-name-to-rgb): Use 16 bits per color component.
25415         (color-rgb-to-hex): Accept an optional argument
25416         DIGITS-PER-COMPONENT, defaulting to 4, and format the hexadecimal
25417         notation either for 8 or 16 bits per component.  (Bug#25890)
25418         * lisp/net/shr-color.el (shr-color->hexadecimal): Call
25419         color-rgb-to-hex with the optional argument of 2, to match color
25420         processing on the Web.
25422 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
25424         Use lexical binding in benchmark.el
25426         * lisp/emacs-lisp/benchmark.el: Enable lexical binding.
25427         (benchmark-elapse): Use 'declare'.
25428         * test/lisp/emacs-lisp/benchmark-tests.el: Add test suite.
25430 2017-03-03  Noam Postavsky  <npostavs@gmail.com>
25432         Switch pp.el to lexical binding
25434         Additionally, do some minor code cleanup.
25436         * lisp/emacs-lisp/pp.el: Set lexical-binding.
25437         (pp-buffer): Use skip-syntax-forward.
25438         (pp-eval-expression): Use push.
25439         (pp-last-sexp): Use with-syntax-table.
25440         * test/lisp/emacs-lisp/pp-tests.el: New tests.
25442 2017-03-03  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
25444         Fix completing-read call in reb-change-syntax
25446         * lisp/emacs-lisp/re-builder.el (reb-change-syntax): Use 'default' arg
25447         of completing-read.
25449 2017-03-03  Rolf Ade  <rolf@pointsman.de>  (tiny change)
25451         sql-mode w/ sqlite: In-memory database
25453         Enable the usage of an in-memory database. Prior to this, sql-mode w/
25454         sqlite could only be used with file databases.
25455         * lisp/progmodes/sql.el (sql-get-login-ext): Don't expand an empty
25456         file name provided by the user, but call sub-process sqlite with that,
25457         in which case it uses an in-memory database.
25459 2017-03-03  Allen Li  <vianchielfaura@gmail.com>
25461         Stop abbrev-prefix-mark from adding extra newline (Bug#25767)
25463         `abbrev--before-point' does not adjust `pos' to account for when it
25464         deletes the "-" left by abbrev-prefix-mark.  Therefore, when
25465         `abbrev-before-point' goes to restore point, it moves point one
25466         character too far forward.
25468         * lisp/abbrev.el (abbrev--before-point): Adjust pos when deleting "-".
25470 2017-03-03  Tino Calancha  <tino.calancha@gmail.com>
25472         * lisp/subr.el (apply-partially): Move to 'Basic Lisp functions' section.
25474 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
25476         Restore XFLOATINT but with restricted args
25478         Turn instances of extract_float into XFLOAT_DATA when possible,
25479         and to a resurrected XFLOATINT when the arg is a number.
25480         The resurrected XFLOATINT is more like XFLOAT and XINT in
25481         that is valid only if its arg is a number.  This clarifies
25482         the ways in which floats can be extracted at the C level.
25483         * src/editfns.c (styled_format):
25484         * src/floatfns.c (extract_float, Fexpt):
25485         Use XFLOATINT rather than open-coding it.
25486         * src/fns.c (internal_equal):
25487         * src/image.c (imagemagick_load_image):
25488         * src/xdisp.c (resize_mini_window):
25489         Prefer XFLOAT_DATA to extract_float on values known to be floats.
25490         * src/frame.c (x_set_screen_gamma):
25491         * src/frame.h (NUMVAL):
25492         * src/image.c (x_edge_detection, compute_image_size):
25493         * src/lread.c (read_filtered_event):
25494         * src/window.c (Fset_window_vscroll):
25495         * src/xdisp.c (handle_single_display_spec, try_scrolling)
25496         (redisplay_window, calc_pixel_width_or_height, x_produce_glyphs)
25497         (on_hot_spot_p):
25498         Prefer XFLOATINT to extract_float on values known to be numbers.
25499         * src/lisp.h (XFLOATINT): Bring back this function, except
25500         it now assumes its argument is a number.
25502 2017-03-02  Glenn Morris  <rgm@gnu.org>
25504         Ert commands to error if no test at point (bug#25931)
25506         * lisp/emacs-lisp/ert.el (ert-results-mode-menu):
25507         Deactivate some items if no test at point.
25508         (ert--results-test-at-point-no-redefinition):
25509         Add option to signal an error rather than return nil.
25510         (ert-results-pop-to-backtrace-for-test-at-point)
25511         (ert-results-pop-to-messages-for-test-at-point)
25512         (ert-results-pop-to-should-forms-for-test-at-point)
25513         (ert-results-describe-test-at-point): Error if no test at point.
25515 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
25517         Remove XFLOATINT
25519         * src/lisp.h (XFLOATINT): Remove this alias for extract_float.
25520         All callers changed to use extract_float.
25521         * src/frame.h (NUMVAL): Now an inline function, not a macro.
25523 2017-03-02  Paul Eggert  <eggert@cs.ucla.edu>
25525         Fix rounding errors in <, =, etc.
25527         * etc/NEWS: Document this.
25528         * src/bytecode.c (exec_byte_code):
25529         * src/data.c (arithcompare):
25530         Do not lose information when comparing floats to integers.
25531         * test/src/data-tests.el (data-tests-=, data-tests-<)
25532         (data-tests->, data-tests-<=, data-tests->=):
25533         Test this.
25535 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
25537         Fix display of mouse-highlight produced by overlapping overlays
25539         * src/xfaces.c (face_at_buffer_position): If called to find the
25540         mouse-face, only consider the highest-priority source for that
25541         face, and ignore the rest.  Previously, all the mouse-face
25542         definitions at POS were merged in that case.
25543         * src/xdisp.c (note_mouse_highlight): Record the overlay that
25544         specifies mouse-face _after_ clearing the info about the previous
25545         overlay, so as not to clear the information about the just-recorded
25546         overlay.  (Bug#25906)
25548 2017-03-02  Eli Zaretskii  <eliz@gnu.org>
25550         Fix display of strike-through text in variable-height lines
25552         * src/nsterm.m (ns_draw_text_decoration):
25553         * src/xterm.c (x_draw_glyph_string):
25554         * src/w32term.c (x_draw_glyph_string): Fix calculation of the
25555         strike-through y-coordinate for a glyph row which is taller than
25556         the strike-through text.  (Bug#25907)
25558 2017-03-02  Martin Rudalics  <rudalics@gmx.at>
25560         Don't call x_net_wm_state for scroll bar windows (Bug#24963, Bug#25887)
25562         * src/xterm.c (handle_one_xevent): For ConfigureNotify events
25563         don't call x_net_wm_state when the window is a scroll bar window.
25564         (Bug#24963, Bug#25887)
25566 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
25568         gnus-summary-select-article-buffer: Don't re-render existing article
25570         * lisp/gnus/gnus-sum.el (gnus-summary-select-article-buffer):
25571         Don't re-render existing article.
25573 2017-03-02  Katsumi Yamaoka  <yamaoka@jpl.org>
25575         Don't add debbugs address to message body (bug#25896)
25577         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
25578         Don't add debbugs address to message body (bug#25896), and
25579         don't add it to message header either if it already exists.
25581 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
25583         * lisp/cedet/semantic/db-global.el: Make dynbind use explicit
25585         (semanticdb--ih): Declare.
25586         (semanticdb-enable-gnu-global-databases): Use it instead of `ih'.
25587         (semanticdb-enable-gnu-global-in-buffer, semanticdb-get-database-tables)
25588         (semanticdb-find-tags-for-completion-method): Silence compiler warning.
25590 2017-03-02  Stefan Monnier  <monnier@iro.umontreal.ca>
25592         * lisp/help-fns.el (describe-variable): Use cl-print for the value
25594         Use `pp-buffer' rather than `pp' so as to avoid calling prin1 twice.
25596 2017-03-02  Glenn Morris  <rgm@gnu.org>
25598         * test/lisp/net/puny-tests.el: New file.
25600 2017-03-02  Glenn Morris  <rgm@gnu.org>
25602         Small puny.el fix
25604         * lisp/net/puny.el (puny-decode-string-internal):
25605         Handle strings with no ascii parts.  (Bug#23688)
25607 2017-03-02  Glenn Morris  <rgm@gnu.org>
25609         Small recover-this-file improvement
25611         * lisp/files.el (recover-this-file): Explicit error if not
25612         visiting a file.  (Bug#23671)
25614 2017-03-01  Glenn Morris  <rgm@gnu.org>
25616         Fix for coding-system completion (bug#23670)
25618         * lisp/international/mule.el (read-buffer-file-coding-system):
25619         Ensure that completion-pcm--delim-wild-regex is enclosed in parens,
25620         so that completion-pcm--pattern->regex can append "*?".
25622 2017-03-01  Paul Eggert  <eggert@cs.ucla.edu>
25624         Fix rounding error in ‘ceiling’ etc.
25626         Without this fix, (ceiling most-negative-fixnum -1.0) returns
25627         most-negative-fixnum instead of correctly signaling range-error,
25628         and similarly for floor, round, and truncate.
25629         * configure.ac (trunc): Add a check, since Gnulib’s doc says
25630         ‘trunc’ is missing from MSVC 9.  The Gnulib doc says ‘trunc’ is
25631         also missing from some other older operating systems like Solaris
25632         9 which I know we don’t care about any more, so MSVC is the only
25633         reason to worry about ‘trunc’ here.
25634         * src/editfns.c (styled_format): Formatting a float with %c is now an
25635         error.  The old code did not work in general, because FIXNUM_OVERFLOW_P
25636         had rounding errors.  Besides, the "if (FLOATP (...))" was in there
25637         only as a result of my misunderstanding old code that I introduced
25638         2011.  Although %d etc. is sometimes used on floats that represent
25639         huge UIDs or PIDs etc. that do not fit in fixnums, this cannot
25640         happen with characters.
25641         * src/floatfns.c (rounding_driver): Rework to do the right thing
25642         when the intermediate result equals 2.305843009213694e+18, i.e.,
25643         is exactly 1 greater than MOST_POSITIVE_FIXNUM on a 64-bit host.
25644         Simplify so that only one section of code checks for overflow,
25645         rather than two.
25646         (double_identity): Remove.  All uses changed to ...
25647         (emacs_trunc): ... this new function.  Add replacement for
25648         platforms that lack ‘trunc’.
25649         * src/lisp.h (FIXNUM_OVERFLOW_P, make_fixnum_or_float):
25650         Make it clear that the arg cannot be floating point.
25651         * test/src/editfns-tests.el (format-c-float): New test.
25652         * test/src/floatfns-tests.el: New file, to test for this bug.
25654 2017-03-01  Glenn Morris  <rgm@gnu.org>
25656         Small help--loaded-p fix
25658         * lisp/help-fns.el (help--loaded-p): Handle entry in load-history
25659         with nil file name.  (Bug#25847)
25661 2017-03-01  Leo Liu  <sdl.web@gmail.com>
25663         * src/fns.c (Fbuffer_hash): Doc fix.
25665 2017-03-01  Eric Abrahamsen  <eric@ericabrahamsen.net>
25667         Don't use mapconcat with chars in gnus registry marks (Bug#25839)
25669         * lisp/gnus/gnus-registry.el (gnus-registry-article-marks-to-chars):
25670         Instead, use a plain concat, which will create a string out of a list
25671         of characters.
25673 2017-03-01  Noam Postavsky  <npostavs@gmail.com>
25675         Fix epg-tests with dummy-pinentry program (Bug#23619)
25677         * test/data/epg/dummy-pinentry: New file.
25678         * test/lisp/epg-tests.el (with-epg-tests): Add it to gpg-agent.conf
25679         when a passphrase is required.  Add debug declaration.  Set
25680         GPG_AGENT_INFO non-destructively.
25682 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
25684         Speed generation of ldefs-boot-auto
25686         Previously, generation of ldefs-boot-auto required at least one full
25687         bootstrap and, in extreme cases, two. Now, from build system, it
25688         requires the same time as taken to dump Emacs.
25690         * Makefile.in: Remove all calls, pass to src.
25691         * admin/ldefs-clean.el: Update for changed messages.
25692         * lisp/Makefile.in (compile-first-delete): Add.
25693         * lisp/ldefs-boot-auto.el: Update.
25694         * src/Makefile.in (generate-ldefs-boot): Add.
25696 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
25698         Add error handling to magic-mode-alist
25700         * lisp/files.el (set-auto-mode): Add explicit error handling in two
25701           places.
25703 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
25705         Remove conditional includes from bootstrap
25707         Previously, bootstrap-emacs includes optional functionality, depending
25708         on the platform which is not needed for bootstrap function.  As a
25709         result, bootstrap-emacs contains different functions in different
25710         circumstances.  If ldefs-boot-auto.el is generated, then loaded
25711         functions will not be added to ldefs-boot-auto.el, although they may be
25712         required during some builds.  With this change, bootstrap-emacs should
25713         always behave the same way and, therefore, require the same autoloads.
25715          * lisp/loadup.el: No longer load optional includes during bootstrap
25716            dumping.
25717          * lisp/ldefs-boot-auto.el: Regenerate.
25718          * lisp/ldefs-boot-manual.el: Add two autoloads.
25720 2017-02-28  Phillip Lord  <phillip.lord@russet.org.uk>
25722         Do not use find-file non-interactively
25724          * lisp/international/titdic-cnv.el (miscdic-convert): Use
25725            insert-file-contents in place of find-file.
25727 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
25729         * src/xdisp.c (overlay_arrows_changed_p): Fix return value and doc
25731         (update_overlay_arrows): Skip non-markers.
25733 2017-02-28  Ken Brown  <kbrown@cornell.edu>
25735         Try to avoid hang when logging out of MS-Windows
25737         * src/w32term.c (x_update_window_begin, x_update_window_end)
25738         (my_show_window, my_set_window_pos, my_set_focus)
25739         (my_set_foreground_window, my_destroy_window)
25740         (my_bring_window_to_top, x_iconify_frame): Replace calls to
25741         SendMessage by calls to SendMessageTimeout with a 6-second
25742         timeout.  (Bug#25875)
25744 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
25746         * lisp/textmodes/reftex-toc.el (reftex-re-enlarge): Demote errors.
25748 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
25750         * doc/misc/eieio.texi: Update to account for the cl-generic facilities
25752         (Quick Start, Class Options, Generics): Adjust names for cl-generic.
25753         (Methods): Document cl-defmethod.
25754         Explain in more detail the order in which the various
25755         methods are executed.  Document the conditions under which a method
25756         is redefined.  Remove reference to `eieio-generic-call-arglst`.
25757         Don't document the precise return value of cl-next-method-p.
25758         (Static Methods): Adjust to use `subclass` specializer.
25759         (Method Invocation): Use cl-call-next-method and drop mention of :primary.
25760         (Signal Handling, Signals): Adjust names and args for cl-generic; add
25761         cl-no-primary-method.
25762         (CLOS compatibility, Wish List): Adjust to new featureset.
25764 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
25766         * lisp/cedet/mode-local.el (define-mode-local-override): Declare doctring.
25768         * lisp/nxml/nxml-mode.el (nxml-mode): Use new sgml-syntax-propertize.
25770 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
25772         * lisp/textmodes/sgml-mode.el: syntax-propertize <![CDATA and <?..?>
25774         (sgml-syntax-propertize-function): Mark <![CDATA and <?..?>.
25775         (sgml-syntax-propertize-inside): New fun.
25777 2017-02-28  Stefan Monnier  <monnier@iro.umontreal.ca>
25779         * lisp/textmodes/css-mode.el (css-completion-at-point): Auto-insert
25781         ": ;" after completing a property.
25783 2017-02-28  Tino Calancha  <tino.calancha@gmail.com>
25785         Show Ibuffer and jump to line listing current buffer
25787         * lisp/ibuffer.el (ibuffer-jump): New command (Bug#25577).
25789 2017-02-27  Juri Linkov  <juri@linkov.net>
25791         * lisp/vc/add-log.el (change-log-next-buffer): Check if file exists
25793         before adding it to the list of files.
25795 2017-02-27  Juri Linkov  <juri@linkov.net>
25797         Put text properties on query-replace separator string instead of "\0"
25799         * lisp/replace.el (query-replace--split-string):
25800         Split at a substring instead of just character.
25801         (query-replace-read-from): Put text properties on the
25802         separator string instead of "\0".  (Bug#25482)
25804 2017-02-27  Juri Linkov  <juri@linkov.net>
25806         Add file name and its extension to suggestions in dired-mark-files-regexp
25808         * lisp/dired.el (dired-mark-files-regexp): Add file name
25809         and its extension to the list of suggested defaults.  (Bug#25578)
25811 2017-02-27  Chunyang Xu  <mail@xuchunyang.me>  (tiny change)
25813         Prompt default extension in dired-mark-extension
25815         * lisp/dired-x.el (dired-mark-extension): Prompt default extension
25816         based on extension of file at point.  (Bug#25578)
25818 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
25820         Prevent for consing in cl-mapc and cl-mapl
25822         * lisp/emacs-lisp/cl-extra.el (cl--mapcar-many): Add optional arg ACC;
25823         If non-nil, accumulate values in the result (Bug#25826).
25824         (cl-mapc): Do computations inside function instead of call cl-map.
25825         (cl-mapl): Do computations inside function instead of call cl-maplist.
25826         * lisp/emacs-lisp/cl-lib.el (mapcar): Add autoload cookie.
25827         Call cl--mapcar-many with non-nil 3rd argument.
25828         * test/lisp/emacs-lisp/cl-extra-tests.el (cl-extra-test-map)
25829         (cl-extra-test-mapc, cl-extra-test-mapcar, cl-extra-test-mapl)
25830         (cl-extra-test-maplist): New tests.
25832 2017-02-27  Tino Calancha  <tino.calancha@gmail.com>
25834         Choose the right target dir on dired operations
25836         Prevent from changing the input target dir
25837         when dired-dwim-target is non-nil (Bug#25609).
25838         * lisp/dired-aux.el (dired-do-create-files):
25839         If dired-dwim-target is non-nil, then bind 'default' to nil.
25840         * test/lisp/dired-tests.el (dired-test-bug25609): Add test.
25842 2017-02-27  Stefan Monnier  <monnier@iro.umontreal.ca>
25844         * src/xdisp.c (overlay_arrows_changed_p): Fix last change.
25846 2017-02-27  Noam Postavsky  <npostavs@gmail.com>
25848         Don't record eshell/clear "command" in history (Bug#25838)
25850         `eshell/clear' is implemented by sending a series of blank lines,
25851         which is not a useful thing to have in the history.
25853         * lisp/eshell/em-hist.el (eshell-input-filter-default): Use
25854         `string-blank-p' which does check for newlines (even though newlines
25855         have comment-end syntax, not whitespace syntax class).
25856         * lisp/eshell/esh-mode.el (eshell/clear): Remove
25857         `eshell-add-to-history' from `eshell-input-filter-functions' while
25858         sending the blank lines.  This change is needed to solve the bug if
25859         the user customizes `eshell-input-filter' to something that doesn't
25860         filter newlines.
25862 2017-02-26  Paul Eggert  <eggert@cs.ucla.edu>
25864         Remove a few unused C functions
25866         * src/eval.c (let_shadows_global_binding_p):
25867         * src/print.c (write_string):
25868         * src/systhread.c (sys_mutex_destroy, sys_thread_equal):
25869         Remove.
25870         * src/print.c (write_string): Rename from write_string_1.
25871         All uses changed.
25873 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
25875         Avoid segfault in overlay_arrows_changed_p
25877         * src/xdisp.c (overlay_arrows_changed_p): Fix recent change
25878         to avoid a segfault.
25880 2017-02-26  Noam Postavsky  <npostavs@gmail.com>
25882         Don't call package--ensure-init-file if initialized during startup
25884         * lisp/emacs-lisp/package.el (package-initialize): Check
25885         `after-init-time' rather than `load-file-name' to decide if
25886         `package--ensure-init-file' should be called.  Depending on
25887         `load-file-name' will fail if the user calls `pacakge-initialize' in
25888         file which is loaded from the init file (Bug#24643, Bug#25819).
25890 2017-02-26  Eli Zaretskii  <eliz@gnu.org>
25892         Fix display of before- and after-strings at invisible text
25894         * src/xdisp.c (next_overlay_string): Don't raise the
25895         ignore_overlay_strings_at_pos_p flag if the iterator is already
25896         set to continue at a buffer position different from the one
25897         where the overlay strings we just processed were loaded.  (Bug#25856)
25899 2017-02-26  Michael Albinus  <michael.albinus@gmx.de>
25901         Work on `tramp-completion-mode-p'
25903         * etc/NEWS: Say that `tramp-completion-mode' is obsolete.
25905         * lisp/net/tramp.el (tramp-completion-mode): Make it obsolete.
25906         (tramp-completion-mode-p): Reintroduce the check for 'tab.
25908 2017-02-25  Tom Tromey  <tom@tromey.com>
25910         Use font-lock-doc-face in js-mode
25912         Bug#25858:
25913         * lisp/progmodes/js.el (js-font-lock-syntactic-face-function): New
25914         defun.
25915         (js-mode): Use it.
25916         * test/lisp/progmodes/js-tests.el (js-mode-doc-comment-face): New
25917         test.
25919 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
25921         Don't use IP 0.0.0.0 for package test server (Bug#22582)
25923         * test/lisp/emacs-lisp/package-resources/package-test-server.py: Set
25924         'server_address' when port number is given on the command line.  Print
25925         IP and port number as a URL, and flush it after printing.
25926         * test/lisp/emacs-lisp/package-tests.el:
25927         (package-test-update-archives-async): Grab the whole URL from server
25928         output.
25930 2017-02-25  Tom Tromey  <tom@tromey.com>
25932         Add more branch support to vc-dir
25934         Bug#25859:
25935         * lisp/vc/vc-dir.el (vc-dir-mode-map) Add "B" bindings.
25936         * lisp/vc/vc.el (vc-revision-history): New defvar.
25937         (vc-read-revision): Use vc-revision-history.
25938         (vc-print-branch-log): New function.
25939         * doc/emacs/maintaining.texi (VC Directory Commands): Document new
25940         bindings.
25941         * etc/NEWS: Mention new vc-dir bindings.
25943 2017-02-25  Alan Mackenzie  <acm@muc.de>
25945         Allow for the :: operator in C++ "enum class" declarations.
25947         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for
25948         "::".
25950 2017-02-25  Michael Albinus  <michael.albinus@gmx.de>
25952         Fix bug#25854
25954         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls):
25955         Simplify error handling for huge inodes.
25956         (tramp-convert-file-attributes): Handle very huge inodes.  (Bug#25854)
25958 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
25960         Avoid leaving garbage on screen when using 'raise' display property
25962         * src/xdisp.c (display_line): Reset voffset value of the iterator
25963         when it hits ZV, to avoid "inheriting" it to glyph rows past ZV,
25964         which then leaves stuff on screen that needs to be cleared by
25965         redisplay.  (Bug#25855)
25967 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
25969         Fix doc strings in info.el
25971         * lisp/info.el (Info-selection-hook, Info-mode-hook)
25972         (Info-edit-mode-hook): Doc fixes.  (Bug#25794)
25974 2017-02-25  Eli Zaretskii  <eliz@gnu.org>
25976         Fix doc string of 'posn-at-point'
25978         * src/keyboard.c (Fposn_at_point): Clarify the doc string.
25979         (Bug#25796)
25981 2017-02-25  Peder O. Klingenberg  <peder@klingenberg.no>
25983         New option -u / --suppress-output to emacsclient
25985         * lib-src/emacsclient.c (print_help_and_exit, longopts)
25986         (decode_options, main): Implement new option --suppress-output / -u to
25987         suppress printing of eval-results.
25988         * doc/emacs/misc.texi (emacsclient Options): Document the new
25989         "--suppress-output/-u" options.
25990         * etc/NEWS: Mention the new options.
25992 2017-02-25  Noam Postavsky  <npostavs@gmail.com>
25994         Fix scrolling with partial line corner case (Bug#25792)
25996         Also fix up the scrolling tests so that they don't make so many
25997         assumptions about the current window configuration.
25999         * src/xdisp.c (try_window): Take partial line height into account when
26000         comparing cursor position against scroll margin.
26002         * test/manual/scroll-tests.el (scroll-tests-with-buffer-window): Add
26003         HEIGHT argument, to allow setting up window with exact height and
26004         partial line.
26005         (scroll-tests-display-buffer-with-height): New display-buffer action
26006         function.
26007         (scroll-tests-scroll-margin-over-max):
26008         (scroll-tests--scroll-margin-whole-window): Pass HEIGHT to
26009         `scroll-tests--scroll-margin-whole-window'.
26010         (scroll-tests-conservative-show-trailing-whitespace): New test.
26011         (scroll-tests-scroll-margin-negative): Fix line counting.
26012         (scroll-tests--point-in-middle-of-window-p): Set window height
26013         properly.
26015 2017-02-25  Tom Tromey  <tom@tromey.com>
26017         Fix indentation error in js.el
26019         * lisp/progmodes/js.el (js--indent-in-array-comp): Wrap forward-sexp
26020         call in condition-case.
26021         * test/lisp/progmodes/js-tests.el (js-mode-indentation-error): New
26022         test.
26024 2017-02-24  Tom Tromey  <tom@tromey.com>
26026         add "async" and "await" keywords
26028         * lisp/progmodes/js.el (js--keyword-re): Add async, await.
26030 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
26032         Use cl-print for Edebug and EIEIO
26034         * lisp/emacs-lisp/edebug.el (edebug-prin1-to-string): Use cl-print.
26035         (edebug-prin1, edebug-print): Remove.
26037         * lisp/emacs-lisp/eieio.el (object-print): Declare obsolete.
26038         (cl-print-object): Add a method for EIEIO objects.
26039         (eieio-edebug-prin1-to-string): Delete.
26040         (edebug-prin1-to-string): Don't advise any more.
26042         * lisp/emacs-lisp/eieio-datadebug.el (data-debug-insert-object-button):
26043         Replace `object-print' -> `cl-prin1-to-string'.
26045 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
26047         Fix left over uses of `call-next-method'
26049         * lisp/cedet/semantic/db-global.el (object-print):
26050         * lisp/cedet/semantic/db.el (object-print): Use `cl-call-next-method'.
26052 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
26054         Minor redisplay optimizations
26056         * src/frame.c (Ficonify_frame): No need to redisplay everything.
26058         * src/xdisp.c (overlay_arrows_changed_p): Add `set_redisplay' argument.
26059         (redisplay_internal): Use it to avoid redisplaying everything.
26060         (try_window_id): Use it keep the same behavior as before.
26062 2017-02-24  Stefan Monnier  <monnier@iro.umontreal.ca>
26064         * lisp/emacs-lisp/cl-print.el: New file
26066         * lisp/emacs-lisp/nadvice.el (advice--where): New function.
26067         (advice--make-docstring): Use it.
26069         * src/print.c (print_number_index): Don't declare here any more.
26070         (Fprint_preprocess): New function.
26072         * test/lisp/emacs-lisp/cl-print-tests.el: New file.
26074 2017-02-24  Peder O. Klingenberg  <peder@klingenberg.no>
26076         Make calc's least common multiple positive (bug#25255)
26078         * lisp/calc/calc-comb.el (calcFunc-lcm): Return absolute value.
26079         * doc/misc/calc.texi (Combinatorial Functions): Update for the above.
26081 2017-02-24  Tino Calancha  <tino.calancha@gmail.com>
26083         Documentation fix in elisp reference manual
26085         * doc/lispref/macros.texi (Defining Macros): Drop redundant mention
26086         on 'declare' forms (Bug#25846).
26088 2017-02-24  Gemini Lasswell  <gazally@runbox.com>
26090         Support read syntax for circular objects in Edebug (Bug#23660)
26092         * lisp/emacs-lisp/edebug.el (edebug-read-special): New name
26093         for edebug-read-function. Handle the read syntax for circular
26094         objects.
26095         (edebug-read-objects): New variable.
26096         (edebug-read-and-maybe-wrap-form1): Reset edebug-read-objects.
26098         * src/lread.c (Fsubstitute_object_in_subtree): Make
26099         substitute_object_in_subtree into a Lisp primitive.
26101 2017-02-24  Lixin Chin  <lixinchin@gmail.com>  (tiny change)
26103         Add Conference to the list of valid bibtex entry types
26105         * lisp/textmodes/bibtex.el (bibtex-BibTeX-entry-alist):
26106         Add Conference as a duplicate of InProceedings.  (Bug#25143)
26108 2017-02-23  Glenn Morris  <rgm@gnu.org>
26110         * lisp/comint.el (comint-password-prompt-regexp): Add SUDO. (Bug#24817)
26112 2017-02-23  Glenn Morris  <rgm@gnu.org>
26114         Small dunnet score file improvements
26116         * lisp/play/dunnet.el (dun-log-file): Switch to per-user default.
26117         (dun-do-logfile): Handle non-existing score file.
26119 2017-02-23  Glenn Morris  <rgm@gnu.org>
26121         * lisp/play/dunnet.el (dun-help): Doc fix.
26123 2017-02-23  Mark Oteiza  <mvoteiza@udel.edu>
26125         Declare dun-line and dun-line-list
26127         Previously, there were free variables 'line' and 'line-list'.
26128         * lisp/play/dunnet.el (dun-line, dun-line-list): New variables.
26129         (dun-press, dun-vparse, dun-parse2, dun-unix-parse, dun-batch-parse):
26130         (dun-batch-parse2, dun-batch-loop, dun-batch-dos-interface):
26131         (dun-batch-unix-interface): Use them.
26133 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
26135         Merge from gnulib
26137         This incorporates:
26138         2017-02-16 xbinary-io: rename from xsetmode
26139         2017-02-15 xsetmode: new module
26140         * lib-src/etags.c (main):
26141         * lib-src/hexl.c (main):
26142         * src/emacs.c (main) [MSDOS]:
26143         Prefer set_binary_mode to the obsolescent SET_BINARY.
26144         * lib/binary-io.c, lib/binary-io.h: Copy from gnulib.
26146 2017-02-23  Paul Eggert  <eggert@cs.ucla.edu>
26148         hexl: handle large files and I/O errors
26150         * lib-src/hexl.c: Include inttypes.h, for PRIxMAX etc.
26151         Do not include ctype.h, as the code no longer uses isdigit.
26152         (DEFAULT_GROUPING, un_flag, iso_flag, group_by): Now local to ‘main’.
26153         (DEFAULT_BASE, endian): Remove; was not really used.
26154         (usage): Remove; now done by ‘main’, as that’s simpler.
26155         (progname): Now static.
26156         (output_error, hexchar): New functions.
26157         (main): Use them.  Simplify.  Remove "-oct", "-big-endian", and
26158         "-little-endian" options, as they did not work and were not used.
26159         Use SET_BINARY only on stdin, and fopen with "rb" otherwise.
26160         Use SET_BINARY only once on stdout.
26161         Do not assume file offsets fit in ‘long’.
26162         If an I/O error occurs, report it and exit with nonzero status.
26164 2017-02-23  Eli Zaretskii  <eliz@gnu.org>
26166         Avoid quitting inside a critical section on MS-Windows
26168         * src/w32uniscribe.c (uniscribe_list_family):
26169         * src/w32font.c (w32font_list_family, w32font_text_extents)
26170         (w32font_list_internal, w32font_match_internal)
26171         (list_all_matching_fonts): Prevent quitting while these functions
26172         cons lists of fonts, to avoid leaving the critical section taken
26173         by the main thread, which will then cause any other thread
26174         attempting to enter the critical section to hang.  (Bug#25279)
26176 2017-02-22  Dmitry Gutov  <dgutov@yandex.ru>
26178         Use revision-completion-table in vc-retrieve-tag
26180         * lisp/vc/vc.el (vc-retrieve-tag): Use the
26181         revision-completion-table command for completion (bug#25710).
26183 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
26185         * lisp/emacs-lisp/cl-generic.el (cl--generic-typeof-types): Add `atom'
26187         remove entries whose car can't be returned by type-of.
26188         (cl--generic-all-builtin-types): New var.
26189         (cl-generic-generalizers): Use it to avoid requiring
26190         extra entries in cl--generic-typeof-types.
26192 2017-02-22  Noam Postavsky  <npostavs@gmail.com>
26194         Find macro binding for symbol-bound macros too (Bug#6848)
26196         There are 2 ways to bind a macro: with global-set-key or
26197         kmacro-bind-to-key.  The former binds a key to a symbol, while the
26198         latter binds to a lambda.  In 2010-03-03 "Fix keyboard macro key
26199         lookup (Bug#5481)", `insert-kbd-macro' was fixed to detect the lambda
26200         case, but broke the symbol case.
26202         * lisp/macros.el (insert-kbd-macro): Also check for bindings of
26203         MACRONAME.
26205 2017-02-22  Stefan Monnier  <monnier@iro.umontreal.ca>
26207         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Fix last change
26209 2017-02-22  Juri Linkov  <juri@linkov.net>
26211         * lisp/isearch.el (lazy-highlight-max-at-a-time): Doc fix (bug#21092).
26213 2017-02-22  Juri Linkov  <juri@linkov.net>
26215         * lisp/isearch.el (isearch-lazy-highlight): New choice ‘all-windows’.
26217         (isearch-lazy-highlight-update): Check it to decide whether to apply
26218         overlays only on the selected window.
26220         * lisp/follow.el (follow-mode): Set isearch-lazy-highlight to ‘all-windows’.
26221         (Bug#17453, bug#21092)
26223 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
26225         Minor weak hash table performance tweaks
26227         * src/fns.c (make_hash_table): Omit unnecessary assignment to
26228         h->next_weak when the hash table is not weak.
26229         (copy_hash_table): Put the copy next to the original in the
26230         weak_hash_tables list, as this should have better locality
26231         when scanning the weak hash tables.
26233 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
26235         Use float instead of Lisp_Object for rehash_size
26237         * src/alloc.c (purecopy_hash_table):
26238         * src/fns.c (maybe_resize_hash_table, Fmake_hash_table):
26239         (Fhash_table_rehash_size):
26240         * src/lisp.h (struct Lisp_Hash_Table.rehash_size):
26241         The rehash_size member of struct Lisp_Hash_Table is now a
26242         float, not a Lisp_Object.
26243         * src/alloc.c (purecopy_hash_table): Assign members in order.
26244         * src/fns.c (make_hash_table): Use EMACS_INT for size and
26245         float for rehash_size, instead of Lisp_Object for both.
26246         All callers changed.
26247         * src/lisp.h (DEFAULT_REHASH_SIZE): Now float, not double,
26248         and 1 smaller.
26249         * src/print.c (print_object): Simplify by calling
26250         Fhash_table_rehash_size and Fhash_table_rehash_threshold.
26251         Avoid unnecessary NILP.
26253 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
26255         Use ptrdiff_t instead of Lisp_Object for collision
26257         * src/alloc.c (purecopy_hash_table): Assign, don’t purecopy.
26258         * src/fns.c (set_hash_next_slot, set_hash_index_slot): Hash index
26259         arg is now ptrdiff_t index (or -1 if empty), not Lisp_Object
26260         integer (or Qnil if empty).  All callers changed.
26261         (larger_vecalloc): New static function.
26262         (larger_vector): Use it.
26263         (HASH_NEXT, HASH_INDEX): Move here from lisp.h.  Return ptrdiff_t
26264         index (or -1) not Lisp_Object integer (or Qnil).  All callers changed.
26265         * src/fns.c (make_hash_table, maybe_resize_hash_table, hash_lookup)
26266         (hash_put, hash_remove_from_table, hash_clear, sweep_weak_table):
26267         * src/profiler.c (evict_lower_half, record_backtrace):
26268         -1, not nil, is now the convention for end of collision list.
26269         * src/fns.c (maybe_resize_hash_table): Avoid double-initialization
26270         of the free list.  Reallocate H->next last, in case other
26271         reallocations exhaust memory.
26272         * src/lisp.h (struct Lisp_Hash_Table): ‘next_free’ is now
26273         ptrdiff_t, not Lisp_Object.  Adjust commentary for ‘next’ and
26274         ‘index’, which no longer contain nil.
26275         (HASH_NEXT, HASH_INDEX): Move to src/fns.c.
26277 2017-02-22  Paul Eggert  <eggert@cs.ucla.edu>
26279         Hash table threshold is now float, not double
26281         Change default from 0.8 to 0.8125 so it fits in float without
26282         rounding glitches.
26283         * doc/lispref/hash.texi (Creating Hash):
26284         * doc/lispref/objects.texi (Hash Table Type):
26285         * etc/NEWS:
26286         Document change.
26287         * src/fns.c (make_hash_table, maybe_resize_hash_table)
26288         (Fmake_hash_table): Threshold is now float, not double.
26289         Be consistent about how this is rounded.
26290         * src/lisp.h (struct Lisp_Hash_Table.rehash_threshold):
26291         Change back to float, now that the other code rounds consistently.
26292         (DEFAULT_REHASH_THRESHOLD): Now float 0.8125 instead of double 0.8.
26294 2017-02-22  Juri Linkov  <juri@linkov.net>
26296         Avoid flicker in lazy-highlight by doing all updates without redisplay.
26298         * lisp/isearch.el (lazy-highlight-max-at-a-time):
26299         Change default value from 20 to nil to not trigger redisplay
26300         between updating iterations.
26301         (lazy-highlight-cleanup): New arg ‘procrastinate’ to not remove
26302         overlays when non-nil.
26303         (isearch-lazy-highlight-new-loop): Call lazy-highlight-cleanup
26304         with non-nil second arg when the search string is not empty.
26305         Run timer with isearch-lazy-highlight-start instead of
26306         isearch-lazy-highlight-update.
26307         (isearch-lazy-highlight-start): New function. (Bug#25751)
26309 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
26311         * lisp/emacs-lisp/autoload.el (make-autoload): Support cl-defgeneric
26313         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): Tweak for autoloading.
26315 2017-02-21  Stefan Monnier  <monnier@iro.umontreal.ca>
26317         * lisp/emacs-lisp/cl-preloaded.el (cl-struct-define): Fix duplication
26319         which resulted in incomplete list of parents in one copy of the
26320         cl-structure-class class.
26322 2017-02-21  Glenn Morris  <rgm@gnu.org>
26324         Tweak recent custom-reevaluate-setting change
26326         * lisp/custom.el (custom-reevaluate-setting):
26327         Tweak previous change to avoid font-lock init issues.
26329 2017-02-21  Glenn Morris  <rgm@gnu.org>
26331         Ensure delayed-init custom variables get marked special
26333         * lisp/custom.el (custom-reevaluate-setting):
26334         If the variable has never been set, defvar it.  (Bug#25770)
26336 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
26338         Turn on lexical-binding in dunnet.el
26340         * lisp/play/dunnet.el: Turn on lexical-binding.  Re-instate lexical
26341         byte compile warnings.
26343 2017-02-21  Mark Oteiza  <mvoteiza@udel.edu>
26345         Make dunnet insertion functions n-ary
26347         * lisp/play/dunnet.el (dun-mprinc, dun-mprincl, dun-minsert):
26348         (dun-minsertl, dun-batch-mprinc, dun-batch-mprincl): Change to accept
26349         any number of arguments.
26350         (dun-parse, dun-describe-room, dun-quit, dun-inven, dun-shake):
26351         (dun-take, dun-go, dun-move, dun-press, dun-score):
26352         (dun-compile-save-out, dun-do-logfile): Collect arguments from
26353         multiple insertion calls into less calls with more args.
26355 2017-02-21  Katsumi Yamaoka  <yamaoka@jpl.org>
26357         message-goto-body-1: Fix regexp so as not to match multi-line
26359         * lisp/gnus/message.el (message-goto-body-1):
26360         Fix regexp so as not to match multi-line.
26362 2017-02-20  Noam Postavsky  <npostavs@gmail.com>
26364         Simplify cl-get using `plist-member'
26366         * lisp/emacs-lisp/cl-extra.el (cl-get, cl-getf, cl--set-getf): Use
26367         `plist-member' instead of explicit loop.
26368         * test/lisp/emacs-lisp/cl-extra-tests.el: New tests.
26370 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
26372         Verify xwidget USE_LSB_TAG assumption
26374         * src/xwidget.c (Fxwidget_webkit_execute_script):
26375         Add verification.  Problem reported by Andreas Schwab (Bug#25816#8).
26377 2017-02-20  Stefan Monnier  <monnier@iro.umontreal.ca>
26379         * src/insdel.c (make_gap): Improve comment.
26381 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
26383         Do not use switch-to-buffer for working in a temp buffer
26385         * lisp/play/dunnet.el (dunnet): Use pop-to-buffer-same-window instead,
26386         cf. Bug#22244.
26387         (dun-load-d, dun-eval, dun-save-game, dun-do-logfile): Use
26388         with-temp-buffer instead.
26390 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
26392         Make dun-room-shorts a defconst
26394         * lisp/play/dunnet.el (dun-room-shorts): Make defconst and collect
26395         initial value into the declaration.
26396         (dun-space-to-hyphen): Remove.
26398 2017-02-20  Paul Eggert  <eggert@cs.ucla.edu>
26400         Port xwidget to -DCHECK_LISP_OBJECT_TYPE
26402         * src/xwidget.c (webkit_javascript_finished_cb)
26403         (Fxwidget_webkit_execute_script): Don't assume Lisp_Object is an
26404         integer.  This fix is just a hack; I’ll file a bug report about
26405         the underlying problem.
26407 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
26409         mm-decode.el: Simplify regexp used to search html meta tag
26411         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag, mm-shr):
26412         Simplify regexp used to search html meta tag.
26414 2017-02-20  Katsumi Yamaoka  <yamaoka@jpl.org>
26416         mm-shr: Ignore coding-system `ascii'
26418         * lisp/gnus/mm-decode.el (mm-shr): Ignore coding-system `ascii'.
26420 2017-02-20  Tom Tromey  <tom@tromey.com>
26422         vc-log-outgoing fixes for git; add binding to vc-dir
26424         * lisp/vc/vc-dir.el (vc-dir-mode-map): Bind "O" to vc-log-outgoing.
26425         * lisp/vc/vc-git.el (vc-git-log-outgoing, vc-git-log-incoming): Use
26426         async execution.
26427         (vc-git-log-view-mode): Also truncate lines for log-outgoing and
26428         log-incoming.
26429         * lisp/vc/vc.el (vc-log-incoming, vc-log-outgoing): Don't pass nil
26430         as remote-location argument.
26432 2017-02-20  Tom Tromey  <tom@tromey.com>
26434         Remove stale comments from vc-git and vc-hg
26436         * lisp/vc/vc-git.el (vc-git-retrieve-tag): Remove comment.
26437         * lisp/vc/vc-hg.el (vc-hg-retrieve-tag): Remove comment.
26439 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
26441         Remove member clone
26443         * lisp/play/dunnet.el (dun-answer): Use member instead.
26444         (dun-members): Remove.
26446 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
26448         Prefix global var
26450         * lisp/play/dunnet.el (room): Rename to dun-room.
26451         (dun-messages, dunnet, dun-describe-room, dun-drop, dun-move):
26452         (dun-restore, dun-do-logfile, dun-batch-loop): Use new name.
26454 2017-02-20  Mark Oteiza  <mvoteiza@udel.edu>
26456         Replace nested ifs with cond
26458         * lisp/play/dunnet.el (dun-messages, dun-describe-room, dun-examine):
26459         (dun-eat, dun-put-objs, dun-turn, dun-press, dun-ls, dun-cd): Use when
26460         and cond where appropriate.
26461         (dun-sauna-heat): Accept sauna level as an argument.  Use cond.
26462         (dun-take): Use null and dun-mprincl.
26463         (dun-inven-weight, dun-load-d): Reformat.
26464         (dun-remove-obj-from-inven, dun-remove-obj-from-room): Nix setq to nil.
26466 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
26468         Fix glitches in recent hash table changes
26470         * src/fns.c (Fmake_hash_table): Simplify the machine code slightly
26471         by using 0 rather than -1.
26472         * src/lisp.h (struct Lisp_Hash_Table.pure): Now bool rather
26473         than a bitfield, for speed (the bitfield did not save space).
26474         (struct Lisp_Hash_Table.rehash_threshold): Now double rather than
26475         float, since the float caused unwanted rounding errors, e.g.,
26476         (hash-table-rehash-threshold (make-hash-table)) yielded
26477         0.800000011920929 instead of the correct 0.8.
26479 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
26481         * src/insdel.c (make_gap): Increase enough to avoid O(N^2) behavior.
26483 2017-02-19  Eli Zaretskii  <eliz@gnu.org>
26485         Avoid aborts during loadup
26487         * src/emacs-module.c (syms_of_module):
26488         * src/image.c (xpm_make_color_table_h): Update calls to
26489         make_hash_table to adjust to a recent change in fns.c.
26490         * src/fns.c (make_hash_table):
26491         * src/lisp.h (make_hash_table): 4th arg is now of type double.
26493 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
26495         Rework connection local variables
26497         For connection local variables interface, `class' is renamed
26498         to `profile'.  All arguments `criteria' are a plist now.
26500         * doc/lispref/variables.texi (Connection Local Variables):
26501         Rewrite.
26503         * lisp/files-x.el (connection-local-profile-alist): Rename
26504         from `connection-local-class-alist'.  Adapt docstring.
26505         (connection-local-criteria-alist): Adapt docstring.
26506         (connection-local-normalize-criteria): New defun.
26507         (connection-local-get-profiles): Rename from
26508         `connection-local-get-classes'.  Rewrite.
26509         (connection-local-set-profiles): Rename from
26510         `connection-local-set-classes'.  Rewrite.
26511         (connection-local-get-profile-variables): Rename from
26512         `connection-local-get-class-variables'.  Rewrite.
26513         (connection-local-set-profile-variables): Rename from
26514         `connection-local-set-class-variables'.  Rewrite.
26515         (hack-connection-local-variables)
26516         (hack-connection-local-variables-apply)): Rewrite.
26517         (with-connection-local-profiles): Rename from
26518         `ith-connection-local-classes'.  Rewrite.
26520         * lisp/net/tramp.el (tramp-set-connection-local-variables):
26521         Compute criteria.
26523         * lisp/net/tramp-cmds.el (tramp-bug):
26524         Use `connection-local-profile-alist'.
26526         * test/lisp/files-x-tests.el (files-x-test--variables1)
26527         (files-x-test--variables2, files-x-test--variables3)
26528         (files-x-test--variables4, files-x-test--criteria1)
26529         (files-x-test--criteria2): Make them a defconst.
26530         (files-x-test--application)
26531         (files-x-test--another-application, files-x-test--protocol)
26532         (files-x-test--user, files-x-test--machine): New defconst.
26533         (files-x-test--criteria): New defvar.
26534         (files-x-test--criteria3): Remove.
26535         (files-x-test-connection-local-set-profile-variables):
26536         Rename from `files-x-test-connection-local-set-class-variables'.
26537         Rewrite.
26538         (files-x-test-connection-local-set-profiles): Rename from
26539         `files-x-test-connection-local-set-classes'.  Rewrite.
26540         (files-x-test-hack-connection-local-variables-apply)  Rewrite.
26541         (files-x-test-with-connection-local-profiles): Rename from
26542         `files-x-test-with-connection-local-classes'.  Rewrite.
26544 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
26546         Set up combination and random item location
26548         * lisp/play/dunnet.el (dun-combination): Make defconst.
26549         (tloc, tcomb): Remove.  Replace with a top-level form.
26551 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
26553         Replace movement variables with an alist and accessor
26555         * lisp/play/dunnet.el (north, south, east, west, northeast, southeast):
26556         (northwest, southwest, up, down, in, out): Remove.
26557         (dun-movement-alist): New constant.
26558         (dun-movement): New function.
26559         (dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se, dun-nw, dun-sw, dun-up):
26560         (dun-down, dun-in, dun-out): Use a symbol for indicating movement.
26561         (dun-move, dun-special-move): Translate movement symbol to an
26562         enumeration.
26564 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
26566         Change top-level setq forms to defvar or defconst
26568         Also collect some code onto fewer lines and reindent.
26569         * lisp/play/dunnet.el (dun-visited, dun-current-room, dun-exitf):
26570         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
26571         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
26572         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
26573         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
26574         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
26575         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
26576         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
26577         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
26578         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
26579         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
26580         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
26581         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
26582         (dun-diggables, dun-room-shorts, dun-endgame-questions): Change
26583         declaration to use defvar or defconst.
26584         (dun-doverb, dun-vparse, dun-vparse2, dun-batch-parse):
26585         (dun-batch-parse2): Omit the dun- prefix from arguments dun-ignore
26586         dun-verblist.  Those are now constants and the byte compiler doesn't
26587         allow defconsts in lambda lists.
26589 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
26591         Move all dunnet globals up to the top
26593         * lisp/play/dunnet.el: Adjust comments to reflect moved forms.
26594         (dun-visited, dun-current-room, dun-exitf):
26595         (dun-badcd, dun-computer, dun-floppy, dun-key-level, dun-hole):
26596         (dun-correct-answer, dun-lastdir, dun-numsaves, dun-jar, dun-dead):
26597         (room, dun-numcmds, dun-wizard, dun-endgame-question, dun-logged-in):
26598         (dungeon-mode, dun-unix-verbs, dun-dos-verbs, dun-batch-mode):
26599         (dun-cdpath, dun-cdroom, dun-uncompressed, dun-ethernet):
26600         (dun-restricted, dun-ftptype, dun-endgame, dun-rooms):
26601         (dun-light-rooms, dun-verblist, dun-inbus, dun-nomail, dun-ignore):
26602         (dun-mode, dun-sauna-level, north, south, east, west, northeast):
26603         (southeast, northwest, southwest, up, down, in, out, dungeon-map):
26604         (dun-objnames, obj-special, dun-room-objects, dun-room-silents):
26605         (dun-inventory, dun-objects, dun-object-lbs, dun-object-pts):
26606         (dun-objfiles, dun-perm-objects, dun-physobj-desc, dun-permobj-desc):
26607         (dun-diggables, dun-room-shorts, dun-endgame-questions): Move to the
26608         top of the file, before any uses.
26610 2017-02-19  Michael Albinus  <michael.albinus@gmx.de>
26612         Fix bug#25788
26614         * lisp/net/tramp.el (tramp-autoload-file-name-handler):
26615         Do not load tramp.el just for "/".  (Bug#25788)
26617 2017-02-19  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
26619         Fix fringe bitmap initialization on MS-Windows
26621         * src/fringe.c (init_fringe_bitmap) [HAVE_NTGUI]: Fix initialization
26622         of fb->bits.  (Bug#25673)
26624 2017-02-19  Stefan Monnier  <monnier@iro.umontreal.ca>
26626         Change type of `rehash_threshold' and `pure' fields in hash-tables
26628         * src/lisp.h (struct Lisp_Hash_Table): Change type of
26629         `rehash_threshold' and `pure' fields and move them after `count'.
26630         * src/fns.c (make_hash_table): Change type of `rehash_threshold' and `pure'.
26631         (Fmake_hash_table, Fhash_table_rehash_threshold):
26632         * src/category.c (hash_get_category_set):
26633         * src/xterm.c (syms_of_xterm):
26634         * src/profiler.c (make_log):
26635         * src/print.c (print_object):
26636         * src/alloc.c (purecopy_hash_table, purecopy): Adjust accordingly.
26638 2017-02-19  Paul Eggert  <eggert@cs.ucla.edu>
26640         Use 'char *FOO' instead of 'char* FOO'
26642 2017-02-19  Mark Oteiza  <mvoteiza@udel.edu>
26644         More json.el changes
26646         * lisp/json.el (json-read-keyword, json-read-number, json-read-object):
26647         (json-read-array): Just use = for char comparison.
26649 2017-02-18  Noam Postavsky  <npostavs@gmail.com>
26651         * lisp/woman.el (woman): Fix docstring prefix arg description.
26653 2017-02-18  Alan Mackenzie  <acm@muc.de>
26655         Fix edebug-spec on c-lang-defvar.
26657         This allows c-lang-defvars with the symbol 'dont-doc in the place of the
26658         optional documentation to be instrumented for edebug.
26660         lisp/progmodes/cc-langs.el (top-level): Amend the edebug-spec for
26661         c-lang-defvar.
26662         (c-opt-identifier-concat-key, c-decl-prefix-or-start-re): remove redundant
26663         'dont-doc.
26665 2017-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
26667         Lists used as plists now have to be an even length
26669         * lisp/net/eww.el (eww-size-text-inputs): `eww-form' isn't a plist.
26670         (eww-process-text-input): Not here, either.
26672 2017-02-18  Michael Albinus  <michael.albinus@gmx.de>
26674         Unset `non-essential' in Tramp when not needed anymore
26676         * doc/misc/trampver.texi:
26677         * lisp/net/trampver.el: Change version to "2.3.2-pre".
26679         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
26680         Use `tramp-completion-mode-p'.
26682         * lisp/net/tramp.el (tramp-file-name-handler): Unset `non-essential'
26683         when file name doesn't match `tramp-completion-file-name-regexp'.
26685 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
26687         Automatically regenerate emacs.1 and *.rc files
26689         * Makefile.in (CONFIG_STATUS_FILES_IN): New variable, lists
26690         non-Makefile files produced by config.status.
26691         ($(MAKEFILE_NAME)): Depend on $(CONFIG_STATUS_FILES_IN), so that
26692         their targets are regenerated when the source changes.
26694 2017-02-18  Alan Mackenzie  <acm@muc.de>
26696         Set the syntax table in AWK Mode.
26698         This is a partial reversion of CC Mode commit on 2016-05-09 17:49:45 +0000.
26699         It fixes bug #25722.
26701         lisp/progmodes/cc-mode.el (awk-mode): Explicitly set the syntax table.
26703 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
26705         Mention "editor" in Emacs man page header
26707         * doc/man/emacs.1.in: Mention "editor" in the header line.
26708         (Bug#25771, Bug#25779)
26710 2017-02-18  Göktuğ Kayaalp  <self@gkayaalp.com>
26712         Fix Turkish language environment setup
26714         * lisp/language/european.el ("Turkish"): Fix a typo in Turkish
26715         language setup.  (Bug#25763)
26717 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
26719         Support 24-bit direct colors on text terminals
26721         * src/term.c (init_tty): Use 24-bit terminal colors if corresponding
26722         foreground and background functions are present in terminal type
26723         definition.
26724         * src/tparam.h: Define prototype for tigetstr.
26726         * lisp/term/tty-colors.el (tty-color-define): Convert color palette
26727         index to pixel value on 16.7M color terminals.
26728         (tty-color-24bit): New function to convert color palette index to
26729         pixel value on 16.7M color terminals.
26730         (tty-color-desc): Don't approximate colors on 16.7M color terminals.
26731         * lisp/term/xterm.el (xterm-register-default-colors): Define all named
26732         TTY colors on 16.7M color terminals.
26734         * doc/misc/efaq.texi (Colors on a TTY): Add instructions on how to
26735         enable direct color TTY mode.
26736         * etc/NEWS: Mention direct color TTY mode and point to FAQ.
26738 2017-02-18  Rami Ylimäki  <rami.ylimaki@vincit.fi>
26740         Remove unused TN_max_pairs field
26742         * src/termchar.h (tty_display_info): Remove TN_max_pairs field,
26743         describing maximum number of terminal background/foreground color pairs.
26744         * src/term.c (tty_default_color_capabilities, tty_setup_colors)
26745         (init_tty): Remove references to TN_max_pairs.
26747 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
26749         Improve documentation of query-replace-from-to-separator
26751         * doc/emacs/search.texi (Query Replace): Document the meaning of
26752         the nil value of query-replace-from-to-separator.  (Bug#25482)
26754 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
26756         Document problems with nerd-fonts
26758         * etc/PROBLEMS (fonts): Describe the potential problems with
26759         nerd-fonts that cause slow display.  (Bug#25697)
26761 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
26763         Improve commentary for a recent change in keyboard.c
26765         * src/keyboard.c (Fset__this_command_keys): Add a comment about
26766         the magic 248 value.  (Bug#25612)
26768 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
26770         Avoid infloop in rect.el
26772         * lisp/rect.el (rectangle--*-char): Avoid inflooping when called
26773         with argument N whose absolute value is greater than 1.  (Bug#25773)
26775 2017-02-18  Eli Zaretskii  <eliz@gnu.org>
26777         Remove annoying warnings about let-binding
26779         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
26780         Remove warnings about making symbols local while let-bound.
26781         (Bug#25561)
26783 2017-02-18  Hong Xu  <hong@topbug.net>
26785         Avoid errors when flyspell-generic-check-word-predicate is a lambda.
26787         * lisp/textmodes/flyspell.el (flyspell-auto-correct-word, flyspell-word): Apply
26788         functionp instead of fboundp on
26789         flyspell-generic-check-word-predicate (Bug#25765).
26791 2017-02-18  Glenn Morris  <rgm@gnu.org>
26793         Remove the build number from emacs-version variable
26795         It's a largely internal detail that can confuse users.  (Bug#25590)
26796         * lisp/version.el (emacs-build-number): New constant.
26797         (emacs-version): Use emacs-build-number.
26798         * lisp/loadup.el (top-level): When dumping, increment
26799         emacs-build-number rather than emacs-version.
26800         * src/emacs.c (emacs-version): Doc fix.
26801         * doc/lispref/intro.texi (Version Info): Update emacs-version details.
26802         Mention emacs-build-number.
26803         * lisp/gnus/gnus-util.el (gnus-emacs-version):
26804         * lisp/mail/emacsbug.el (report-emacs-bug):
26805         * admin/admin.el (set-version): Update for emacs-version change.
26807 2017-02-18  Glenn Morris  <rgm@gnu.org>
26809         Ensure that user-mail-address always has a value
26811         * lisp/startup.el (user-mail-address): Initialize in the normal way.
26812         (command-line): Reset user-mail-address if needed using
26813         standard custom machinery.
26814         * lisp/mail/feedmail.el (feedmail-fiddle-from):
26815         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
26816         * lisp/mail/rmailsum.el (rmail-header-summary):
26817         Simplify now that user-mail-address is always set.
26819 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
26821         Turn on lexical-binding in ruby-mode
26823         * lisp/progmodes/ruby-mode.el: Turn on lexical-binding.
26824         (ruby-font-lock-syntax-table): Use make-syntax-table.
26825         (ruby-mode): 'define-derived-mode' writes the keys for us.
26827 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
26829         Turn on lexical-binding in elint.el
26831         * lisp/emacs-lisp/elint.el: Quote entry point commands in commentary.
26832         (elint-running, elint-current-pos): Move these dynamic vars to toward
26833         the top of the file.
26834         (elint-check-quote-form): Ignore unused argument.
26835         (elint-check-conditional-form): Remove unused binding.
26837 2017-02-18  Gemini Lasswell  <gazally@runbox.com>
26839         * lisp/emacs-lisp/subr-x.el (if-let*): Fix Edebug spec (Bug#24748)
26841 2017-02-18  Mark Oteiza  <mvoteiza@udel.edu>
26843         Enable erc-accidental-paste-threshold-seconds by default
26845         * lisp/erc/erc.el (erc-accidental-paste-threshold-seconds): Set
26846         default to 0.2 (Bug#25709).
26848 2017-02-17  Michal Nazarewicz  <mina86@mina86.com>
26850         Fix build failure caused by ‘Generate upcase and downcase tables from Unicode’
26852         The [5ec3a584: Generate upcase and downcase tables from Unicode data]
26853         commit broke bootstrap from a truly clean tree (e.g. a fresh clone or
26854         one created with ‘make extraclean’), see
26855         <http://hydra.nixos.org/build/48774928>.
26857         The failure was caused by characters.el trying to read Unicode
26858         property tables which aren’t available so early in the build process.
26860         Wrap the part that requires Unicode property tables in a condition
26861         checking if those are available.  If they aren’t they case and syntax
26862         tables won’t be fully set but later on, the characters.el file will be
26863         evaluated again and this time with Unicode properties available so
26864         final Emacs ends up with the exact same case and syntax tables.
26866 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
26868         mm-add-meta-html-tag: Improve regexp
26870         * lisp/gnus/mm-decode.el (mm-add-meta-html-tag):
26871         Improve regexp to search html meta tag.
26873 2017-02-17  Katsumi Yamaoka  <yamaoka@jpl.org>
26875         mm-shr: Prefer charset specified in html meta tag
26877         * lisp/gnus/mm-decode.el (mm-shr): Prefer charset specified in html
26878         meta tag than mail-parse-charset in the case there is no charset spec
26879         in MIME header.
26881 2017-02-17  Glenn Morris  <rgm@gnu.org>
26883         Stop duplicating some custom-types in message.el
26885         * lisp/gnus/message.el (user-mail-address, user-full-name):
26886         No need to re-specify custom-type.
26888 2017-02-17  Glenn Morris  <rgm@gnu.org>
26890         Whitespace trivia in dunnet.el
26892         * lisp/play/dunnet.el (dun-special-object, dun-put-objs)
26893         (dun-rlogin-endgame): Whitespace trivia.
26895 2017-02-17  Glenn Morris  <rgm@gnu.org>
26897         Explicit error on changing case of negative integers
26899         * src/casefiddle.c (casify_object): Reject negative integers:
26900         Emacs characters are positive integers.  (Bug#25684)
26902 2017-02-17  Dmitry Gutov  <dgutov@yandex.ru>
26904         Fix buffers update in vc-retrieve-tag
26906         * lisp/vc/vc.el (vc-retrieve-tag): When the granularity is
26907         `repository', use the repository root and pass it to
26908         vc-resynch-buffer (bug#25714).
26910 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
26912         * src/buffer.h: Fix indenting.
26914 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
26916         Add sanity checks for Bswitch hash tables
26918         * src/bytecode.c (exec_byte_code) [BYTE_CODE_SAFE]:
26919         Check that operand is a hash table and hashes to ints.
26921 2017-02-16  Paul Eggert  <eggert@cs.ucla.edu>
26923         * src/keyboard.c (read_key_sequence): Fix integer-overflow glitch.
26925 2017-02-16  Vibhav Pant  <vibhavp@gmail.com>
26927         bytecomp.el: Avoid unnecessary calculation for jump table addresses.
26929         * lisp/emacs-lisp/bytecomp.el (byte-compile-lapcode): Don't do
26930           redundant operations while calculating the correct jump addresses
26931           from TAGs in jump tables.
26933 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
26935         Minor changes in json.el
26937         * lisp/json.el (json-advance): Simpler docstring.
26938         (json-read-escaped-char): Use xdigit subform in rx expression.
26939         (json-read-string): Just use = for char comparison.
26941 2017-02-16  Mark Oteiza  <mvoteiza@udel.edu>
26943         Don't expand body inside a let-binding when there are no bindings
26945         * lisp/emacs-lisp/pcase.el (pcase-codegen): Only let-bind if VARS
26946         is non-nil.
26948 2017-02-16  Glenn Morris  <rgm@gnu.org>
26950         Handle user-mail-address being the empty string
26952         * lisp/mail/feedmail.el (feedmail-fiddle-from):
26953         * lisp/mail/rmail.el (rmail-unknown-mail-followup-to):
26954         * lisp/mail/rmailsum.el (rmail-header-summary):
26955         Belated update for 2002-09-29 startup.el change, 680ebfa, where
26956         the value of user-mail-address during initialization was changed
26957         from nil to the empty string.
26959 2017-02-15  Michael Albinus  <michael.albinus@gmx.de>
26961         Continue to fix bug#25607
26963         * lisp/ido.el (ido-complete): Let-bind `non-essential' to nil.
26964         (ido-file-name-all-completions-1): Do not bind `non-essential'.
26966         * lisp/net/tramp.el: (tramp-completion-file-name-handler):
26967         Improve autoloaded version.
26968         (tramp-completion-file-name-handler): Remove old compat code.
26969         Check only for `tramp-completion-mode-p'.
26970         (tramp-completion-mode-p): Autoload.  Do not check any longer
26971         for `last-input-event'.
26972         (tramp-completion-handle-expand-file-name): Simplify.  (Bug#25607)
26974 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
26976         casing: don’t assume letters are *either* upper- or lower-case  (bug#24603)
26978         A compatibility digraph characters, such as Dž, are neither upper- nor
26979         lower-case.  At the moment however, those are reported as upper-case¹
26980         despite the fact that they change when upper-cased.
26982         Stop checking if a character is upper-case before trying to up-case it
26983         so that title-case characters are handled correctly.  This fixes one of
26984         the issues mentioned in bug#24603.
26986         ¹ Because they change when converted to lower-case.  Notice an asymmetry
26987           in that for a character to be considered lower-case it must not be
26988           upper-case (plus the usual condition of changing when upper-cased).
26990         * src/buffer.h (upcase1): Delete.
26991         (upcase): Change to upcase character unconditionally just like downcase
26992         does it.  This is what upcase1 was.
26994         * src/casefiddle.c (casify_object, casify_region): Use upcase instead
26995         of upcase1 and don’t check !uppercasep(x) before calling upcase.
26997         * src/keyboard.c (read_key_sequence): Don’t check if uppercase(x), just
26998         downcase(x) and see if it changed.
27000         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
27001         casefiddle-tests-casing): Update test cases which are now passing.
27003 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
27005         Generate upcase and downcase tables from Unicode data  (bug#24603)
27007         Use Unicode data to generate case tables instead of mostly repeating
27008         them in lisp code.  Do that in a way which maps ‘Dz’ (and similar)
27009         digraph to ‘dz’ when down- and ‘DZ’ when upcasing.
27011         https://debbugs.gnu.org/cgi/bugreport.cgi?msg=89;bug=24603 lists all
27012         changes to syntax table and case tables introduced by this commit.
27014         * lisp/international/characters.el: Remove case-pairs defined with
27015         explicit Lisp code and instead use Unicode character properties.
27017         * test/src/casefiddle-tests.el (casefiddle-tests--characters,
27018         casefiddle-tests-casing): Update test cases which are now working
27019         as they should.
27021 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
27023         Add tests for casefiddle.c  (bug#24603)
27025         Fixes cases marked FIXME upcoming in followup commits.
27027         * test/src/casefiddle-tests.el (casefiddle-tests-char-properties,
27028         casefiddle-tests-case-table, casefiddle-tests-casing-character,
27029         casefiddle-tests-casing, casefiddle-tests-casing-byte8,
27030         casefiddle-tests-casing-byte8-with-changes): New tests.
27031         (casefiddle-tests--test-casing): New helper function for runnig
27032         some of the tests.
27034 2017-02-15  Michal Nazarewicz  <mina86@mina86.com>
27036         oldXMenu: add missing #include <string.h>
27038         Some of the files in oldXMenu use functions from string.h without
27039         including that header which results in compile warnings:
27041                 ChgPane.c:46:5: warning: implicit declaration of function ‘strlen’
27042                 ChgPane.c:46:20: warning: incompatible implicit declaration of
27043                         built-in function ‘strlen’
27044                 ChgSel.c:62:2: warning: implicit declaration of function ‘strlen’
27045                 ChgSel.c:62:17: warning: incompatible implicit declaration of built-in
27046                         function ‘strlen’
27047                 Create.c:220:5: warning: implicit declaration of function ‘strcmp’
27048                 InsPane.c:65:5: warning: implicit declaration of function ‘strlen’
27049                 InsPane.c:65:20: warning: incompatible implicit declaration of
27050                         built-in function ‘strlen’
27051                 InsSel.c:68:5: warning: implicit declaration of function ‘strlen’
27052                 InsSel.c:68:20: warning: incompatible implicit declaration of built-in
27053                         function ‘strlen’
27054                 InsSel.c:75:5: warning: implicit declaration of function ‘strcmp’
27056         Add the necessary ‘#include <string.h>’.
27058         oldXMenu/ChgPane.c, oldXMenu/ChgSel.c, oldXMenu/Create.c, oldXMenu/InsPane.c,
27059         oldXMenu/InsSel.c: add missing #include <string.h>
27061 2017-02-15  Paul Eggert  <eggert@cs.ucla.edu>
27063         Fixup recent rmail patch
27065         * lisp/mail/rmail.el (rmail-epa-decrypt): Remove unused local.
27067 2017-02-15  Richard Stallman  <rms@gnu.org>
27069         Rmail fix
27071         * lisp/mail/rmail.el (rmail-epa-decrypt-1): Include the just-decrypted text
27072         as element 4 of the value.
27073         (rmail-epa-decrypt): Take the text to insert from that element.
27075 2017-02-15  Vibhav Pant  <vibhavp@gmail.com>
27077         bytecomp-tests.el: Store all test forms in one constant.
27079         * test/lisp/emacs-lisp/bytecomp-tests.el: Store all test expressions
27080         in a single constant (byte-opt-testsuite-arith-data), add new forms
27081         which generate lapcode with adjacent/redundant tags.
27083 2017-02-15  Glenn Morris  <rgm@gnu.org>
27085         Small lispref edit
27087         * doc/lispref/os.texi (User Identification):
27088         Remove extraneous detail about user-mail-address.
27090 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
27092         Document fill-separate-heterogeneous-words-with-space (bug#25685)
27094         * doc/lispref/text.texi (Filling):
27095         Document fill-separate-heterogeneous-words-with-space (bug#25685).
27097 2017-02-15  Noam Postavsky  <npostavs@gmail.com>
27099         Test comment-multi-line = nil auto fill case too
27101         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): Test with
27102         `comment-multi-line' both nil and non-nil.
27103         * lisp/newcomment.el (comment-multi-line): Mark safe if it's a
27104         boolean.
27105         * etc/NEWS: Mention that `js-mode' now sets `comment-multi-line'.
27107 2017-02-15  Katsumi Yamaoka  <yamaoka@jpl.org>
27109         Don't delete leading and trailing space from CJK word (bug#25685)
27111         * lisp/textmodes/fill.el (fill-delete-newlines):
27112         Don't delete leading and trailing space from CJK word.
27113         (fill-separate-heterogeneous-words-with-space):
27114         New user option that controls it (bug#25685).
27116 2017-02-15  Juri Linkov  <juri@linkov.net>
27118         ‘M-s w RET word C-s’ repeats incremental search.
27120         * lisp/isearch.el (isearch-new-nonincremental): New variable.
27121         (with-isearch-suspended): Bind isearch-new-nonincremental to
27122         isearch-nonincremental, and restore it afterwards.
27123         (isearch-forward-exit-minibuffer, isearch-reverse-exit-minibuffer):
27124         Set isearch-new-nonincremental to nil.  (Bug#25562)
27126 2017-02-14  Tom Tromey  <tom@tromey.com>
27128         Make vc-git detect conflict state for vc-dir
27130         * lisp/vc/vc-git.el (vc-git-dir-status-state): New struct.
27131         (vc-git-dir-status-update-file): New function.
27132         (vc-git-after-dir-status-stage, vc-git-dir-status-goto-stage): Use
27133         vc-git-dir-status-state; add 'ls-files-conflict state.
27134         (vc-git-dir-status-files): Create a vc-git-dir-status-state.
27136 2017-02-14  Vibhav Pant  <vibhavp@gmail.com>
27138         byte-opt: Replace merged tags in jump tables too. (bug#25716)
27140         * lisp/emacs-lisp/byte-opt.el (byte-optimize-lapcode): While merging
27141           adjacent tags, make sure that the old tag is replaced in all jump
27142           tables, if any. This fixes the bytecode VM jumping to the wrong
27143           address in compiled cond forms where the body of a clause was a loop
27144           of any sort.
27146 2017-02-14  Glenn Morris  <rgm@gnu.org>
27148         Remove overly broad element from default mail-dont-reply-to-names
27150         * lisp/mail/mail-utils.el (mail-dont-reply-to):
27151         Do not include just "user@" in mail-dont-reply-to-names, and simplify.
27152         Ref: lists.gnu.org/archive/html/help-gnu-emacs/2017-02/msg00049.html
27153         * lisp/gnus/message.el (message-dont-reply-to-names): Doc fix.
27154         * doc/misc/message.texi (Wide Reply): Tiny fix re dont-reply-to-names.
27156 2017-02-14  Juri Linkov  <juri@linkov.net>
27158         * etc/NEWS: Mention query-replace-from-to-separator.  (Bug#25482)
27160 2017-02-13  Arash Esbati  <arash@gnu.org>
27162         Match all characters in optional argument of \documentclass
27164         * lisp/textmodes/reftex.el (reftex-TeX-master-file): Match all
27165         characters in optional argument containing name of the main file.
27167 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
27169         Merge branch 'master' into feature/byte-switch
27171 2017-02-13  Katsumi Yamaoka  <yamaoka@jpl.org>
27173         Fix non-ASCII text encoding (bug#25658)
27175         * lisp/gnus/mm-bodies.el (mm-encode-body):
27176         Fix non-ASCII text encoding (bug#25658).
27178 2017-02-13  Vibhav Pant  <vibhavp@gmail.com>
27180         test/lisp/emacs-lisp/bytecomp-tests.el: Add more tests for switch.
27182 2017-02-13  Stefan Monnier  <monnier@iro.umontreal.ca>
27184         * doc/lispref/modes.texi (Derived Modes): Make example more idiomatic
27186 2017-02-13  Glenn Morris  <rgm@gnu.org>
27188         Fix recent bootstrap issue by moving string-to-list
27190         * lisp/international/mule-util.el (string-to-list, string-to-vector):
27191         Move from here...
27192         * lisp/subr.el (string-to-list, string-to-vector): ...to here.
27193         The implementation is trivial and at least string-to-list
27194         has ended up being needed early during bootstrap.
27196 2017-02-13  Glenn Morris  <rgm@gnu.org>
27198         Doc fixes related to mail-host-address
27200         * lisp/startup.el (mail-host-address): Doc fix.
27201         * doc/lispref/os.texi (System Environment):
27202         Remove extraneous details of mail-host-address.
27204 2017-02-13  Glenn Morris  <rgm@gnu.org>
27206         Simplify time-stamp mail host usage
27208         * lisp/time-stamp.el (time-stamp-mail-host-name): Remove function.
27209         (time-stamp-string-preprocess): Handle "h" (mail host) directly.
27211 2017-02-13  Glenn Morris  <rgm@gnu.org>
27213         Doc fix for vhdl-mode re mail-host-address
27215         * lisp/progmodes/vhdl-mode.el (vhdl-file-header): Doc fix.
27216         (mail-host-address): Do not add to vhdl-related custom group,
27217         since vhdl-template-replace-header-keywords doesn't use it.
27219 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
27221         Substitute leading $HOME/ in xdg-user-dirs
27223         * lisp/xdg.el (xdg--substitute-home-env): New function.
27224         (xdg--user-dirs-parse-line): Use it.
27225         (xdg-user-dir): Expand ~/ in xdg-user-dirs values.
27227 2017-02-13  Mark Oteiza  <mvoteiza@udel.edu>
27229         * lisp/buff-menu.el: Turn on lexical-binding.
27231 2017-02-13  Juri Linkov  <juri@linkov.net>
27233         * lisp/replace.el (query-replace-from-to-separator): Move propertize
27235         and char-displayable-p test to query-replace-read-from.
27236         Add choice nil to disable this feature.
27237         (query-replace-read-from): Don't reevaluate custom setting.
27238         Use char-displayable-p to test the first non-whitespace character
27239         in query-replace-from-to-separator, use " -> " when fails.
27240         Add prompt for the case when separator is nil but
27241         query-replace-defaults is non-nil.
27242         Remove unused test for regexp-flag.
27243         Thanks to Thierry Volpiatto <thierry.volpiatto@gmail.com>
27245 2017-02-13  Karl Fogel  <kfogel@red-bean.com>
27247         Convert more uses of `looking-at' to `following-char'
27249         This follows up to Mark Oteiza's commit of 12 Feb 2017, 14:46:03 UTC
27250         (commit 91478f46238a) with more of the same.
27252         * lisp/bookmark.el (bookmark-send-edited-annotation):
27253           (bookmark-bmenu-execute-deletions): Replace instances of looking-at
27254           with char comparisons using following-char.
27256 2017-02-12  Paul Eggert  <eggert@cs.ucla.edu>
27258         Fix typos in tests for lax-plist-get etc.
27260         Problem reported by Eli Zaretskii (Bug#25606#62).
27261         * test/src/fns-tests.el (test-cycle-lax-plist-get)
27262         (test-cycle-plist-put, test-cycle-lax-plist-put):
27263         Fix tests to match behavior.
27265 2017-02-12  Michael Albinus  <michael.albinus@gmx.de>
27267         Fix bug#25607
27269         * lisp/net/tramp.el (tramp-completion-file-name-handler):
27270         Improve autoloaded version.
27271         (tramp-autoload-file-name-handler): Avoid recursive load.
27272         (tramp-completion-handle-expand-file-name): Handle empty NAME.
27273         (Bug#25607)
27275 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
27277         Remove server-buffer-clients string from minor-mode-alist
27279         * lisp/server.el: Don't put an element for server-buffer-clients into
27280         minor-mode-alist. (Bug#20201)
27282 2017-02-12  Mark Oteiza  <mvoteiza@udel.edu>
27284         Nix some useless uses of looking-at, looking-back
27286         * lisp/allout.el (allout-kill-topic):
27287         (allout-next-topic-pending-encryption):
27288         * lisp/bookmark.el (bookmark-kill-line):
27289         * lisp/cus-edit.el (custom-save-variables, custom-save-faces):
27290         * lisp/cus-theme.el (custom-theme-write-variables):
27291         (custom-theme-write-faces):
27292         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
27293         * lisp/emacs-lisp/bytecomp.el (byte-compile-from-buffer):
27294         * lisp/emacs-lisp/checkdoc.el (checkdoc-interactive-loop):
27295         (checkdoc-interactive-ispell-loop):
27296         (checkdoc-message-interactive-ispell-loop, checkdoc-this-string-valid):
27297         (checkdoc-this-string-valid-engine):
27298         * lisp/emacs-lisp/elint.el (elint-get-top-forms):
27299         * lisp/emulation/viper-cmd.el (viper-backward-indent):
27300         * lisp/image-dired.el (image-dired-delete-char):
27301         * lisp/simple.el (kill-visual-line): Replace instances of looking-at,
27302         looking-back with char comparisons using following-char, preceding-char.
27304 2017-02-12  Eli Zaretskii  <eliz@gnu.org>
27306         Clarify what is the "cursor"
27308         * doc/lispref/windows.texi (Window Point): Clarify the notion of
27309         "cursor".
27311 2017-02-11  Tom Tromey  <tom@tromey.com>
27313         Recognize JS regexp literals more correctly
27315         Bug#25529
27316         * lisp/progmodes/js.el (js--syntax-propertize-regexp-regexp): New
27317         constant.
27318         (js-syntax-propertize-regexp): Use it.  Remove "end" argument.
27319         (js--syntax-propertize-regexp-syntax-table): Remove.
27320         (js-syntax-propertize): Update.
27321         * test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax-bug-25529):
27322         New test.
27324 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
27326         src/bytecode.c (exec_byte_code): Make hash_code a Lisp_Object.
27328         This avoids using XUINT every time while comparing it with
27329         HASH_HASH (h, i), replacing it with EQ.
27331 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
27333         src/bytecode.c (exec_byte_code): Remove unnecessary (e)assert.
27335 2017-02-11  Tom Tromey  <tom@tromey.com>
27337         Fix bug in css--mdn-find-symbol
27339         * lisp/textmodes/css-mode.el (css--mdn-find-symbol): Skip whitespace
27340         before skipping word characters.
27341         test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): Add
27342         regression test.
27344 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
27346         src/bytecode.c: Add optional sanity check for jump tables.
27348         * src/bytecode.c (exec_byte_code): When sanity checks are enabled,
27349           check that the jump table's size is equal to it's count.
27351 2017-02-11  Vibhav Pant  <vibhavp@gmail.com>
27353         Merge branch 'master' into feature/byte-switch
27355         * src/bytecode.c: Refactor to follow GNU coding standards
27357 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
27359         Fix handling of XBM images on MS-Windows
27361         * src/image.c (xbm_load) [HAVE_NTGUI]: Fix calculation of
27362         'nbytes' when inverting XBM data bits.  (Bug#25661)
27364 2017-02-11  Eli Zaretskii  <eliz@gnu.org>
27366         Fix handling of PBM data
27368         * src/image.c (pbm_load): Handle PBM data with no blanks between
27369         individual pixel values correctly.  (Bug#25660)
27371 2017-02-10  Noam Postavsky  <npostavs@gmail.com>
27373         Fix warnings in debug tracing code
27375         * src/xdisp.c (dump_glyph, dump_glyph_string):
27376         * src/xfaces.c (dump_realized_face): Cast arguments or adjust format
27377         specifiers to match signedness.
27379 2017-02-10  Sam Steingold  <sds@gnu.org>
27381         Extract grep-find-ignored-directories processing from rgrep-default-command
27383         (rgrep-find-ignored-directories): Extract from `rgrep-default-command'.
27384         Some Emacs packages use `grep-find-ignored-directories' to ignore some
27385         directories, so will use this function instead of custom code.
27386         (rgrep-default-command): Use `rgrep-find-ignored-directories'.
27388 2017-02-10  Vibhav Pant  <vibhavp@gmail.com>
27390         src/bytecode.c: Avoid comparing values unnecessarily in Bswitch
27392         * src/bytecode.c: (exec_byte_code) While linear searching the jump
27393           table, compare the value's hash table first to avoid calling
27394           h->test.cmpfn every time.
27396 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
27398         Fix a few integer-overflow glitches
27400         * src/composite.c (composition_compute_stop_pos, composition_reseat_it):
27401         * src/dispextern.h (struct composition_it.rule_idx):
27402         * src/keyboard.c (Fset__this_command_keys):
27403         * src/xwidget.c (webkit_js_to_lisp):
27404         Don’t assume object sizes fit in ‘int’.
27405         * src/xwidget.c (Fxwidget_resize):
27406         Don’t assume Emacs integers fit in ‘int’.
27408 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
27410         Fix a bug with displaying an image after a TAB
27412         * src/xdisp.c (display_line): Handle TAB at end of screen line
27413         specially only when we are displaying characters.  (Bug#25662)
27415 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
27417         Improve commentary in lisp.h
27419         * src/lisp.h: Explain in the comment why enlarging a Lisp_Misc
27420         object is discouraged.
27422 2017-02-10  Paul Eggert  <eggert@cs.ucla.edu>
27424         Move cyclic tests to fns-tests.el
27426         * test/src/fns-tests.el (cyc1, cyc2, dot1, dot2): New functions.
27427         (test-cycle-length, test-cycle-safe-length, test-cycle-member)
27428         (test-cycle-memq, test-cycle-memql, test-cycle-assq)
27429         (test-cycle-assoc, test-cycle-rassq, test-cycle-rassoc)
27430         (test-cycle-delq, test-cycle-delete, test-cycle-reverse)
27431         (test-cycle-plist-get, test-cycle-lax-plist-get)
27432         (test-cycle-plist-member, test-cycle-plist-put)
27433         (test-cycle-lax-plist-put, test-cycle-equal, test-cycle-nconc):
27434         New tests.
27435         * test/manual/cyclic-tests.el: File deleted.
27437 2017-02-10  Gemini Lasswell  <gazally@runbox.com>
27439         Fix instrumenting code with propertized strings in Edebug
27441         * lisp/emacs-lisp/edebug.el (edebug-read-function): Allow
27442         'read' to decide what is and isn't a syntax error.  (Bug#25068)
27444 2017-02-10  Vladimir Panteleev  <vladimir@thecybershadow.net>
27446         Improve fontification in bat-mode
27448         * lisp/progmodes/bat-mode.el (bat-font-lock-keywords): Match
27449         word and symbol constituents when looking for variable names
27450         to fontify; also, correct the syntax table and mark the equal
27451         sign (=) character as punctuation.  Improve fontification
27452         accuracy of iteration/positional variables.
27453         (bat-mode): Set comment-start-skip.  (Bug#25541)
27455         * test/lisp/progmodes/bat-mode-tests.el: New file, tests for
27456         bat-mode.el.
27458 2017-02-10  Eli Zaretskii  <eliz@gnu.org>
27460         Restore special setting of this-command-keys by M-x
27462         It was lost when execute-extended-command was reimplemented in Lisp.
27464         * src/keyboard.c (Fset__this_command_keys): New function.
27465         (syms_of_keyboard): Defsubr it.
27467         * lisp/simple.el (execute-extended-command): Set this-command-keys
27468         as novice.el expects.  (Bug#25612)
27470 2017-02-09  Juri Linkov  <juri@linkov.net>
27472         * lisp/isearch.el (isearch-search-fun-default): Set isearch-adjusted
27474         to t to display "Pending" in the search prompt for lax
27475         word/symbol search (bug#25562).  Don't use lax for lazy-highlighting
27476         when 'bound' is non-nil.
27477         (word-search-regexp, isearch-symbol-regexp): Don't depend on lax
27478         at the beginning of regexp (bug#22589).
27480         * lisp/info.el (Info-isearch-search):
27481         Use isearch--lax-regexp-function-p.
27483         * doc/emacs/search.texi (Word Search, Symbol Search):
27484         Mention "Pending" prompt for lax word/symbol search.
27486 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
27488         src/bytecode.c (exec_byte_code): Remove unneeded assert.
27490         bytecode.c (exec_byte_code): Use h->count instead of HASH_TABLE_SIZE
27492 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
27494         bytecode.c (exec_byte_code): don't check hash code in linear search.
27496         * src/bytecode.c (exec_byte_code): Don't check that the hash code is
27497           not nil when linear scanning the jump table. Hash tables for are
27498           declared with :size as the exact number of cases, so each entry i
27499           should have a hash code. When BYTE_CODE_SAFE, do it as a sanity
27500           check.
27502 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
27504         Ibuffer: Update mode documentation
27506         * lisp/ibuffer.el (ibuffer-mode): List newest commands in mode documentation.
27508 2017-02-09  Steven Allen  <steven@stebalien.com>  (tiny change)
27510         Fix environment variable for xdg-data-dirs
27512         * lisp/xdg.el (xdg-data-dirs): Use XDG_DATA_DIRS, not XDG_CONFIG_DIRS
27514 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
27516         Ibuffer: Erase output buffer before shell commands
27518         * lisp/ibuf-macs.el (define-ibuffer-op): Add keyword arguments
27519         BEFORE and AFTER; they are forms to run before/after the operation.
27520         * lisp/ibuf-ext.el (ibuffer--maybe-erase-shell-cmd-output):
27521         New defun; if shell-command-dont-erase-buffer is nil, then
27522         erase shell command output buffer.
27523         (ibuffer-do-shell-command-pipe, ibuffer-do-shell-command-file): Use it.
27525 2017-02-09  Tino Calancha  <tino.calancha@gmail.com>
27527         Ibuffer: Don't truncate shell command output
27529         * lisp/ibuf-ext.el (ibuffer-do-shell-command-pipe)
27530         (ibuffer-do-shell-command-pipe-replace)
27531         Use 'call-shell-region' (Bug#22679).
27532         (ibuffer-do-shell-command-file): Use call-process-shell-command.
27533         If FILE, the file that the buffer object is visiting,
27534         exists and the buffer is up-to-date, then use
27535         FILE instead of creating a temporary file (Bug#22679).
27537 2017-02-09  Vibhav Pant  <vibhavp@gmail.com>
27539         Improve byte-switch execution.
27541         * lisp/emacs-lisp/byte-opt.el,
27542           lisp/emacs-lisp/bytecomp.el (byte-decompile-bytecode-1),
27543           (byte-compile-lapcode): Calculate the actual jump address while
27544           compiling, store it in the jump table.
27546         * src/bytecode.c: Jump to the looked up value directly, do a linear
27547           search when the number of elements is <= 5.
27549 2017-02-09  Noam Postavsky  <npostavs@gmail.com>
27551         Make sure eshell pipelines don't drop data
27553         * lisp/eshell/esh-proc.el (eshell-sentinel): If called while still
27554         handling output of the process, make sure to close the pipes only later,
27555         so that the next process in the pipeline recieves EOF only after getting
27556         all its input (Bug#25549).
27558 2017-02-09  Katsumi Yamaoka  <yamaoka@jpl.org>
27560         Make mm-shr use mail-parse-charset by default
27562         * lisp/gnus/mm-decode.el (mm-shr): Use mail-parse-charset by default.
27563         This helps an html message with no charset spec to be decoded.
27565 2017-02-08  Stephen Berman  <stephen.berman@gmx.net>
27567         describe-char: unambiguous name for inserting ASCII 7
27569         * lisp/descr-text.el (describe-char): Make the input
27570         suggestion for inserting ASCII character 7 by name use the
27571         unambiguous name "BELL (BEL)" (bug#25641).
27573 2017-02-08  Michael Albinus  <michael.albinus@gmx.de>
27575         Modify suppressing `vc-refresh-state' in filenotify-tests.el
27577         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
27578         Use an advice rather than an alias for suppressing `vc-refresh-state'.
27580 2017-02-08  Noam Postavsky  <npostavs@gmail.com>
27582         Disable native completion for ipython (Bug#25067)
27584         * lisp/progmodes/python.el:
27585         (python-shell-completion-native-disabled-interpreters): Add "ipython".
27587 2017-02-07  Michael Albinus  <michael.albinus@gmx.de>
27589         Suppress undesired error messages in filenotify-tests.el
27591         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert):
27592         Suppress `vc-refresh-state', it produces undesired error messages.
27594 2017-02-07  Eli Zaretskii  <eliz@gnu.org>
27596         Fix a typo in ada-mode manual
27598         * doc/misc/ada-mode.texi (Project file variables): Add a missing
27599         right bracket.  Reported by Jean-Christophe Helary
27600         <jean.christophe.helary@gmail.com>.
27602 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
27604         Ensure that Gnus bugs show up in the Emacs tracker
27606         * lisp/gnus/gnus.el (gnus-bug-package): Include Emacs in the
27607         package spec.
27609 2017-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
27611         Revert "Don't tag Gnus bugs with "gnus""
27613         This reverts commit b6fa58072304c2a24f1fe8a0e06a4739a7f8211b.
27615         The debbugs syntax requires a package name
27617 2017-02-07  Vibhav Pant  <vibhavp@gmail.com>
27619         Add tests for checking byte-switch code.
27621         * test/lisp/emacs-lisp/bytecomp-tests.el (bytecomp-cond): New test,
27622           test byte-switch bytecode.
27624 2017-02-07  Mark Oteiza  <mvoteiza@udel.edu>
27626         Add xdg library
27628         * etc/NEWS: Mention new library.
27629         * lisp/xdg.el: New file.
27631 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
27633         Do not trick info/dir’s timestamp
27635         * Makefile.in (${srcdir}/info/dir): When making this file, do not
27636         do anything special about its timestamp.  Previously this rule
27637         used move-if-change, which meant that this file’s timestamp could
27638         end up being older than the files it depends on, and this caused
27639         ‘make --question info’ to fail, which caused ‘make-dist’ to fail
27640         now that ‘make-dist’ invokes ‘make --question info’.
27642 2017-02-07  Paul Eggert  <eggert@cs.ucla.edu>
27644         Make FOR_EACH_TAIL more like other FOR_EACH macros
27646         See comments by Stefan Monnier in:
27647         https://lists.gnu.org/r/emacs-devel/2017-02/msg00181.html
27648         and by Eli Zaretskii in:
27649         https://lists.gnu.org/r/emacs-devel/2017-02/msg00207.html
27650         * src/fns.c (internal_equal): Do not bypass check for depth
27651         overflow when tail-recursing via a dotted list tail or an overlay
27652         plist, to avoid a rare infloop.
27653         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_SAFE): Take TAIL as an
27654         arg, and update it at each iteration, rather than have callers
27655         access it.tail.  All callers changed.
27656         (FOR_EACH_TAIL): Do not check for dotted lists, as this is now
27657         the caller’s responsibility.  All callers changed.
27658         (FOR_EACH_TAIL_CONS): Remove.  All callers changed.
27659         (struct for_each_tail_internal.tail): Remove; no longer needed.
27660         (FOR_EACH_TAIL_INTERNAL): Remove dotted arg, and set the tail
27661         arg each time through the loop.  All callers changed.
27663 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
27665         Port to clang 3.8.0
27667         It does not allow a for-loop's control var to be an anonymous struct.
27668         * src/lisp.h (struct for_each_tail_internal): New type.
27669         (FOR_EACH_TAIL_INTERNAL): Use it.
27671 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
27673         Add cyclic-list tests
27675         * test/manual/cycle-tests.el: New file (Bug#25606).
27677 2017-02-05  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
27679         FOR_EACH_TAIL now checks for quit
27681         As per Eli Zaretskii (Bug#25606#20).  Although these calls to
27682         maybe_quit are unnecessary in practice, Eli was not convinced
27683         that the calls are unnecessary.
27684         * src/lisp.h (FOR_EACH_TAIL, FOR_EACH_TAIL_CONS):
27685         Call maybe_quit every so often.
27686         (FOR_EACH_TAIL_INTERNAL): New arg CHECK_QUIT.  All callers changed.
27688 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
27690         Signal list cycles in ‘length’ etc.
27692         Use macros like FOR_EACH_TAIL instead of maybe_quit to
27693         catch list cycles automatically instead of relying on the
27694         user becoming impatient and typing C-g (Bug#25606).
27695         * src/fns.c (Flength, Fmember, Fmemq, Fmemql, Fassq, Fassoc, Frassq)
27696         (Frassoc, Fdelete, Freverse):
27697         Use FOR_EACH_TAIL instead of maybe_quit.
27698         (Fnreverse): Use simple EQ to check for circular list instead
27699         of rarely_quit, as this suffices in this unusual case.
27700         (Fplist_put, Flax_plist_put, Flax_plist_put):
27701         Use FOR_EACH_TAIL_CONS instead of maybe_quit.
27702         (internal_equal): Use FOR_EACH_TAIL_CONS to check lists, instead
27703         of by-hand tail recursion that did not catch cycles.
27704         * src/fns.c (Fsafe_length, Fplist_get):
27705         * src/xdisp.c (display_mode_element):
27706         Use FOR_EACH_TAIL_SAFE instead of by-hand Floyd’s algorithm.
27707         * src/lisp.h (QUIT_COUNT_HEURISTIC): Remove; no longer needed.
27708         (rarely_quit): Simply count toward USHRT_MAX + 1, since the
27709         fancier versions are no longer needed.
27710         (FOR_EACH_TAIL_CONS, FOR_EACH_TAIL_SAFE)
27711         (FOR_EACH_TAIL_INTERNAL): New macros, the last with definiens
27712         mostly taken from FOR_EACH_TAIL.
27713         (FOR_EACH_TAIL): Rewrite in terms of FOR_EACH_TAIL_INTERNAL.
27715 2017-02-05  Paul Eggert  <eggert@cs.ucla.edu>
27717         Simplify use of FOR_EACH_TAIL
27719         * src/data.c (circular_list): New function.
27720         * src/lisp.h (FOR_EACH_TAIL): Use Brent’s algorithm and C99 for-loop
27721         decl, to eliminate the need for the args TAIL, TORTOISE and N, and
27722         to speed things up a bit on typical hosts with optimization.
27723         All uses changed (Bug#25605).
27725 2017-02-05  Simen Heggestøyl  <simenheg@gmail.com>
27727         * lisp/textmodes/css-mode.el: Require subr-x at compile time
27729 2017-02-05  Eli Zaretskii  <eliz@gnu.org>
27731         Clarify documentation of 'bufferpos-to-filepos' and 'filepos-to-bufferpos'
27733         * doc/lispref/nonascii.texi (Text Representations): Clarify that
27734         'exact' value of QUALITY argument to 'bufferpos-to-filepos' and
27735         'filepos-to-bufferpos' can lead to expensive and slow processing.
27737         * lisp/international/mule-util.el (filepos-to-bufferpos)
27738         (bufferpos-to-filepos): Doc fix.  (Bug#25626)
27740 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
27742         Merge remote-tracking branch 'origin/master' into feature/byte-switch
27744 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
27746         bytecomp.el: Use macroexp-const-p instead of bc-cond-valid-obj2-p.
27748         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-vars): Use
27749           (macroexp-cons-p) instead of (byte-compile-cond-valid-obj2-p) to
27750           make sure that obj1/obj2 can be compared with `eq'.
27752 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
27754         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1): Use eq instead of =.
27756 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
27758         bytecomp.el: Inline lapcode containing `byte-switch' correctly.
27760         * lisp/emacs-lisp/bytecomp.el (byte-compile-inline-lapcode):
27761           Restore value of byte-compile-depth after emitting a jump to a tag
27762           in a jump table, or default/done tags.
27763           Set the depth of final tags for byte-switch to nil after emitting
27764           any jumps to them.
27766 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
27768         byte-opt.el: Replace jump tables while decompiling correctly.
27770         * lisp/emacs-lisp/byte-opt.el (byte-decompile-bytecode-1):
27771           Don't make a copy of the constant vector, as it isn't used with
27772           the decompiled lapcode.
27773           Make sure that the correct lapcode pair/list is being modified while
27774           replacing the jump table.
27776 2017-02-05  Vibhav Pant  <vibhavp@gmail.com>
27778         bytecomp.el: Don't store non-keyword symbols in jump-tables.
27780         * lisp/emacs-lisp/bytecomp.el (byte-compile-cond-valid-obj2-p) return
27781           nil when OBJ is a non-keyword symbol (i.e a variable), as the jump
27782           table can only be used when comparing variables with constant values.
27784 2017-02-04  Tom Tromey  <tom@tromey.com>
27786         typo fix
27788         (css--colon-inside-selector-p): Fix typo in docstring.
27790 2017-02-04  Tom Tromey  <tom@tromey.com>
27792         Set comment-multi-line in js-mode
27794         Bug#6806:
27795         * lisp/progmodes/js.el (js-mode): Set comment-multi-line to t.
27796         * test/lisp/progmodes/js-tests.el (js-mode-auto-fill): New test.
27798 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
27800         * test/manual/indent/scss-mode.scss: Fix indentation
27802 2017-02-04  Simen Heggestøyl  <simenheg@gmail.com>
27804         Fix indentation of multiline CSS property values
27806         * lisp/textmodes/css-mode.el (css-smie-grammar): Give colons belonging
27807         to properties higher precedence.
27808         (css--colon-inside-selector-p, css--colon-inside-funcall): New
27809         functions for helping SMIE during tokenization.
27810         (css-smie--forward-token, css-smie--backward-token): Distinguish
27811         colons belonging to properties from other colons.
27813         * test/manual/indent/css-mode.css: Add tests for the changes above.
27815         * test/manual/indent/scss-mode.scss: Ditto.
27817 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
27819         Add tests for lisp/kmacro.el
27821         * test/lisp/kmacro-tests.el: New file.  (Bug#24939)
27823 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
27825         Fix autorevert-tests on MS-Windows
27827         * test/lisp/autorevert-tests.el
27828         (auto-revert-test02-auto-revert-deleted-file): Don't check that
27829         auto-revert-use-notify was reset to nil on w32.
27831 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
27833         New macro 'ert-with-message-capture'
27835         * lisp/emacs-lisp/ert-x.el (ert-with-message-capture): New macro.
27836         (Bug#25158)
27838         * test/lisp/autorevert-tests.el (auto-revert--wait-for-revert)
27839         (auto-revert-test00-auto-revert-mode)
27840         (auto-revert-test01-auto-revert-several-files)
27841         (auto-revert-test02-auto-revert-deleted-file)
27842         (auto-revert-test03-auto-revert-tail-mode)
27843         (auto-revert-test04-auto-revert-mode-dired):
27844         * test/lisp/filenotify-tests.el (file-notify-test03-autorevert): Use
27845         ert-with-message-capture.
27847 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
27849         Avoid invalid read syntax errors due to 'ert-with-test-buffer'
27851         * lisp/emacs-lisp/ert-x.el (ert-with-test-buffer): Fix the
27852         'declare' form.  (Bug#24722)
27854 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
27856         Fix a syntax error when evaluating pcase.el under Edebug
27858         * lisp/emacs-lisp/pcase.el (pcase-MACRO): Replace def-edebug-spec
27859         with an explicit 'put' form.  Suggested by Gemini Lasswell
27860         <gazally@runbox.com>.  (Bug#24717)
27862 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
27863             Eli Zaretskii  <eliz@gnu.org>
27865         Change edebug-max-depth from defconst to defcustom
27867         * lisp/emacs-lisp/edebug.el (edebug-max-depth): Add defcustom.
27868         (Bug#24713)
27870         * etc/NEWS: Mention edebug-max-depth.
27872         * doc/lispref/edebug.texi (Checking Whether to Stop): Mention
27873         edebug-max-depth and index it.  Add cross-references for
27874         max-lisp-eval-depth and max-specpdl-size.
27876 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
27878         Support options with embedded whitespace in 'dired-listing-switches'
27880         * lisp/dired.el (dired-listing-switches): Document how to quote
27881         options with embedded whitespace.
27883         * lisp/files.el (insert-directory): Use split-string-and-unquote
27884         to support dired-listing-switches that specify command-line
27885         options with embedded spaces.  (Bug#25485)
27887 2017-02-04  Gemini Lasswell  <gazally@runbox.com>
27888             Noam Postavsky  <npostavs@users.sourceforge.net>
27890         Add tests for lisp/emacs-lisp/testcover.el
27892         * test/lisp/emacs-lisp/testcover-tests.el: New file.
27893         * test/lisp/emacs-lisp/testcover-resources/testcases.el: New file.
27895 2017-02-04  Eli Zaretskii  <eliz@gnu.org>
27897         Document 'save-some-buffers-default-predicate'
27899         * doc/lispref/files.texi (Saving Buffers):
27900         * doc/emacs/files.texi (Save Commands): Document
27901         save-some-buffers-default-predicate.
27903 2017-02-04  Richard Stallman  <rms@gnu.org>
27905         New defcustom 'save-some-buffers-default-predicate'
27907         * lisp/files.el (save-some-buffers-default-predicate): New defcustom.
27908         (save-some-buffers): Use it when PRED is nil or omitted.
27910 2017-02-04  Mark Oteiza  <mvoteiza@udel.edu>
27912         Rename to if-let* and when-let*
27914         Make the existing if-let and when-let aliases.
27915         * lisp/emacs-lisp/subr-x.el (if-let*, when-let*): New macros.  Rewrite
27916         docstrings, incorporating that from let* and the existing if-let.
27917         (if-let, when-let, and-let*): Alias them.
27919 2017-02-03  Vibhav Pant  <vibhavp@gmail.com>
27921         Revert "Use maphash instead of cl-loop."
27923         This reverts commit bfa88520136dd6b187ba101e6db5a5f8f0d5e874.
27925 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
27927         Bump Emacs version to 25.2 RC1
27929         * README:
27930         * configure.ac:
27931         * msdos/sed2v2.inp:
27932         * nt/README.W32: Bump Emacs version.
27933         * lisp/ldefs-boot.el: Update.
27935 2017-02-03  Nicolas Petton  <nicolas@petton.fr>
27937         * admin/make-tarball.txt: Add documentation regarding the release banner.
27939 2017-02-03  Tino Calancha  <tino.calancha@gmail.com>
27941         * CONTRIBUTE (Documenting your changes): Index new vars/commands in manual.
27943 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
27945         Re-port alloc.c to Solaris sparc and simplify
27947         alloc.c had bitrotted a bit, and used an undefined symbol
27948         stack_base when Emacs was built on Solaris sparc, leading to
27949         compilation failures.  Also, code related to __builtin_unwind_init
27950         was unnecessarily duplicated.  Fix the bitrot and remove some
27951         duplication.
27952         * src/alloc.c: Remove uses of GC_SAVE_REGISTERS_ON_STACK, since it
27953         is never defined.
27954         (test_setjmp) [!HAVE___BUILTIN_UNWIND_INIT && GC_SETJMP_WORKS]:
27955         Define a no-op dummy, to simplify use.
27956         (test_setjmp) [!GC_SETJMP_WORKS]: Test setjmp_tested_p here rather
27957         than in the caller, to simplify use.
27958         (stacktop_sentry): New type.
27959         (__builtin_unwind_init) [!HAVE___BUILTIN_UNWIND_INIT]: New macro.
27960         (SET_STACK_TOP_ADDRESS): New macro, containing code that was duplicated.
27961         (flush_stack_call_func, Fgarbage_collect): Use it.
27962         (init_alloc): Omit unnecessary initialization.
27963         After dumping, Emacs need not re-test setjmp.
27965 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
27967         Add tests for scrolling
27969         * test/manual/scroll-tests.el: New tests for scroll-margin behavior.
27971 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
27973         Fix scrolling with partial lines
27975         * src/xdisp.c (partial_line_height): New function.
27976         (try_scrolling):
27977         * src/window.c (window_scroll_pixel_based): Use it for calculating the
27978         pixel scroll margin correctly in a window with partial lines.
27980 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
27982         Make limit on scroll-margin variable
27984         * src/xdisp.c (maximum-scroll-margin): New variable.
27985         * lisp/cus-start.el: Make it customizable.
27986         * etc/NEWS: Mention it.
27987         * doc/emacs/display.texi (Auto Scrolling):
27988         * doc/lispref/windows.texi (Textual Scrolling): Document it.
27989         * src/window.c (window_scroll_pixel_based): Use it instead of hardcoding
27990         division by 4 (Bug #5718).
27992 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
27994         Don't count mode line for scroll-margin limit
27996         * src/window.c (window_scroll_margin): Use window_box_height to avoid
27997         counting header line, scrollbars for scroll-margin limit (Bug #5718).
27999 2017-02-03  Noam Postavsky  <npostavs@gmail.com>
28001         Refactor uses of scroll_margin to a function
28003         Its effective range needs to be clamped between 0 and (window height /
28004         4), so it's better to have this constraint in a single place.
28006         * src/window.c (window_scroll_margin): New function.
28007         (window_scroll_pixel_based, window_scroll_line_based):
28008         (Frecenter, Fmove_to_window_line):
28009         * src/xdisp.c (try_scrolling, try_cursor_movement):
28010         (redisplay_window, try_window, try_window_id): Use it.
28012 2017-02-03  Dmitry Gutov  <dgutov@yandex.ru>
28014         (xref-collect-matches): Use '-E' together with '-e'
28016         * lisp/progmodes/xref.el (xref-collect-matches): Use '-E'
28017         together with '-e', as suggested by Noam Postavsky
28018         (https://lists.gnu.org/r/emacs-devel/2017-01/msg00780.html).
28020 2017-02-03  Paul Eggert  <eggert@cs.ucla.edu>
28022         Pacify Oracle Studio 12.5
28024         * src/emacs.c (main): Do not silently convert char * to bool.
28026 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
28028         Fix lisp.h underparenthesization
28030         * src/lisp.h (STACK_CONS, AUTO_STRING_WITH_LEN):
28031         Parenthesize compound literals that are function call args.
28032         Although this does not fix any bugs, it is the proper style for
28033         macro parenthesization as it means this code will continue to
28034         work even if make_lisp_ptr is changed to a macro.
28036 2017-02-02  Stefan Monnier  <monnier@iro.umontreal.ca>
28038         * lisp/doc-view.el (doc-view-mode): Don't require a final newline
28040         (doc-view-revert-buffer): Silence overflow warnings.
28042 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
28044         Merge from gnulib
28046         2017-01-30 Port to PGI 16.10 x86-64
28047         2017-01-20 time_rz: fix comment typo
28048         2017-01-14 strftime: %z is -00 if unknown
28049         This incorporates:
28050         * doc/misc/texinfo.tex, lib/c-ctype.h, lib/strftime.c:
28051         * lib/time-internal.h, lib/verify.h:
28052         Copy from gnulib.
28054 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
28056         Check if there are hunks before kill or refine a hunk
28058         * lisp/vc/diff-mode.el (diff--some-hunks-p): New predicate.
28059         (diff-hunk-kill, diff-file-kill, diff-refine-hunk): Use it (Bug#25571).
28061 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
28063         Ignore error after kill last file or hunk
28065         * lisp/vc/diff-mode.el (diff-hunk-kill): Go to beginning of hunk before kill.
28066         Ignore error after kill last hunk (Bug#25570).
28067         (diff-file-kill): Idem.
28069 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
28071         Show current line highlighted in *Occur* buffer
28073         * lisp/replace.el (list-matching-lines-current-line-face)
28074         (list-matching-lines-jump-to-current-line): New user options.
28075         (occur--orig-line, occur--orig-line-str): New variables.
28076         (occur, occur-engine): Use them.
28077         (occur--final-pos): New variable.
28078         (occur-1): Use it.
28079         (occur-engine): Idem.
28080         Show the current line with 'list-matching-lines-current-line-face'.
28081         Set point on the first matching line after the current one.
28082         * etc/NEWS: Add entry for the new option.
28084 2017-02-02  Tino Calancha  <tino.calancha@gmail.com>
28086         Allow occur command to operate on the region
28088         See discussion in:
28089         https://lists.gnu.org/r/emacs-devel/2016-12/msg01084.html
28090         * lisp/replace.el (occur--region-start, occur--region-end)
28091         (occur--matches-threshold): New variables.
28092         (occur-engine): Use them.
28093         (occur): Idem.
28094         Add optional arg REGION; if non-nil occur applies in that region.
28095         * doc/lispintro/emacs-lisp-intro.texi (Keybindings): Update manual
28096         * doc/emacs/search.texi (Other Repeating Search): Idem.
28098 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
28100         Treat list-buffers-directory as a string
28102         Another step in the long history of list-buffers-directory.  A thread
28103         branch discussing the meaning/use of the variable starts here
28104         https://lists.gnu.org/r/emacs-devel/2009-09/msg00684.html
28105         Also see (info "(elisp) Buffer File Name").
28106         * lisp/buff-menu.el: Relocate special case code into info.el.  Nix
28107         Info-* defvars.
28108         (Buffer-menu--pretty-file-name): Remove special case.  Use
28109         bound-and-true-p.
28110         (Buffer-menu-info-node-description): Remove.
28111         * lisp/ibuffer.el (ibuffer-buffer-file-name): Treat
28112         list-buffers-directory as a string.
28113         * lisp/info.el (Info-node-description): New function.
28114         (Info-select-node): Use it.
28116 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
28118         Turn on lexical-binding in parse-time.el
28120         * lisp/calendar/parse-time.el: Turn on lexical-binding.
28121         (parse-time-iso8601-regexp, parse-iso8601-time-string): Remove unused
28122         bindings.
28124 2017-02-02  Mark Oteiza  <mvoteiza@udel.edu>
28126         Prevent creating thumbnails of all gif frames
28128         With the previous defaults, doing image-dired on a directory with an
28129         animated foo.gif would cause creation of foo.thumb-N.gif for each of
28130         N frames in foo.gif.  By default image-dired looks for foo.thumb.gif, so
28131         there additionally is no usable thumbnail after all the needless effort.
28132         image-dired never handled animation, regardless.
28133         * lisp/image-dired.el: Mention limitation.
28134         (image-dired-cmd-create-thumbnail-options):
28135         (image-dired-cmd-create-temp-image-options):
28136         (image-dired-cmd-create-standard-thumbnail-options): Append [0] to
28137         filename to indicate only converting the 0th frame.
28138         (image-dired-display-image-mode): Don't show a cursor.
28140 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
28142         Fix quitting bug when buffers are frozen
28144         Problem noted by Eli Zaretskii in:
28145         https://lists.gnu.org/r/emacs-devel/2017-01/msg00721.html
28146         This patch also fixes some other issues in that report.
28147         * src/lisp.h (incr_rarely_quit): Remove.
28148         All callers changed to use rarely_quit directly.
28149         * src/search.c (freeze_buffer_relocation)
28150         (thaw_buffer_relocation): New functions.
28151         (looking_at_1, fast_looking_at, search_buffer):
28152         Use them to fix bug when quitting when buffers are frozen.
28153         * src/sysdep.c (emacs_intr_read): Rename from emacs_nointr_read.
28154         All uses changed.
28156 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
28158         Revamp quitting and fix infloops
28160         This fixes some infinite loops that cannot be quitted out of,
28161         e.g., (defun foo () (nth most-positive-fixnum '#1=(1 . #1#)))
28162         when byte-compiled and when run under X.  See:
28163         https://lists.gnu.org/r/emacs-devel/2017-01/msg00577.html
28164         This also attempts to keep the performance improvements I recently
28165         added, as much as possible under the constraint that the infloops
28166         must be caught.  In some cases this fixes infloop bugs recently
28167         introduced when I removed immediate_quit.
28168         * src/alloc.c (Fmake_list):
28169         Use rarely_quit, not maybe_quit, for speed in the usual case.
28170         * src/bytecode.c (exec_byte_code):
28171         * src/editfns.c (Fcompare_buffer_substrings):
28172         * src/fns.c (Fnthcdr):
28173         * src/syntax.c (scan_words, skip_chars, skip_syntaxes)
28174         (Fbackward_prefix_chars):
28175         Use rarely_quit so that users can C-g out of long loops.
28176         * src/callproc.c (call_process_cleanup, call_process):
28177         * src/fileio.c (read_non_regular, Finsert_file_contents):
28178         * src/indent.c (compute_motion):
28179         * src/syntax.c (scan_words, Fforward_comment):
28180         Remove now-unnecessary maybe_quit calls.
28181         * src/callproc.c (call_process):
28182         * src/doc.c (get_doc_string, Fsnarf_documentation):
28183         * src/fileio.c (Fcopy_file, read_non_regular, Finsert_file_contents):
28184         * src/lread.c (safe_to_load_version):
28185         * src/sysdep.c (system_process_attributes) [GNU_LINUX]:
28186         Use emacs_read_quit instead of emacs_read in places where
28187         C-g handling is safe.
28188         * src/eval.c (maybe_quit): Move comment here from lisp.h.
28189         * src/fileio.c (Fcopy_file, e_write):
28190         Use emacs_write_quit instead of emacs_write_sig in places where
28191         C-g handling is safe.
28192         * src/filelock.c (create_lock_file): Use emacs_write, not
28193         plain write, as emacs_write no longer has a problem.
28194         (read_lock_data): Use emacs_read, not read, as emacs_read
28195         no longer has a problem.
28196         * src/fns.c (rarely_quit): Move to lisp.h and rename to
28197         incr_rarely_quit.  All uses changed..
28198         * src/fns.c (Fmemq, Fmemql, Fassq, Frassq, Fplist_put, Fplist_member):
28199         * src/indent.c (compute_motion):
28200         * src/syntax.c (find_defun_start, back_comment, forw_comment)
28201         (Fforward_comment, scan_lists, scan_sexps_forward):
28202         Use incr_rarely_quit so that users can C-g out of long loops.
28203         * src/fns.c (Fnconc): Move incr_rarely_quit call to within
28204         inner loop, so that it catches C-g there too.
28205         * src/keyboard.c (tty_read_avail_input): Remove commented-out
28206         and now-obsolete code dealing with interrupts.
28207         * src/lisp.h (rarely_quit, incr_rarely_quit): New functions,
28208         the latter moved here from fns.c and renamed from rarely_quit.
28209         (emacs_read_quit, emacs_write_quit): New decls.
28210         * src/search.c (find_newline, search_buffer, find_newline1):
28211         Add maybe_quit to catch C-g.
28212         * src/sysdep.c (get_child_status): Always invoke maybe_quit
28213         if interruptible, so that the caller need not bother.
28214         (emacs_nointr_read, emacs_read_quit, emacs_write_quit):
28215         New functions.
28216         (emacs_read): Rewrite in terms of emacs_nointr_read.
28217         Do not handle C-g or signals; that is now for emacs_read_quit.
28218         (emacs_full_write): Replace PROCESS_SIGNALS two-way arg
28219         with INTERRUPTIBLE three-way arg.  All uses changed.
28221 2017-02-02  Paul Eggert  <eggert@cs.ucla.edu>
28223         Remove immediate_quit.
28225         The old code that sets and clears immediate_quit was
28226         ineffective except when Emacs is running in terminal mode, and
28227         has problematic race conditions anyway, so remove it.  This
28228         will introduce some hangs when Emacs runs in terminal mode,
28229         and these hangs should be fixed in followup patches.
28230         * src/keyboard.c (immediate_quit): Remove.  All uses removed.
28232 2017-02-01  Alan Mackenzie  <acm@muc.de>
28234         Allow C++ nested brace-list-entries to be better indented.
28236         This fixes bug #24431.  The key change of this bug fix is correctly analyzing
28237         nested brace lists when the opening element stands on the same line as both
28238         its introductory brace and an enclosing parameter list parenthesis.
28240         * lisp/progmodes/cc-align.el (c-lineup-under-anchor): New line-up function.
28242         * lisp/progmodes/cc-engine.el (c-looking-at-or-maybe-in-bracelist): Accept the
28243         presence of exactly an identifier between an open parenthesis and an open
28244         brace as evidence of the brace starting a brace list.
28245         (c-looking-at-statement-block): New function, extracted from
28246         c-looking-at-inexpr-block.  Enhance it to analyze inner blocks recursively
28247         when needed.
28248         (c-looking-at-inexpr-block): Extract new function (see above) and call it.
28249         (c-add-stmt-syntax): Enhance, with new &optional parameter, to supply the
28250         prime syntactic symbol with a fixed anchor point.  When this is used, restrict
28251         all added syntactic symbols to those having an anchor point on the same line.
28252         Add, in addition to the current additional symbols, c-brace-list-entry when
28253         needed; use c-looking-at-statement-block to determine the latter.
28254         (c-guess-basic-syntax, CASE 9D): Use c-add-stmt-syntax rather than just
28255         c-add-syntax, to assemble the syntactic context of a 'brace-list-entry, thus
28256         getting, possibly, several accompanying syntactic entries.
28258         * lisp/progmodes/cc-styles.el (c-style-alist, "gnu" style): New entry for
28259         'brace-list-intro, namely c-lineup-arglist-intro-after-paren.
28261         * lisp/progmodes/cc-vars.el (c-offsets-alist): Change the factory default
28262         offset for 'brace-list-entry from 0 to c-lineup-under-anchor.
28264         * doc/misc/cc-mode.texi (Syntactic Symbols): Amend the definition of
28265         brace-list-intro.
28266         (Brace List Symbols): Amend the example to show the new analysis of brace
28267         lists when the first element comes on the same line as the opening brace.
28268         (Misc Line-Up): Document the new line-up function c-lineup-under-anchor.
28270 2017-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
28272         Revert "DOn't use string-as-unibyte in Gnus"
28274         This reverts commit d1c931009004aef847105b7bac6b6ffafd985b82.
28276         Not all the cases where we had string-as-unibyte were characters,
28277         so this needs to be considered more thoroughly before being redone.
28279 2017-02-01  Vibhav Pant  <vibhavp@gmail.com>
28281         Use maphash instead of cl-loop.
28283         * lisp/emacs-lisp/bytecomp.el: (byte-compile-lapcode) Use maphash
28284           instead of cl-loop
28286 2017-02-01  Michael Albinus  <michael.albinus@gmx.de>
28288         Fix a subtle problem in Tramp with timers
28290         * lisp/net/tramp.el (tramp-accept-process-output): Change argument
28291         list.  Make it work when called inside a timer.  See
28292         <https://lists.gnu.org/r/tramp-devel/2017-01/msg00010.html>.
28294 2017-01-31  Eli Zaretskii  <eliz@gnu.org>
28296         Index byte-compile-debug
28298         * doc/lispref/compile.texi (Compilation Functions): Index
28299         byte-compile-debug.
28301 2017-01-31  Philipp Stephani  <phst@google.com>
28303         Document `byte-compile-debug' in the ELisp manual
28305         * doc/lispref/compile.texi: Document variable `byte-compile-debug'.
28307 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
28309         read-multiple-choice: explain dialog popups more
28311         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Explain
28312         when a graphical popup is used and how it can be avoided.
28314 2017-01-31  Ted Zlatanov  <tzz@lifelogs.com>
28316         auth-source-user-and-password: add forgotten user parameter
28318                 * lisp/auth-source.el (auth-source-user-and-password): Use
28319                   accidentally unused "user" parameter.
28320                   Reported by Oscar Najera <najera.oscar@gmail.com>.
28322 2017-01-31  Simen Heggestøyl  <simenheg@gmail.com>
28324         Fix typo in a NEWS entry for CSS mode
28326 2017-01-31  Philipp Stephani  <phst@google.com>
28328         Document variable `byte-compile-debug'
28330         * lisp/emacs-lisp/bytecomp.el (byte-compile-debug): Document variable.
28332 2017-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
28334         DOn't use string-as-unibyte in Gnus
28336         * lisp/gnus/nnmail.el (nnmail-parse-active): Don't use
28337         string-as-unibyte.
28338         (nnmail-insert-xref): Ditto.
28340         * lisp/gnus/canlock.el (canlock-make-cancel-key): Ditto.
28342         * lisp/gnus/gnus-art.el (gnus-article-browse-html-parts): Ditto.
28344         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Ditto.
28345         (gnus-browse-foreign-server): Ditto.
28346         (gnus-browse-foreign-server): Ditto.
28348         * lisp/gnus/gnus-start.el
28349         (gnus-update-active-hashtb-from-killed): Ditto.
28350         (gnus-read-newsrc-el-file): Ditto.
28352         * lisp/gnus/mml.el (mml-generate-mime-1): Ditto.
28354         * lisp/gnus/nnir.el (nnir-get-active): Ditto.
28355         (nnir-get-active): Ditto.
28357 2017-01-31  Juri Linkov  <juri@linkov.net>
28359         Allow C-s C-w to yank ' to the search ring in the Gnus article buffer
28361         * lisp/gnus/gnus-art.el (gnus-article-mode-syntax-table): Make
28362         M-. in article buffers work for `foo' strings, and still allow
28363         C-s C-w to yank ' to the search ring (bug#22248).
28365 2017-01-31  Paul Eggert  <eggert@cs.ucla.edu>
28367         * src/alloc.c, src/lisp.h: Fix minor glitches in recent changes.
28369 2017-01-31  Tino Calancha  <tino.calancha@gmail.com>
28371         * test/lisp/vc/diff-mode-tests.el: Require diff-mode.
28373 2017-01-31  Dima Kogan  <dima@secretsauce.net>
28375         New test for diff-mode handling trailing --
28377         test/lisp/vc/diff-mode-tests.el: New test file
28379 2017-01-31  Dima Kogan  <dima@secretsauce.net>
28381         Handle patch terminators produced by git and bzr patch export
28383         Patch by Juri Linkov posted in the #9597 bug report
28385         * lisp/vc/diff-mode.el (diff-sanity-check-hunk): Find and ignore
28386         terminator (Bug #9597, #5302)
28388 2017-01-31  Dima Kogan  <dima@secretsauce.net>
28390         Revert two accidental commits
28392         This reverts commit f3c77d11af65f3b319b1784b4c3cf08c51aa7997.
28393         This reverts commit 3c941b900007c9e79c00af0f21d88154f6d8af1a.
28395 2017-01-31  Dima Kogan  <dima@secretsauce.net>
28397         stash
28399 2017-01-31  Dima Kogan  <dima@secretsauce.net>
28401         comint-get-old-input-default: behavior follows docstring
28403         lisp/comint.el (comint-get-old-input-default): Modify behavior to follow
28404         docstring: if `comint-use-prompt-regexp' is nil, then return the CURRENT LINE,
28405         if point is on an output field.
28407 2017-01-31  Noam Postavsky  <npostavs@gmail.com>
28409         Fix call to debugger on assertion failure
28411         * lisp/emacs-lisp/cl-preloaded.el (cl--assertion-failed): The first
28412         argument must be `error', and the second is a list of arguments for
28413         `signal'.
28415 2017-01-30  Tom Tromey  <tom@tromey.com>
28417         css-mode documentation lookup feature
28419         * etc/NEWS: Mention new feature.
28420         * lisp/textmodes/css-mode.el (css-mode-map): New defvar.
28421         (css--mdn-lookup-history): New defvar.
28422         (css-lookup-url-format): New defcustom.
28423         (css--mdn-property-regexp, css--mdn-completion-list): New defconsts.
28424         (css--mdn-after-render, css--mdn-find-symbol, css-lookup-symbol): New
28425         defuns.
28426         * test/lisp/textmodes/css-mode-tests.el (css-mdn-symbol-guessing): New
28427         test.
28429 2017-01-30  Glenn Morris  <rgm@gnu.org>
28431         edt-mapper: just loading a library should not run code
28433         * lisp/emulation/edt-mapper.el (edt-mapper): New function,
28434         containing code previously at top-level.
28435         * lisp/emulation/edt.el (edt-load-keys): After loading edt-mapper,
28436         run edt-mapper function.
28438 2017-01-30  Glenn Morris  <rgm@gnu.org>
28440         mh-compat.el: remove duplicate definition
28442         * lisp/mh-e/mh-compat.el (mh-make-obsolete-variable):
28443         Remove duplicate definition.
28445 2017-01-30  Paul Eggert  <eggert@cs.ucla.edu>
28447         Add delq list arg check
28449         * src/fns.c (Fdelq): Check that list is a proper list.
28450         This is more compatible with what ‘delete’ does.
28452 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
28454         * lisp/indent.el (indent-region-line-by-line): New function.
28456         Extracted from indent-region.
28457         (indent-region, indent-region-function): Use it.
28459 2017-01-30  Stefan Monnier  <monnier@iro.umontreal.ca>
28461         * lisp/subr.el (string-make-unibyte, string-make-multibyte): Obsolete.
28463 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
28465         More fixes to prevent crashes on C-g
28467         * src/fns.c (Fassq, Frassq, Fplist_put): Reset immediate_quit
28468         before returning, to avoid crashes in quit.  (Bug#25566)
28470 2017-01-30  Eli Zaretskii  <eliz@gnu.org>
28472         Avoid crashes on C-g in TTY sessions
28474         * src/keyboard.c (handle_interrupt): Don't quit if
28475         waiting_for_input is set, as doing that is "unsafe": it will
28476         abort.  (Bug#25566)
28478 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
28480         * lisp/emacs-lisp/bytecomp.el: Create jump tables with :purecopy t
28482         Merge remote-tracking branch 'origin/master' into feature/byte-switch
28484 2017-01-30  Vibhav Pant  <vibhavp@gmail.com>
28486         Fix hash tables not being purified correctly.
28488         * src/alloc.c
28489         (purecopy_hash_table) New function, makes a copy of the given hash
28490         table in pure storage.
28491         Add new struct `pinned_object' and `pinned_objects' linked list for
28492         pinning objects.
28493         (Fpurecopy) Allow purifying hash tables
28494         (purecopy) Pin hash tables that are either weak or not declared with
28495         `:purecopy t`, use purecopy_hash_table otherwise.
28496         (marked_pinned_objects) New function, marks all objects in pinned_objects.
28497         (garbage_collect_1) Use it. Mark all pinned objects before sweeping.
28498         * src/lisp.h: Add new field `pure' to struct `Lisp_Hash_Table'.
28499         * src/fns.c: Add `purecopy' parameter to hash tables.
28500         (Fmake_hash_table): Check for a `:purecopy PURECOPY' argument, pass it
28501         to make_hash_table.
28502         (make_hash_table): Add `pure' parameter, set h->pure to it.
28503         (Fclrhash, Fremhash, Fputhash): Enforce that the table is impure with
28504         CHECK_IMPURE.
28505         * src/lread.c: (read1) Parse for `purecopy' parameter while reading
28506           hash tables.
28507         * src/print.c: (print_object) add the `purecopy' parameter while
28508           printing hash tables.
28509         * src/category.c, src/emacs-module.c, src/image.c, src/profiler.c,
28510           src/xterm.c: Use new (make_hash_table).
28512 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
28514         Escape dash in xref rgrep regexp
28516         * lisp/progmodes/xref.el (xref-collect-matches): Escape dash
28517         in REGEXP if it's the first character.
28519 2017-01-29  Dmitry Gutov  <dgutov@yandex.ru>
28521         Say JavaScript, not Javascript
28523         * lisp/progmodes/js.el (js-mode-map, js-syntax-propertize)
28524         (js-js-error, js-eval, js-set-js-context)
28525         (js--get-js-context):
28526         Refer to the language consistently as JavaScript.
28528 2017-01-29  Juanma Barranquero  <lekktu@gmail.com>
28530         lisp/*.el: Fix some warnings
28532         * lisp/battery.el (dbus-get-property):
28533         * lisp/dired-aux.el (format-spec): Declare function.
28535         * lisp/net/zeroconf.el (zeroconf-list-service-names)
28536         (zeroconf-list-service-types, zeroconf-list-services):
28537         Mark unused lexical arg.
28539         * lisp/progmodes/hideshow.el (hs-hide-block-at-point):
28540         * lisp/progmodes/sql.el (sql-end-of-statement):
28541         Pass LIMIT to 'looking-back'.
28543 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
28545         Don't warn about obsolete defgenerics when defining them
28547         * lisp/emacs-lisp/cl-generic.el (cl-defgeneric): The declaration code
28548         should run after the definition code (Bug#25556).
28550 2017-01-29  Noam Postavsky  <npostavs@gmail.com>
28552         Call modification hooks in org-src fontify buffers
28554         * lisp/org/org-src.el (org-src-font-lock-fontify-block): Let-bind
28555         `inhibit-modification-hooks' to nil, since this function can be called
28556         from jit-lock-function which binds that variable to t (Bug#25132).
28558 2017-01-29  Tino Calancha  <tino.calancha@gmail.com>
28560         Fix Bug#25524
28562         * lisp/vc/diff-mode.el (diff-beginning-of-hunk):
28563         Return position at the beginning off the hunk.
28564         (diff-file-junk-re): Add SVN keywords.
28566 2017-01-28  Stephen Berman  <stephen.berman@gmx.net>
28568         hl-line.el: Don't try to operate on a killed buffer
28570         * lisp/hl-line.el (hl-line-maybe-unhighlight): Examine only
28571         live buffers (bug#25522).
28573 2017-01-28  Mark Oteiza  <mvoteiza@udel.edu>
28575         Use access-file in EWW to check before downloading a file
28577         * lisp/net/eww.el (eww-download): Check accessibility of
28578         eww-download-directory to prevent starting a download that will fail
28579         to write.
28580         * src/fileio.c (Faccess_file): Clarify the use of string argument in
28581         the docstring.
28583 2017-01-28  Yuri D'Elia  <wavexx@thregr.org>
28585         Subject: Check Bcc after the Messag hook has run
28587         * lisp/gnus/message.el (message-send): If the hook modifies
28588         the message (mml tags or headers), we should check bcc on the
28589         final message, not on the original.
28591 2017-01-28  Eli Zaretskii  <eliz@gnu.org>
28593         Improve documentation of 'format' conversions
28595         * src/editfns.c (Fformat): More accurate description of %g and
28596         effects of the various flags on it.  More accurate description of
28597         integer conversions.
28599         * doc/lispref/strings.texi (Formatting Strings): More accurate
28600         description of %g and effects of the various flags on it.  More
28601         accurate description of integer conversions.  (Bug#25557)
28603 2017-01-28  Juanma Barranquero  <lekktu@gmail.com>
28605         test/*.el: Avoid byte-compiler warnings
28607         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Remove unused 'let*'.
28609         * test/lisp/faces-tests.el (faces--test): New customization group.
28610         (faces--test1, faces--test2): Use it.
28612         * test/lisp/ffap-tests.el (ffap-tests-25243):
28613         Call 'mark-whole-buffer' interactively.
28615         * test/lisp/ibuffer-tests.el (ibuffer-filter-groups, ibuffer-filtering-alist)
28616         (ibuffer-filtering-qualifiers, ibuffer-save-with-custom)
28617         (ibuffer-saved-filter-groups, ibuffer-saved-filters): Defvar.
28618         (ibuffer-format-qualifier, ibuffer-unary-operand): Declare.
28620         * test/lisp/minibuffer-tests.el (completion-test1):
28621         Mark unused lexical arguments.
28623         * test/lisp/simple-tests.el (simple-test--dummy-buffer): Wrap result in
28624         'with-no-warnings' to avoid them when the macro is invoked for effect.
28626         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-count-test):
28627         Mark unused lexical arguments.
28629         * test/lisp/emacs-lisp/let-alist-tests.el (let-alist-surface-test):
28630         Mark unused lexical arguments.
28631         (let-alist-cons): Remove unused let binding.
28633         * test/lisp/net/dbus-tests.el (dbus-debug): Defvar.
28634         (dbus-get-unique-name): Declare.
28636         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid):
28637         Call 'font-lock-fontify-buffer' interactively.
28639         * test/lisp/textmodes/tildify-tests.el (tildify-space-undo-test--test):
28640         Mark unused lexical argument.
28642 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
28644         Restore a test that was removed by a recent commit
28646         * src/fileio.c (Ffile_accessible_directory_p): Don't overwrite the
28647         errno value unless it's necessary.  (Bug#25419)
28649 2017-01-27  Mark Oteiza  <mvoteiza@udel.edu>
28651         Fix a couple eww customization types
28653         * lisp/new/eww.el (eww-download-directory, eww-bookmarks-directory):
28654         Change customization type to "directory".
28656 2017-01-27  Philipp Stephani  <phst@google.com>
28658         Don't require a shell when loading htmlfontify
28660         * lisp/htmlfontify.el (hfy-which-etags): Don't call a shell for
28661         detecting the etags version (Bug#25468).
28662         * test/lisp/htmlfontify-tests.el (htmlfontify-bug25468): Add unit
28663         test.
28665 2017-01-27  Paul Eggert  <eggert@cs.ucla.edu>
28667         Slightly tune file-accessible-directory-p fix
28669         * src/fileio.c (Ffile_accessible_directory_p):
28670         Remove unnecessary test (Bug#25419).
28672 2017-01-27  Arash Esbati  <arash@gnu.org>
28674         Add \citetitle to biblatex cite format
28676         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
28677         \citetitle[*] to `reftex-cite-format' and bind them to keys i/I
28678         per user request
28679         https://lists.gnu.org/r/auctex/2017-01/msg00049.html.
28681 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
28683         Fix charsets and encodings from non-file MIME parts
28685         * lisp/gnus/mml.el (mml-generate-mime-1): Get the charsets and
28686         encoding right for parts that do not originate from files.
28688 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
28690         Fix 'describe-variable' for longish variable values
28692         * lisp/help-fns.el (describe-variable): Don't accidentally remove
28693         the last character of a variable's value.  (Bug#25545)
28695 2017-01-27  Vladimir Panteleev  <git@thecybershadow.net>  (tiny change)
28697         Remove stale functions from ert manual
28699         * doc/misc/ert.texi (Useful Techniques when Writing Tests):
28700         Replace ert--mismatch references with its cl-lib replacement,
28701         cl-mismatch.
28703 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
28705         Fix a typo in Eshell manual
28707         * doc/misc/eshell.texi (History): Fix a typo.  Reported by Mak
28708         Kolybabi <mak@kolybabi.com>.
28710 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
28712         Ensure last line is at window bottom in shell buffers
28714         * lisp/shell.el (shell-mode): Use setq-local.  Set
28715         scroll-conservatively to 101 locally.  See the discussion at
28716         https://lists.gnu.org/r/emacs-devel/2016-12/msg00736.html
28717         for the reasons.
28719 2017-01-27  Michael Hoffman  <emacs-hoffman@sneakemail.com>  (tiny change)
28721         Support Bash Ctrl-Z indication of directory name in term.el
28723         * lisp/term/xterm.el (term-emulate-terminal): Do not display ?\032 escape
28724         codes even when 'handled-ansi-message' is non-nil.  (Bug#11919)
28726 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
28728         Don't report zero errno for inaccessible directory
28730         * src/fileio.c (Ffile_accessible_directory_p): Report EACCES when
28731         a file handler reports a failure.  (Bug#25419)
28733 2017-01-27  Eli Zaretskii  <eliz@gnu.org>
28735         Fix filenotify-tests on MS-Windows
28737         * test/lisp/filenotify-tests.el (file-notify-test04-file-validity)
28738         (file-notify-test05-dir-validity)
28739         (file-notify-test06-many-events)
28740         (file-notify-test08-watched-file-in-watched-dir): Manually remove
28741         the watch descriptor before calling file-notify--test-cleanup-p.
28742         (Bug#25539)
28744 2017-01-27  Hong Xu  <hong@topbug.net>
28746         python-mode: Fix detection for opening blocks.
28748         * lisp/progmodes/python.el
28749         (python-info-dedenter-opening-block-positions): There can't be any
28750         back-indented lines between an opening block and the current line.
28752         * test/lisp/progmodes/python-tests.el
28753         (python-indent-electric-colon-4): Add an indent test case where
28754         there is one-more indented previous opening block.
28756 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
28758         Fix Message check for bogus domain names
28760         * lisp/gnus/message.el (message-make-fqdn): Fix check for
28761         bogus system names (bug#24570).
28763 2017-01-27  Øyvind Stegard  <oyvind@stegard.net>  (tiny change)
28765         Subject: Restore correct Gnus newsgroup name after sending message
28767         * lisp/gnus/gnus-msg.el (gnus-msg-mail): Set the value of
28768         gnus-newsgroup-name in the correct buffer (bug#24329).
28770 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
28772         Mention the new Gnus sorting command
28774 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
28776         Don't try to find charsets of non-text MIME parts
28778         * lisp/gnus/mml.el (mml-generate-mime-1): It seems nonsensical
28779         to try to determine the charset of non-text message parts, so
28780         skip that (bug#24190).  This will also remove messages like
28781         "bunzip2ing /tmp/acsb.cpio.bz2...done" while sending messages
28782         if you include such files.
28784 2017-01-27  Lars Ingebrigtsen  <larsi@gnus.org>
28786         Add new command gnus-article-sort-by-marks
28788         * doc/misc/gnus.texi (Summary Sorting): Mention
28789         gnus-summary-sort-by-marks.
28791         * lisp/gnus/gnus-sum.el (gnus-article-sort-by-marks): New
28792         function (bug#23393).
28793         (gnus-thread-sort-by-marks): Ditto.
28794         (gnus-summary-sort-by-mark): New command suggested by Dan Jacobson.
28795         (gnus-summary-mode-map): Add keystroke.
28796         (gnus-summary-make-menu-bar): Add to menu.
28798 2017-01-26  Katsumi Yamaoka  <yamaoka@jpl.org>
28800         Make `C-h b' work correctly in Gnus article buffer (bug#18257)
28802         * lisp/gnus/gnus-art.el (gnus-article-describe-bindings):
28803         Ignore summary commands that aren't bound to
28804         gnus-article-read-summary-keys keys (bug#18257).
28806 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28808         Fix crossposting in non-primary groups
28810         * lisp/gnus/message.el
28811         (message-cross-post-followup-to-header): Gnus server prefixes
28812         shouldn't be included in the group names (bug#21661).
28813         (message-cross-post-followup-to): Ditto.
28815 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28817         Gnus doc clarification
28819         * doc/misc/gnus.texi (Unavailable Servers): Explicitly say
28820         that "unreachable" is the same as disabling it (bug#21630).
28822 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28824         Remove dead code from rfc2047
28826         * lisp/mail/rfc2047.el (rfc2047-fold-field): Remove dead code.
28828         It's been disabled since 2005, when I made the change with the
28829         following comment.
28831         (rfc2047-encode-message-header): Disabled header folding -- not
28832         all headers can be folded, and this should be done by the message
28833         composition mode.  Probably.  I think.
28835 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28837         Fill too long mail headers
28839         * lisp/gnus/message.el (message--fold-long-headers): New
28840         function to fold too-long headers (bug#21608).
28841         (message-send-mail): Use it to fill headers longer than 998
28842         characters (which is the protocol limit).
28844 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28846         Make nndoc more resilient against corrupted files
28848         * lisp/gnus/nndoc.el (nndoc-possibly-change-buffer): Don't bug
28849         out on invalid files, like invalid .gz files (bug#21538).
28850         This may hinder Gnus from starting up.
28852 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28854         Respect buffer-local message-fcc-handler-function
28856         * lisp/gnus/message.el (message-do-fcc): Copy the local
28857         variables from the Message buffer so that local settings of
28858         `message-fcc-handler-function' etc are respected (bug#21174).
28860 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28862         (message-do-fcc): Modernize the code slightly.
28864         * lisp/gnus/message.el (message-do-fcc): Modernize the code slightly.
28866 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28868         Avoid a regexp overflow in message-goto-body
28870         * lisp/gnus/message.el (message-goto-body-1): Avoid using a
28871         complicated backtracking regexp, because they may overflow on
28872         large headers (bug#21160).
28874 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28876         Refactor message-goto-body
28878         * lisp/gnus/message.el (message-goto-body-1): Refactor out for reuse.
28880 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28882         Fix typo in last checkin
28884         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
28885         nnimap-shell-program (bug#20651).
28887 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28889         Document nnimap-shell-program
28891         * lisp/gnus/nnimap.el (nnimap-shell-program): Document
28892         nnimap-shell-program (bug#20651).
28894 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28896         Document :shell-command in `make-network-process'
28898         * doc/lispref/processes.texi (Network): Document :shell-command.
28900         * lisp/net/network-stream.el (open-network-stream): Document
28901         the :shell-command parameter (bug#20651).
28903 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28905         Gnus doc clarification
28907         * lisp/gnus/gnus-sum.el (gnus-summary-save-article): Mention
28908         the gnus-prompt-before-saving variable (bug#20500).
28910 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28912         Fix the previous mml patch better
28914         * lisp/gnus/mml.el (mml-minibuffer-read-file): Fix the
28915         previous patch in a better way (bug#20480).
28917 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28919         Give a slight better error message in mml-minibuffer-read-file
28921         * lisp/gnus/mml.el (mml-minibuffer-read-file): Give a slightly
28922         better error message when the user enters nothing (bug#20480).
28924 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
28926         * lisp/emacs-lisp/bytecomp.el:(bc-cond-jump-table-info)add docstring
28928 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28930         Make eww buffers prettier in the buffer listing
28932         * lisp/net/eww.el (eww-render): Put the currently visited URL
28933         into the buffer listing (bug#23738).
28934         (eww-render): Ditto.
28936 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28938         Allow mml-attach-file to prompt less
28940         * lisp/gnus/mml.el (mml-attach-file): If given a prefix, don't
28941         prompt for type/description/disposition, but use defaults
28942         (bug#19202).
28944 2017-01-26  Lars Ingebrigtsen  <larsi@gnus.org>
28946         Don't allow message-newline-and-reformat to be run outside the body
28948         * lisp/gnus/message.el (message-newline-and-reformat): Error
28949         out if run outside the body of a message (bug#18820).
28951 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
28953         * lisp/emacs-lisp/bytecomp.el: Use correct function to push nil
28955         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Use
28956           byte-compile-constant instead of byte-compile-form to push nil.
28958 2017-01-26  Vibhav Pant  <vibhavp@gmail.com>
28960         * lisp/emacs-lisp/disass.el: Fix spacing while showing jump tables
28962 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
28964         Replace QUIT with maybe_quit
28966         There’s no longer need to have QUIT stand for a slug of C statements.
28967         Use the more-obvious function-call syntax instead.
28968         Also, use true and false when setting immediate_quit.
28969         These changes should not affect the generated machine code.
28970         * src/lisp.h (QUIT): Remove.  All uses replaced by maybe_quit.
28972 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
28974         A quicker check for quit
28976         On some microbenchmarks this lets Emacs run 60% faster on my
28977         platform (AMD Phenom II X4 910e, Fedora 25 x86-64).
28978         * src/atimer.c: Include keyboard.h, for pending_signals.
28979         * src/editfns.c (Fcompare_buffer_substrings):
28980         * src/fns.c (Fnthcdr, Fmemq, Fmemql, Fassq, Frassq, Fplist_put)
28981         (Fnconc, Fplist_member):
28982         Set and clear immediate_quit before and after loop instead of
28983         executing QUIT each time through the loop.  This is OK for loops
28984         that affect only locals.
28985         * src/eval.c (process_quit_flag): Now static.
28986         (maybe_quit): New function, containing QUIT’s old body.
28987         * src/fns.c (rarely_quit): New function.
28988         (Fmember, Fassoc, Frassoc, Fdelete, Fnreverse, Freverse)
28989         (Flax_plist_get, Flax_plist_put, internal_equal, Fnconc):
28990         Use it instead of QUIT, for
28991         speed in tight loops that might modify non-locals.
28992         * src/keyboard.h (pending_signals, process_pending_signals):
28993         These belong to keyboard.c, so move them here ...
28994         * src/lisp.h: ... from here.
28995         (QUIT): Redefine in terms of the new maybe_quit function, which
28996         contains this macro’s old definiens.  This works well with branch
28997         prediction on processors with return stack buffers, e.g., x86
28998         other than the original Pentium.
29000 2017-01-26  Paul Eggert  <eggert@cs.ucla.edu>
29002         Simplify make-list implementation
29004         * src/alloc.c (Fmake_list): Don’t unroll loop, as the complexity
29005         is not worth it these days.
29007 2017-01-26  Mark Oteiza  <mvoteiza@udel.edu>
29009         Make use of cl-loop destructuring
29011         * lisp/progmodes/js.el (js--get-tabs): Replace extraneous bits with
29012         destructuring.
29013         (with-js): Add declare forms.
29015 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29017         Revert "Bind C-c keys in the article buffer"
29019         This reverts commit 6b4195f2ace1f6328c5a833fde40f39babef4fa6.
29021         The commit somehow lead to problems in other parts of Emacs.
29023 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29025         Document how to quote MML tags
29027         * doc/misc/emacs-mime.texi (MML Definition): Mention how to
29028         quote MML tags (bug#18881).
29030 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29032         Make address parsing more robust
29034         * lisp/mail/ietf-drums.el (ietf-drums-parse-address): Don't
29035         bug out on addresses like
29036         (ietf-drums-parse-address "\"Foo \"bar\" <larsi@gnus.org>")
29037         (bug#18572).
29039 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29041         Fix the %P (line number) thing in Gnus summary buffers
29043         * lisp/gnus/gnus-salt.el (gnus-pick-line-number): Remove hack.
29045         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Reset the
29046         "pick" mode line number on entry instead of relying in a hack (bug#18311).
29048 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29050         Fix wrong documentation on nnmairix keystrokes
29052         * doc/misc/gnus.texi (nnmairix keyboard shortcuts): The
29053         nnmairix commands are on G G, not $ (bug#18260).
29055 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29057         Bind C-c keys in the article buffer
29059         * lisp/gnus/gnus-art.el (gnus-article-mode-map): Also bind the
29060         C-c keys so that they execute in the summary buffer
29061         (bug#18257).  This makes commands like `C-c C-f' work from the
29062         article buffer.
29064 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29066         Don't mark articles in Gnus as displayed when they aren't
29068         * lisp/gnus/gnus-sum.el (gnus-summary-read-group-1): Don't
29069         mark any articles as selected if we're not selecting any
29070         articles (bug#18255).
29072 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
29074         * lisp/emacs-lisp/disass.el: Display jump tables for switch.
29076         * lisp/emacs-lisp/bytecomp.el:Use correct size for switch jump-table
29078         * lisp/emacs-lisp/bytecomp.el: Simplify b-c-cond-valid-obj2-p
29080         * lisp/emacs-lisp/bytecomp.el: Fix byte-switch codegen with symbols.
29082 2017-01-25  Vibhav Pant  <vibhavp@gmail.com>
29084         * lisp/emacs-lisp/byte-opt.el: Add support for decompiling switch
29086         * lisp/emacs-lisp/byte-opt.el: (byte-decompile-bytecode-1) When the
29087           constant encountered precedes a byte-switch op, replace all the
29088           addresses in the jump table with tags.
29090 2017-01-25  Mark Oteiza  <mvoteiza@udel.edu>
29092         Move cXXXr and cXXXXr to subr.el
29094         * etc/NEWS: Mention new core Elisp.
29095         * doc/lispref/lists.texi (List Elements): Document and index the new
29096         functions.
29097         * doc/misc/cl.texi (List Functions): Change "defines" to "aliases".
29098         * lisp/subr.el (caaar, caadr, cadar, caddr, cdaar, cdadr, cddar)
29099         (cdddr, caaaar caaadr, caadar, caaddr, cadaar, cadadr, caddar):
29100         (cadddr, cdaaar, cdaadr, cdadar, cdaddr, cddaar, cddadr, cdddar):
29101         (cddddr): New functions.
29102         * lisp/emacs-lisp/cl-lib.el (cl-caaar, cl-caadr, cl-cadar, cl-caddr):
29103         (cl-cdaar, cl-cdadr, cl-cddar cl-cdddr, cl-caaaar cl-caaadr):
29104         (cl-caadar, cl-caaddr, cl-cadaar, cl-cadadr, cl-caddar, cl-cadddr):
29105         (cl-cdaaar, cl-cdaadr, cl-cdadar, cl-cdaddr, cl-cddaar, cl-cddadr):
29106         (cl-cdddar, cl-cddddr): Alias to new subr functions.
29107         * lisp/emacs-lisp/cl.el (cl-unload-function): Remove cXXXr and cXXXXr
29108         elements.
29110 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29112         Only save .newsrc file if the native method is NNTP
29114         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
29115         the .newsrc file if the native select method is NNTP
29116         (bug#18198).  This avoids problems with invalid IMAP group
29117         names and the like in the .newsrc file.
29119 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29121         Only save .newsrc file if the native method is NNTP
29123         * lisp/gnus/gnus-start.el (gnus-save-newsrc-file): Only save
29124         the .newsrc file if the native select method is NNTP
29125         (bug#18198).  This avoids problems with invalid IMAP group
29126         names and the like in the .newsrc file.
29128 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29130         Gnus custom spec fix
29132         * lisp/gnus/gnus-art.el (gnus-signature-limit): Fix customize
29133         spec to match the doc string (bug#17679).
29135 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29137         Clarify confusing Gnus error message
29139         * lisp/gnus/gnus-topic.el (gnus-topic-unindent): Clarify
29140         confusing error message (bug#17677).
29142 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29144         Make C-u C-x m work with Message as documented
29146         * lisp/gnus/message.el (message-mail): Respect the CONTINUE
29147         parameter (bug#17175).
29149 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29151         Fix problem with auto-mode and dir-locals-collect-variables
29153         * lisp/files.el (dir-locals-collect-variables): When run from
29154         auto-mode, the file in question may not be an absolute path
29155         name (bug#24016).
29157         Example backtrace:
29159         Debugger entered--Lisp error: (args-out-of-range "compile-1st-in-loa
29160           dir-locals-collect-variables(((emacs-lisp-mode (indent-tabs-mode))
29161           hack-dir-local-variables()
29162           hack-local-variables(no-mode)
29163           run-mode-hooks(diff-mode-hook)
29164           diff-mode()
29165           mm-display-inline-fontify((#<buffer  *mm*-923037> ("text/x-diff" (
29167 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29169         Attach text files correctly in Message
29171         * lisp/gnus/mml.el (mml-generate-mime-1): Detect which coding
29172         system has been used in attached text files, and don't try to
29173         do any encoding of these files (bug#13808).
29175 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29177         Build fix for older gnutls versions
29179         * src/gnutls.c (emacs_gnutls_handle_error):
29180         GNUTLS_E_PREMATURE_TERMINATION is apparently only present in
29181         gnutls-3.
29183 2017-01-25  Tino Calancha  <tino.calancha@gmail.com>
29185         ediff-difference-vector-alist: Drop duplicated definition
29187         * lisp/vc/ediff-init.el (ediff-difference-vector-alist):
29188         Drop duplicated definition.
29189         (ediff-difference-vector-A, ediff-difference-vector-B)
29190         (ediff-difference-vector-C, ediff-difference-vector-Ancestor):
29191         Move definition before 'ediff-difference-vector-alist'.
29193 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29195         Revert "nnimap.el: support additional expunge options"
29197         This reverts commit 4e9baea6aba1633074889339dcc7cdc9d73880d3.
29199         The patch broke fetching new mail:
29201         Debugger entered--Lisp error: (error "Format specifier doesn’t match argument type")
29202           format("%d .*\n" (t ("OK" ("HIGHESTMODSEQ" "914696") "Expunge" "completed.") ("VANISHED" "1825937") ("0" "RECENT")))
29203           (looking-at (format "%d .*\n" sequence))
29204           (not (looking-at (format "%d .*\n" sequence)))
29205           (progn (while (and (not (bobp)) (progn (forward-line -1) (looking-at "\\*\\|[0-9]+ OK NOOP")))) (not (looking-at (format "%d .*\n" sequence))))
29207 2017-01-25  Nikolaus Rath  <Nikolaus@rath.org>
29209         nnimap.el: support additional expunge options
29211         * lisp/gnus/nnimap.el (nnimap-close-group)
29212         (nnimap-request-expire-articles, nnimap-delete-article)
29213         (nnimap-request-scan): add new 'never, 'immediate, and 'on-exit
29214         settings for nnimap-expunge (bug#20670).
29216 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29218         Don't tag Gnus bugs with "gnus"
29220         * lisp/gnus/gnus-msg.el (gnus-bug): Remove the bug package tags.
29222         * lisp/gnus/gnus.el (gnus-bug-package): Removed; Gnus doesn't
29223         have its own package any more in the bug tracker.
29225 2017-01-25  Lars Ingebrigtsen  <larsi@gnus.org>
29227         Tweak TLS error messaging on closed connections
29229         * src/gnutls.c (emacs_gnutls_handle_error): Demote the normal
29230         peer-closed-connection "The TLS connection was non-properly
29231         terminated" message to a lower level so that it isn't shown to
29232         the user by default.
29234 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
29236         Avoid having eww unexpectedly open external browsers
29238         * lisp/net/eww.el (eww-render): Instead of opening unsupported
29239         content types like audio/mpeg directly in an external browser
29240         (which can be very confusing especially when something
29241         redirects to a file like that), just display a simple
29242         interstitial that people can choose to click on or not
29243         (bug#22671).
29245 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
29247         When opening new eww buffers, use buffer names based on the host name
29249         * lisp/net/eww.el (eww-browse-url): When opening in a new
29250         window, use a buffer name based on the host name (bug#23738).
29251         (eww--dwim-expand-url): Refactored out into its own function
29252         for easier reuse.
29254 2017-01-24  David Engster  <deng@randomsample.de>
29256         xml: Fix parsing of default namespace with quoted names
29258         * lisp/xml.el (xml-parse-attlist): Properly extract namespace when
29259           parsing is done with quoted symbol names (bug#23440).
29260         * test/lisp/xml-tests.el (xml-parse-test--default-namespace-qnames)
29261           (xml-parse-test-default-namespace-qnames): Test for the above.
29263 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
29265         Fix rendering of some complex SVG images
29267         * lisp/net/shr.el (shr-parse-image-data): Don't transform
29268         SVG->DOM->XML unless we're blocking images, as this is apt to
29269         destroy the SVG (bug#24111).
29271 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
29273         Clarify the last clarification
29275         * lisp/net/shr.el (shr-width): Clarify the interaction with
29276         `shr-use-fonts' (bug#24928).
29278 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
29280         shr-width doc clarification
29282         * lisp/net/shr.el (shr-width): Clarify the interaction with
29283         `shr-use-fonts' (bug#24928).
29285 2017-01-24  Lars Ingebrigtsen  <larsi@gnus.org>
29287         Allow passing in max-width/height
29289         * lisp/net/shr.el (shr-rescale-image): Allow passing in
29290         max-width/height (bug#25287).
29292 2017-01-24  Stefan Monnier  <monnier@iro.umontreal.ca>
29294         * lisp/progmodes/vhdl-mode.el: Avoid add-to-list on local vars
29296         Require `cl' for `pushnew'.
29297         (vhdl-scan-project-contents, vhdl-compose-wire-components)
29298         (vhdl-uniquify): Use `pushnew' instead of `add-to-list'.
29300 2017-01-24  Noam Postavsky  <npostavs@gmail.com>
29302         Fix comment detection on open parens
29304         Characters having both open paren syntax and comment start syntax were
29305         being detected as open parens even when they should have been part a
29306         comment starter (Bug#24870).
29308         * src/syntax.c (in_2char_comment_start): New function, extracted from
29309         `scan_sexps_forward'.
29310         (scan_sexps_forward): Add check for a 2-char comment starter before the
29311         loop.  Inside the loop, do that check after incrementing the 'from'
29312         character index.  Move the single char comment syntax cases into the
29313         switch instead of special casing them before.
29314         * test/src/syntax-tests.el (parse-partial-sexp-paren-comments):
29315         (parse-partial-sexp-continue-over-comment-marker): New tests.
29317 2017-01-23  Alan Mackenzie  <acm@muc.de>
29319         Give , and .@ doc strings.  Fixes bug #24561.
29321         Also make *Help* links to ``' possible.  Also make usable as such doc strings
29322         on the function-documentation property of a symbol.
29324         * lisp/emacs-lisp/backquote.el (top-level): Give , and '@ doc strings on the
29325         function-documentation property.  Also give these symbols a reader-construct
29326         property.
29328         * lisp/help-fns.el (describe-function): Allow the function-documentation
29329         property to work.  Use princ rather than prin1 to print the function's name
29330         when it has a reader-construct property.
29331         (help-fns-signature): Don't insert `high-usage' for a reader-construct.
29332         (describe-function-1): Adapt to process documentation on the
29333         function-documentation property.  Print "a reader construct" when appropriate.
29335         * lisp/help-mode.el (help-xref-symbol-regexp): Amend this regexp also to match
29336         ``'.
29338 2017-01-22  Paul Eggert  <eggert@cs.ucla.edu>
29340         Improve uses of CHECK_LIST etc.
29342         * src/eval.c (FletX): Report an error for invalid constructs like
29343         ‘(let* (a . 0))’, so that ‘let*’ is more consistent with ‘let’.
29344         (lambda_arity): Use plain CHECK_CONS.
29345         * src/fns.c (CHECK_LIST_END): Move from here to lisp.h.
29346         (Fcopy_alist): Remove unnecessary CHECK_LIST call, since
29347         concat does that for us.
29348         (Fnthcdr, Fmember, Fmemql, Fdelete, Fnreverse):
29349         Use CHECK_LIST_END, not CHECK_LIST_CONS.  This hoists a
29350         runtime check out of the loop.
29351         (Fmemq): Simplify and use CHECK_LIST_END instead of CHECK_LIST.
29352         (Fassq, Fassoc, Frassq, Frassoc):
29353         Simplify and use CHECK_LIST_END instead of CAR.
29354         (assq_no_quit, assoc_no_quit): Simplify and assume proper list.
29355         (Fnconc): Use plain CHECK_CONS, and do-while instead of while loop.
29356         * src/fontset.c (Fnew_fontset):
29357         * src/frame.c (Fmodify_frame_parameters):
29358         Use CHECK_LIST_END at end, rather than CHECK_LIST at start, for a
29359         more-complete check.
29360         * src/gfilenotify.c (Fgfile_add_watch):
29361         Omit unnecessary CHECK_LIST, since Fmember does that for us.
29362         * src/lisp.h (lisp_h_CHECK_LIST_CONS, CHECK_LIST_CONS):
29363         Remove; no longer used.
29364         (CHECK_LIST_END): New inline function.
29366 2017-01-22  Tino Calancha  <tino.calancha@gmail.com>
29368         Prevent to use tabulated-list--near-rows unbound
29370         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-print-entry):
29371         Make sure 'tabulated-list--near-rows' is bound before use it (Bug#25506).
29373 2017-01-22  Juri Linkov  <juri@linkov.net>
29375         * lisp/simple.el (region-bounds): New function.
29377         (region-noncontiguous-p): Use it.
29378         https://lists.gnu.org/r/emacs-devel/2017-01/msg00044.html
29380 2017-01-21  Alan Mackenzie  <acm@muc.de>
29382         Fix low-level handling of (big) C macros.
29384         In particular, ensure that a comment detected by its syntax is not a CPP
29385         construct marked with generic comment delimiter syntax-table text
29386         properties.
29388         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-end-of-macro): Set
29389         c-macro-cache-syntactic to nil when the cached macro changes.
29390         (c-syntactic-end-of-macro, c-no-comment-end-of-macro)
29391         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
29392         (c-state-pp-to-literal, c-parse-ps-state-to-cache)
29393         (c-state-cache-non-literal-place, c-literal-limits, c-literal-start)
29394         (c-determine-limit): When checking a parse syntax for a comment, check that
29395         we're not in a CPP construct marked by syntax-table generic comment delimiter
29396         text property.
29397         (c-state-pp-to-literal): Change from a defsubst to a defun.
29399         * lisp/progmodes/cc-mode.el (c-neutralize-syntax-in-and-mark-CPP): Check a
29400         parse syntax as described above under cc-engine.el.
29402 2017-01-21  Vibhav Pant  <vibhavp@gmail.com>
29404         * lisp/emacs-lisp/bytecomp.el: Remove unused debugging statements.
29406 2017-01-21  Noam Postavsky  <npostavs@gmail.com>
29408         Don't wait for frame to become visible
29410         * src/xterm.c (x_make_frame_visible): Remove code that waits for the
29411         frame to become visible.  We have to deal with invisible frames anyway,
29412         the loop could sometimes before the frame turned visible, and for some
29413         window managers (e.g., XMonad, i3wm) it caused Emacs to get stuck in a
29414         busy loop (Bug#24091).
29416 2017-01-21  Tino Calancha  <tino.calancha@gmail.com>
29418         diff-hunk-kill independent of point inside headers
29420         Make diff-apply-hunk and diff-hunk-kill independent of the point
29421         position in a diff header (Bug#17544).
29422         This change allows to apply hunks in order.  It also makes possible to
29423         press M-k repeatedly to kill hunks in the order they appear in the buffer.
29424         See discussion on #Bug25105.
29425         * lisp/vc/diff-mode.el (diff-file-junk-re):
29426         Move definition before it's used.
29427         (diff--at-diff-header-p): New predicate; return non-nil when point
29428         is inside a hunk header, a file header, or within a line
29429         matching diff-file-junk-re.
29430         (diff-beginning-of-hunk): Use it.
29431         Check if the point is inside a diff header, in the middle of a hunk,
29432         or before the first hunk.
29433         (diff-apply-hunk): Call diff-beginning-of-hunk with non-nil arg
29434         before apply the hunk.
29435         (diff-hunk-kill, diff-file-kill):
29436         Call diff-beginning-of-hunk with non-nil arg after kill the hunks.
29437         (diff-post-command-hook): Call diff-beginning-of-hunk with non-nil argument.
29439 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
29441         Improve documentation of hooks related to saving buffers
29443         * lisp/files.el (write-file-functions, write-contents-functions)
29444         (before-save-hook, after-save-hook): Note that these are only used
29445         by save-buffer.
29447         * doc/lispref/backups.texi (Auto-Saving):
29448         * doc/lispref/files.texi (Saving Buffers): Mention that
29449         save-related hooks are not run by auto-saving.  (Bug#25460)
29451 2017-01-20  Eli Zaretskii  <eliz@gnu.org>
29453         Improve documentation of auto-save-visited-file-name
29455         * doc/emacs/files.texi (Auto Save Files): Mention subtle
29456         differences between saving the buffer and auto-saving with
29457         auto-save-visited-file-name set non-nil.  (Bug#25478)
29459 2017-01-20  Noam Postavsky  <npostavs@gmail.com>
29461         Fix free var FOO-mode-{syntax,abbrev}-table warnings
29463         * lisp/emacs-lisp/derived.el (define-derived-mode): Unconditionally
29464         defvar the syntax and abbrev tables so that the compiler will know that
29465         they are dynamically bound variables (Bug#25446).
29467 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
29469         * lisp/emacs-lisp/bytecomp.el: Fix errors with matching quoted forms
29471         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table-info)
29472           eval obj2 to avoid quoted forms being stored as is.
29474 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
29476         lisp/emacs-lisp/bytecomp.el: Use byte-switch only for quoted symbols
29478 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
29480         * lisp/emacs-lisp/bytecomp.el: Add default-case for last cond clause.
29482         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-jump-table) Add
29483         default-case for last cond clause.
29485 2017-01-19  Philipp Stephani  <phst@google.com>
29487         Check that variable lists are actually lists
29489         'let' and 'let*' document that their first argument has to be a list,
29490         but don't check for that; instead, they allow (and silently ignore)
29491         other types.  Introduce an explicit type check.
29493         * src/eval.c (Flet, FletX): Check that the variable list is indeed a
29494         list.
29495         * test/src/eval-tests.el: Add unit tests.
29497 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
29499         Add type checking for Bswitch, when enabled at compile time.
29501         * src/bytecode.c: (exec_byte_code) If BYTE_CODE_SAFE is enabled at
29502           compile time, use CHECK_TYPE to verify that the jump table is a hash table.
29504 2017-01-19  Vibhav Pant  <vibhavp@gmail.com>
29506         Use byte-switch for all symbols.
29508         * lisp/emacs-lisp/bytecomp.el: (byte-compile-cond-valid-obj2-p) Return
29509           t for all symbols (instead for just keywords)
29511 2017-01-19  Noam Postavsky  <npostavs@gmail.com>
29513         Avoid inefficient regex in diff-refine-hunk (Bug#25410)
29515         * lisp/vc/diff-mode.el (diff--forward-while-leading-char): New function.
29516         (diff-refine-hunk): Use it instead of trying to match multiple lines
29517         with a single lines.
29519 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
29521         Remove lock file when auto-saving into the visited file
29523         * src/fileio.c (write_region): When auto-saving into the visited
29524         file, unlock the file whenever we mark the buffer unmodified.
29525         (Bug#25470)
29527 2017-01-18  Vibhav Pant  <vibhavp@gmail.com>
29529         * src/bytecode.c: (exec_byte_code) Use hash_lookup for Bswitch
29531         Fgethash type checks the provided table object, which is unnecessary
29532         for compiled bytecode.
29534 2017-01-18  Tom Tromey  <tom@tromey.com>
29536         fix typo in mailcap-mime-extensions
29538         * lisp/net/mailcap.el (mailcap-mime-extensions): Use "text/x-patch",
29539         not "test/x-patch".  (Bug#25472)
29541 2017-01-18  Lele Gaifax  <lele@metapensiero.it>  (tiny change)
29543         Fix typos in flymake.el
29545         * lisp/progmodes/flymake.el (flymake-check-patch-master-file-buffer):
29546         Spelling fixes in the doc string.
29548 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
29550         Fix a bug with signaling a thread that waits for condvar
29552         * src/thread.c (lisp_mutex_lock_for_thread): New function,
29553         with all the guts of lisp_mutex_lock.
29554         (lisp_mutex_lock): Call lisp_mutex_lock_for_thread.
29555         (condition_wait_callback): Don't call post_acquire_global_lock
29556         before locking the mutex, as that could cause a signaled thread to
29557         exit prematurely, because the condvar's mutex is recorded to be
29558         not owned by any thread, and with-mutex wants to unlock it as part
29559         of unwinding the stack in response to the signal.
29561 2017-01-18  Eli Zaretskii  <eliz@gnu.org>
29563         Rudimentary error handling for non-main threads
29565         * src/thread.c (last_thread_error): New static variable.
29566         (syms_of_threads): Staticpro it.
29567         (record_thread_error, Fthread_last_error): New functions.
29568         (syms_of_threads): Defsubr Fthread_last_error.
29570         * doc/lispref/threads.texi (Basic Thread Functions): Document
29571         thread-last-error.
29573         * test/src/thread-tests.el (thread-errors, thread-signal-early)
29574         (threads-condvar-wait): Test the values returned by
29575         thread-last-error.
29577 2017-01-17  Tom Tromey  <tom@tromey.com>
29579         Add info-lookup help for gdb-script-mode
29581         Bug#25464:
29582         * lisp/info-look.el (info-lookup-guess-gdb-script-symbol): New
29583         function.
29584         Add help for gdb-script-mode.
29586 2017-01-17  Tom Tromey  <tom@tromey.com>
29588         Treat ":root" as a css-selector
29590         * lisp/textmodes/css-mode.el (css--font-lock-keywords): Recognize bare
29591         ":root" as selector.
29593 2017-01-17  Tom Tromey  <tom@tromey.com>
29595         Fix JS regexp literal syntax propertization in expressions
29597         Bug#25465:
29598         * lisp/progmodes/js.el (js-syntax-propertize): Recognize a regexp
29599         literal after "!", "&", and "|".
29600         test/lisp/progmodes/js-tests.el (js-mode-regexp-syntax): New test.
29602 2017-01-17  Glenn Morris  <rgm@gnu.org>
29604         More NEWS checking for admin.el's set-version
29606         * admin/admin.el (set-version): Warn if temporary NEWS markup
29607         still present in release candidates.
29609 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
29611         Mark unused arguments and remove unused variables
29613         * lisp/play/dunnet.el (dun-mode, dun-die, dun-inven, dun-try-take):
29614         (dun-dig, dun-type, dun-n, dun-s, dun-e, dun-w, dun-ne, dun-se):
29615         (dun-nw, dun-sw, dun-up, dun-down, dun-in, dun-out, dun-long):
29616         (dun-swim, dun-score, dun-flush, dun-piss, dun-sleep, dun-drive):
29617         (dun-superb, dun-power, dun-unix-parse, dun-bin, dun-fascii):
29618         (dun-ftpquit, dun-ftphelp, dun-uexit, dun-pwd, dun-dos-parse):
29619         (dun-dos-invd, dun-dos-spawn, dun-dos-exit, dun-dos-nil):
29620         (dungeon-nil): Mark arguments as unused.
29621         (dun-drop, dun-objnum-from-args, dun-get-path, dun-ftp):
29622         (dun-restore): Remove unused variable.
29624 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
29626         Fix auto-save-file-name problem in Tramp on MS Windows
29628         * lisp/files.el (make-auto-save-file-name): Use `file-remote-p'
29629         rather than an ange-ftp regexp.
29631         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
29632         Fix a problem when running on MS Windows.
29634         * test/lisp/net/tramp-tests.el (tramp-test31-make-auto-save-file-name):
29635         Adapt test.
29637 2017-01-17  Michael Albinus  <michael.albinus@gmx.de>
29639         Fix auto-save-file-name problem in Tramp on MS Windows. Do not merge
29641         * lisp/net/tramp.el (tramp-handle-make-auto-save-file-name):
29642         Fix a problem when running on MS Windows.
29644 2017-01-17  Paul Eggert  <eggert@cs.ucla.edu>
29646         Merge from origin/emacs-25
29648         42614fa Update remaining copyright years with admin.el M-x set-copyright
29649         f17a006 * lisp/ffap.el (ffap-lax-url): Bump :version after recent cha...
29651 2017-01-17  Mark Oteiza  <mvoteiza@udel.edu>
29653         Nix some uses of eval
29655         * lisp/play/dunnet.el: Fix triple negative.
29656         (dun-doverb): Use funcall instead of eval.
29657         (dun-echo): Just call dun-mprinc.
29658         (dun-save-val): Just bind value without eval.
29660 2017-01-17  Tom Tromey  <tom@tromey.com>
29662         Fix comment in css-mode.el
29664         * lisp/textmodes/css-mode.el: Remove obsolete comment.
29666 2017-01-16  Vibhav Pant  <vibhavp@gmail.com>
29668         update branch
29670 2017-01-16  Ian Dunn  <dunni@gnu.org>  (tiny change)
29672         * lisp/net/eww.el (eww-tag-meta): Handle single quoted URLs (Bug#25445).
29674 2017-01-15  Noam Postavsky  <npostavs@gmail.com>
29676         Improve ffap-gopher-at-point handling of long lines
29678         * lisp/ffap.el (ffap-gopher-regexp): Only match the KEY part.  Note
29679         setting to nil is now supported.
29680         (ffap--gopher-var-on-line): New function.
29681         (ffap-gopher-at-point): Use it instead of the old ffap-gopher-regexp
29682         which could overflow the regexp stack on long lines (Bug#25391).  Use
29683         `let-alist' instead of calling `set' on local variables.
29684         * test/lisp/ffap-tests.el (ffap-gopher-at-point): New test.
29686 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
29688         * lisp/emacs-lisp/byte-opt.el: Optimize how tags are checked for use.
29690         * lisp/emacs-lisp/byte-opt.el: (byte-optimize-lapcode): Return nil instantly on
29691           finding the tag in a jump table.
29693 2017-01-15  Vibhav Pant  <vibhavp@gmail.com>
29695         * lisp/emacs-lisp/bytecomp.el: Add documentation, remove code duplication
29697 2017-01-14  Vibhav Pant  <vibhavp@gmail.com>
29699         Add new 'switch' byte-code.
29701         'switch' takes two arguments from the stack: the variable to test, and
29702         a jump table (implemented as a hash-table with the appropriate :test
29703         function). By looking up the value of the variable in the hash table,
29704         the interpreter can jump to the label pointed to by the value, if any.
29705         This implementation can only be used for `cond' forms of the type
29706         `(cond ((test x 'foo) 'bar) ...)`, such that the function `test` and
29707         variable `x` is same for all clauses.
29709         * lisp/emacs-lisp/bytecomp.el:
29711           * Add (byte-compile-cond-valid-obj2-p), (byte-compile-cond-vars),
29712             (byte-compile-cond-jump-table-info), (byte-compile-jump-table-add-tag),
29713             (byte-compile-cond-jump-table), byte-compile-jump-tables.
29715           * Add defcustom `byte-compile-cond-use-jump-table'.
29717           * (byte-compile-cond): Use them.
29719           * (byte-compile-lapcode): Patch tags present in jump tables, if any.
29721         * lisp/emacs-lisp//byte-opt.el: (byte-optimize-lapcode): Add checks to
29722           some peephole optimizations to prevent them from messing up any code
29723           involving `byte-switch`.
29725         * src/bytecode.c: (exec_byte_code): Add bytecode Bswitch.
29727 2017-01-14  Alan Third  <alan@idiocy.org>
29729         Fix NS main thread check (bug#25265)
29731         * src/nsterm.m (ns_read_socket, ns_select): Replace mainThread with
29732         isMainThread.
29734 2017-01-14  Stefan Monnier  <monnier@iro.umontreal.ca>
29736         * lisp/progmodes/sql.el (sql-product-alist): Doc tweak
29738         `:sqli-comint-func' does not have to be a symbol.
29740 2017-01-14  Alan Mackenzie  <acm@muc.de>
29742         Correct c-parse-state-get-strategy for moving HERE backward into a macro.
29744         * lisp/progmodes/cc-engine.el (c-parse-state-get-strategy): When HERE is below
29745         its previous value, we chose strategy 'forward, and the new HERE is in a
29746         (different) macro, ensure the returned START-POINT is not above the start of
29747         the macro.
29749 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
29751         Include "Date:" in mail messages filed by 'sendmail-send-it'
29753         * lisp/mail/sendmail.el (mail-do-fcc): Insert a 'Date:' header
29754         into the filed message.  In the outgoing message, sendmail will
29755         add the date, but the composed message body doesn't have it.
29756         (Bug#25436)
29758 2017-01-14  Eli Zaretskii  <eliz@gnu.org>
29760         * lisp/progmodes/sql.el (sql-product-alist): Doc fix.  (Bug#25440)
29762 2017-01-14  Dmitry Gutov  <dgutov@yandex.ru>
29764         Remove leftover references to log-view-message-face
29766         * lisp/vc/vc-bzr.el (vc-bzr-log-view-mode): Use log-view-message.
29768         * lisp/vc/vc-git.el (vc-git-root-log-format): Same.
29770         * lisp/vc/vc-hg.el (vc-hg-root-log-format): Same.
29772 2017-01-13  Phillip Lord  <phillip.lord@russet.org.uk>
29774         Record autoloads till emacs dump
29776         * admin/ldefs-clean.el (ldefs-clean-up): Record autoloads till emacs dump
29777         * lisp/ldefs-boot-auto.el (batch-byte-compile): Update
29779         Previously, autoloads were collected till loaddefs.el was generated as
29780         part of the build. However, bootstrap-emacs does not load
29781         loaddefs (rather it is dumped), hence we must record autoloads until the
29782         full emacs binary is dumped.
29784 2017-01-13  Tom Tromey  <tom@tromey.com>
29786         Add chained indentation to js-mode
29788         Bug#20896
29789         * lisp/progmodes/js.el (js-chain-indent): New variable.
29790         (js--skip-term-backward, js--skip-terms-backward)
29791         (js--chained-expression-p): New functions.
29792         (js--proper-indentation): Call js--chained-expression-p.
29793         * test/manual/indent/js-chain.js: New file.
29794         * test/manual/indent/js.js: Add (non-)chained indentation test.
29796 2017-01-13  Tom Tromey  <tom@tromey.com>
29798         Fix js-mode indentation bug
29800         Bug#15582:
29801         * lisp/progmodes/js.el (js--find-newline-backward): New function.
29802         (js--continued-expression-p): Use it.
29803         * test/manual/indent/js.js: Add new test.
29805 2017-01-13  Tom Tromey  <tom@tromey.com>
29807         Fix definition of EMACS in test/manual/indent/Makefile
29809         * test/manual/indent/Makefile (EMACS): Add one more "..".
29811 2017-01-13  Tom Tromey  <tom@tromey.com>
29813         Add .jsx to auto-mode-alist
29815         Bug#25389:
29816         * lisp/files.el (auto-mode-alist): Add entry for .jsx.
29818 2017-01-13  Tom Tromey  <tom@tromey.com>
29820         Fix two js-mode filling bugs
29822         Bug#19399 and Bug#22431:
29823         * lisp/progmodes/js.el (js-mode): Set comment-line-break-function and
29824         c-block-comment-start-regexp.
29825         * test/lisp/progmodes/js-tests.el: New file.
29827 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
29829         Fix last change
29831         * test/src/thread-tests.el (threads-condvar-wait): Revert
29832         previous change.  Make sure no other threads from previous
29833         tests are running, to avoid interfering with our thread counts.
29835 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
29837         Fix the new condvar test
29839         * test/src/thread-tests.el (threads-condvar-wait): Enlarge the
29840         time we sleep in the main thread to let the other thread
29841         process notifications.
29843 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
29845         Minor improvements in the new condvar test
29847         * test/src/thread-tests.el (threads-test-condvar-wait): Use
29848         with-mutex instead of emulating it inline.
29849         (threads-condvar-wait): Improve comments.  Check that the new
29850         thread is alive before waiting for it to become blocked on the
29851         conditional variable.
29853 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
29855         Fix a bug in waiting for condition variable
29857         * src/thread.c (lisp_mutex_lock, lisp_mutex_unlock)
29858         (lisp_mutex_unlock_for_wait, condition_wait_callback)
29859         (condition_notify_callback): Improve commentary.
29860         (condition_wait_callback): Call post_acquire_global_lock before
29861         attempting to lock the mutex, to make sure the lock's owner is
29862         recorded correctly.
29864         * test/src/thread-tests.el (threads-condvar-wait): New test.
29866 2017-01-13  Eli Zaretskii  <eliz@gnu.org>
29868         Improve documentation of dabbrevs
29870         * doc/emacs/abbrevs.texi (Dynamic Abbrevs): Add a cross reference
29871         to "Dabbrev Customization".
29872         (Dabbrev Customization): More details about the default value of
29873         dabbrev-abbrev-char-regexp and use cases when it might not be good
29874         enough.  (Bug#25432)
29876 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
29878         Fix last change of dd80ee6 (was: mm-uu.el: Don't dissect patch part)
29880 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
29882         mm-uu.el: Don't dissect patch part
29884         This fixes a bug that the patch part is broken in the article
29885         <87inpjzhpb.fsf@users.sourceforge.net> in the bug-gnu-emacs list.
29887         * lisp/gnus/mm-uu.el (mm-uu-dissect-text-parts):
29888         Don't dissect patch part.
29890 2017-01-13  Dmitry Lazurkin  <dilaz03@gmail.com>
29892         Fix extracting async def type and name in python mode imenu
29894         * lisp/progmodes/python.el (python-imenu--get-defun-type-name):
29895         New function.
29896         (python-imenu--build-tree): Use python-imenu--get-defun-type-name for
29897         extract async or simple def type and name at current
29898         position (Bug#24820).
29899         * test/lisp/progmodes/python-tests.el (python-imenu-create-index-1):
29900         (python-imenu-create-flat-index-1): Add async def's.
29902 2017-01-13  Katsumi Yamaoka  <yamaoka@jpl.org>
29904         Remove garbage from Content-Transfer-Encoding value (bug#25420)
29906         * lisp/mail/ietf-drums.el (ietf-drums-strip-cte): New function.
29907         (ietf-drums-remove-garbage): New function.
29908         (ietf-drums-remove-whitespace): Remove CR as well.
29910         * lisp/mail/mail-parse.el (mail-header-strip-cte):
29911         Alias to ietf-drums-strip-cte.
29913         * lisp/gnus/gnus-art.el (article-decode-charset):
29914         * lisp/gnus/gnus-sum.el (gnus-summary-enter-digest-group):
29915         * lisp/gnus/mm-decode.el (mm-dissect-buffer):
29916         * lisp/gnus/nndoc.el (nndoc-decode-content-transfer-encoding)
29917         (nndoc-rfc822-forward-generate-article):
29918         * lisp/mh-e/mh-mime.el (mh-decode-message-body):
29919         Replace mail-header-strip with mail-header-strip-cte.
29921 2017-01-13  Paul Eggert  <eggert@cs.ucla.edu>
29923         Restore behavior of ‘./autogen.sh autoconf git’
29925         * autogen.sh: Do both autoconf and git setup when invoked
29926         as ‘./autogen.sh autoconf git’.  Avoid unnecessary newline in chatter.
29927         Mention new --no-check option in usage message.  (Bug#25359)
29929 2017-01-12  Glenn Morris  <rgm@gnu.org>
29931         * autogen.sh: Simplify argument parsing.
29933 2017-01-12  Noam Postavsky  <npostavs@gmail.com>
29935         Clarify that easy-menu-add is a nop (Bug#25382)
29937         * lisp/emacs-lisp/easymenu.el (easy-menu-add): Make it into an alias of
29938         `ignore', like `easy-menu-remove'.
29940 2017-01-12  Glenn Morris  <rgm@gnu.org>
29942         * lisp/textmodes/rst.el (rst-package-emacs-version-alist): Fix entry.
29944 2017-01-11  Glenn Morris  <rgm@gnu.org>
29946         * autogen.sh: Add --no-check option.  (Bug#25359)
29948 2017-01-11  Glenn Morris  <rgm@gnu.org>
29950         Convert some network test failures to skipping
29952         These tests intermittently fail on hydra.nixos.org for unclear
29953         reasons related to starting the external process.
29954         This isn't an Emacs issue, and the failures cause noise on
29955         the emacs-buildstatus list.  (Bug#24503)
29956         * test/lisp/net/network-stream-tests.el (echo-server-nowait)
29957         (connect-to-tls-ipv4-nowait): Skip rather than fail if the
29958         external process fails to start properly.
29960 2017-01-11  Eli Zaretskii  <eliz@gnu.org>
29962         Revert "Add DNS keywords and remove duplications"
29964         This reverts commit 1cb9aa5b14867983d0013a61709b4d0af18364ff.
29966 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
29968         Add DNS keywords and remove duplications
29970         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
29971         NSEC" DNS related keywords and remove duplication of "NSAP".
29973 2017-01-11  Alexander Kuleshov  <kuleshovmail@gmail.com>
29975         Add DNS keywords and remove duplications
29977         * lisp/textmodes/dns-mode.el (dns-mode-types): Add two TLSA and
29978         NSEC" DNS related keywords and remove duplication of "NSAP".
29980 2017-01-11  Alan Mackenzie  <acm@muc.de>
29982         Handle syntactic WS cache properties more accurately at buffer changes.
29984         This fixes bug #25362.
29986         * lisp/progmodes/cc-engine.el (c-sws-lit-type, c-sws-lit-limits)
29987         (c-invalidate-sws-region-before, c-invalidate-sws-region-after-del)
29988         (c-invalidate-sws-region-after-ins): New variables and functions.
29989         (c-invalidate-sws-region-after): Change from a defsubst to a defun.
29990         Also pass
29991         it the standard OLD-LEN argument.  Call both
29992         c-invalidate-sws-region-after-{ins,del} to check for "dangerous" WS
29993         cache
29994         properties.
29996         * lisp/progmodes/cc-langs.el (c-block-comment-ender-regexp): New language
29997         variable.
29999         * lisp/progmodes/cc-mode.el (c-before-change): Call
30000         c-invalidate-sws-region-before.
30001         (c-after-change): Pass old-len to c-invalidate-sws-region-after.
30003 2017-01-11  Michael Albinus  <michael.albinus@gmx.de>
30005         Support stat 8.26 in Tramp
30007         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Use QUOTING_STYLE
30008         environment variable of newer coreutils.  (Bug#23422)
30010 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
30012         Improve documentation of coding-systems
30014         * doc/lispref/nonascii.texi (Coding System Basics): Mention
30015         'prefer-utf-8'.  Index it and 'undecided'.
30016         (Encoding and I/O): Fix a typo.
30017         (User-Chosen Coding Systems): Improve the documentation of
30018         ACCEPT-DEFAULT-P argument to select-safe-coding-system.  Document
30019         select-safe-coding-system-function.
30020         (Specifying Coding Systems): Document coding-system-require-warning.
30022 2017-01-10  Paul Eggert  <eggert@cs.ucla.edu>
30024         Merge from gnulib
30026         This incorporates:
30027         2017-01-09 maint: time stamp -> timestamp
30028         2017-01-07 stdioext: Port to Minix 3.2 and newer
30029         2017-01-06 glob, intprops, xalloc: work around Clang bug
30030         2017-01-02 revert copyright-year change to synced files
30031         * doc/misc/texinfo.tex, lib/fpending.c, lib/intprops.h, lib/mktime.c:
30032         * lib/stat-time.h, lib/stdio-impl.h, lib/time.in.h, lib/timespec.h:
30033         * lib/utimens.c, lib/xalloc-oversized.h:
30034         Copy from gnulib.
30036 2017-01-10  Eli Zaretskii  <eliz@gnu.org>
30038         Don't use unsafe encoding for the bookmark file
30040         * lisp/bookmark.el (bookmark-write-file): Handle the case when the
30041         explicitly specified encoding of the bookmark file cannot encode the
30042         additional bookmarks just added.  (Bug#25365)
30044 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
30046         Improve definition of 'variable-pitch' face on MS-Windows
30048         * lisp/faces.el (variable-pitch): Don't specify too many
30049         attributes of the font, otherwise faces that request different
30050         weight or slant or size will not get them.
30052 2017-01-09  Eli Zaretskii  <eliz@gnu.org>
30054         Fix an error message in python.el
30056         * lisp/progmodes/python.el (python-shell-get-process-or-error):
30057         Don't repeat the same key binding twice.  (Bug#25405)
30059 2017-01-09  Phillip Lord  <phillip.lord@russet.org.uk>
30061         Remove unused ldefs-boot.el
30063          * lisp/ldefs-boot.el: Remove
30065         This file was not removed as reported in c27b645956a11, but accidentally
30066         left.
30068 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
30069             Eli Zaretskii  <eliz@gnu.org>
30071         Use expanded stack during regex matches
30073         While the stack is increased in main(), to allow the regex stack
30074         allocation to use alloca we also need to modify regex.c to actually take
30075         advantage of the increased stack, and not limit stack allocations to
30076         SAFE_ALLOCA bytes.
30078         * src/regex.c (MATCH_MAY_ALLOCATE): Remove obsolete comment about
30079         allocations in signal handlers which no longer happens and correct
30080         description about when and why MATCH_MAY_ALLOCATE should be defined.
30081         (emacs_re_safe_alloca): New variable.
30082         (REGEX_USE_SAFE_ALLOCA): Use it as the limit of stack allocation instead
30083         of MAX_ALLOCA.
30084         (emacs_re_max_failures): Rename from `re_max_failures' to avoid
30085         confusion with glibc's `re_max_failures'.
30086         * src/emacs.c (main): Increase the amount of fixed 'extra' bytes we add
30087         to the stack.  Instead of changing emacs_re_max_failures based on the
30088         new stack size, just change emacs_re_safe_alloca; emacs_re_max_failures
30089         remains constant regardless, since if we run out stack space SAFE_ALLOCA
30090         will fall back to heap allocation.
30092 2017-01-09  Noam Postavsky  <npostavs@gmail.com>
30094         Fix computation of regex stack limit
30096         The regex stack limit was being computed as the number of stack entries,
30097         whereas it was being compared with the current size as measured in
30098         bytes.  This could cause indefinite looping when nearing the stack limit
30099         if re_max_failures happened not to be a multiple of sizeof
30100         fail_stack_elt_t (Bug #24751).
30102         * src/regex.c (GROW_FAIL_STACK): Compute both current stack size and
30103         limit as numbers of stack entries.
30105 2017-01-08  Alan Third  <alan@idiocy.org>
30107         Remove apploopnr
30109         * src/nsterm.m (ns_select, ns_read_socket): Remove apploopnr and only
30110         allow app loop to run in main thread.
30112 2017-01-08  Glenn Morris  <rgm@gnu.org>
30114         Remove unused configure output variable
30116         * configure.ac (GNULIB_MK):
30117         * Makefile.in (gnulib_mk): Remove, no longer used.
30119 2017-01-08  Glenn Morris  <rgm@gnu.org>
30121         Fix automake dependencies
30123         * Makefile.in (AUTOMAKE_INPUTS): Add nt/gnulib.mk.  (Bug#25372)
30124         All platforms need this file to exist.
30126 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
30128         Remove unnecessary blankp code
30130         * src/character.c (blankp): Remove redundant code that slows Emacs
30131         down a bit.  The caller already does the test.
30133 2017-01-08  Stefan Merten  <stefan@merten-home.de>
30135         * lisp/textmodes/rst.el: Fix rst-forward-indented-block.
30137         * lisp/textmodes/rst.el (rst-cvs-header, rst-svn-rev)
30138         (rst-svn-timestamp)
30139         (rst-official-version, rst-official-cvs-rev)
30140         (rst-package-emacs-version-alist): Maintain version numbers.
30141         (rst-forward-indented-block): Fix. Start searching at next
30142         line again. Fixes fontification of comments continuing on the
30143         same line they started.
30145 2017-01-08  Paul Eggert  <eggert@cs.ucla.edu>
30147         Remove @SET_MAKE@ from manually-maintained files
30149         Emacs now assumes GNU Make, so @SET_MAKE@ is no longer needed.
30150         * Makefile.in, lwlib/Makefile.in, nextstep/Makefile.in:
30151         * src/Makefile.in: Remove @SET_MAKE@.
30153 2017-01-07  Michael Albinus  <michael.albinus@gmx.de>
30155         Fix a problem with `start-file-process' in Tramp
30157         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
30158         `start-file-process' shall work when `non-essential' is
30159         non-nil, but there is already an established connection.
30160         <https://github.com/company-mode/company-mode/issues/462>
30162 2017-01-07  Rolf Ade  <rolf@pointsman.de>  (tiny change)
30164         Fix selecting SQLite database files with sql-mode (Bug#23566)
30166         * lisp/progmodes/sql.el (sql-sqlite-login-params): Allow any name as
30167         SQLite database file name, by default.
30168         (sql-get-login-ext): Fixed read-file-name arguments to provide
30169         path completion even if a database name pattern is customized and to
30170         allow creation of new SQLite database files.
30172 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
30174         Clarify major mode switching
30176         * doc/emacs/modes.texi (Major Modes):
30177         * doc/lispref/modes.texi (Modes, Major Modes): Explictly say that each
30178         buffer has exactly one major mode and can't be "turned off", only
30179         switched away from (Bug#25357).
30181 2017-01-07  Noam Postavsky  <npostavs@gmail.com>
30183         Add helpful comment to compile-command's docstring
30185         * lisp/progmodes/compile.el (compile-command): Mention trailing space in
30186         docstring (Bug#25337).
30188 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
30190         Specify encoding of the bookmark file
30192         * lisp/bookmark.el (bookmark-insert-file-format-version-stamp):
30193         Accept an argument CODING and include a 'coding:' cookie in the
30194         bookmark file preamble.
30195         (bookmark-upgrade-file-format-from-0): Call
30196         'bookmark-insert-file-format-version-stamp' with the file buffer's
30197         encoding, as detected when it was read.
30198         (bookmark-file-coding-system): New variable.
30199         (bookmark-load): Set bookmark-file-coding-system to the encoding
30200         of the loaded file.
30201         (bookmark-write-file): Bind coding-system-for-write to either the
30202         user setting via "C-x RET c" or to the existing file encoding,
30203         defaulting to 'utf-8-emacs'.  Update the value of
30204         bookmark-file-coding-system.  (Bug#25365)
30206 2017-01-07  Eli Zaretskii  <eliz@gnu.org>
30208         Avoid infloop in 'ispell-region'
30210         * lisp/textmodes/ispell.el (ispell-begin-skip-region-regexp):
30211         Protect against 'ispell-skip-region-alist' being nil.  Reported by
30212         Ernest Adrogué <nfdisco@gmail.com>, see
30213         https://lists.gnu.org/r/help-gnu-emacs/2017-01/msg00007.html.
30215 2017-01-06  Philipp Stephani  <phst@google.com>
30217         Add support for Unicode whitespace in [:blank:]
30219         See Bug#25366.
30221         * src/character.c (blankp): New function for checking Unicode
30222         horizontal whitespace.
30223         * src/regex.c (ISBLANK): Use 'blankp' for non-ASCII horizontal
30224         whitespace.
30225         (BIT_BLANK): New bit for range table.
30226         (re_wctype_to_bit, execute_charset): Use it.
30227         * test/lisp/subr-tests.el (subr-tests--string-match-p--blank): Add
30228         unit test for [:blank:] character class.
30229         * test/src/regex-tests.el (test): Adapt unit test.
30230         * doc/lispref/searching.texi (Char Classes): Document new Unicode
30231         behavior for [:blank:].
30233 2017-01-06  Eli Zaretskii  <eliz@gnu.org>
30235         Fix ':version' of 'select-enable-primary'
30237         * lisp/select.el (select-enable-primary): Fix a typo in
30238         ':version'.  (Bug#25375)
30240 2017-01-06  Stefan Monnier  <monnier@iro.umontreal.ca>
30242         (feedmail-deduce-address-list): Avoid add-to-list on local variables.
30244         Author:
30246         * lisp/mail/feedmail.el (feedmail-deduce-address-list):
30247         Avoid add-to-list on local variables.
30249 2017-01-06  Noam Postavsky  <npostavs@gmail.com>
30251         Fix isearch handling of C-u C-u...
30253         * lisp/isearch.el: Add `isearch-scroll' property to
30254         universal-argument-more so that `isearch-allow-scroll' will apply to it
30255         as well.
30256         (isearch-pre-command-hook): Let `isearch-allow-prefix' apply to
30257         `universal-argument-more' as well (Bug#25302).
30259 2017-01-05  Paul Eggert  <eggert@cs.ucla.edu>
30261         Shorten autogen.sh script
30263         * autogen.sh: Use a shorter script, as some 'sed' implementations
30264         mishandle long scripts.
30266 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
30268         Yet another fix for autogen.sh
30270         * autogen.sh (gnulib.mk): Make the Sed script more portable.
30272         * nt/Makefile.in (${srcdir}/gnulib.mk): Adapt the Sed command to
30273         the changes in autogen.sh.
30275 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
30277         * autogen.sh (gnulib.mk): Another attempt to fix macOS build.
30279 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
30281         Fix dependencies of nt/gnulib.mk
30283         * Makefile.in ($(srcdir)/nt/gnulib.mk): Avoid circular dependency
30284         of nt/gnulib.mk on lib/Makefile.in.
30286 2017-01-05  Eli Zaretskii  <eliz@gnu.org>
30288         Unbreak macOS build
30290         * autogen.sh (gnulib.mk): Don't use non-portable extensions of GNU
30291         Sed.
30293 2017-01-05  Johan Claesson  <johanclaesson@bredband.net>  (tiny change)
30295         Fix term.el handling of ^Z-sequences spanning chunks
30297         Bash will after each command send ?\032 and the current directory "/tmp"
30298         to inform term.el.  Bash output is buffered in 4096 bytes chunks.  If a
30299         command outputs roughly 4096 bytes then the end of the first chunk will
30300         be "/tm" (Bug#13350).
30302         * lisp/term.el (term-emulate-terminal): Change the regexp to find the
30303         end of the ?\032 sequence to use \n instead of $, the latter can match
30304         end of string as well.
30306 2017-01-05  Mark Oteiza  <mvoteiza@udel.edu>
30308         Turn on lexical-binding in mb-depth.el
30310         * lisp/mb-depth.el: Turn on lexical-binding.
30311         (minibuffer-depth-setup): Bind things used multiple times.
30313 2017-01-04  Alan Third  <alan@idiocy.org>
30315         Revert "Rework NS event handling (bug#25265)"
30317         This reverts commit e0e5b0f4a4ce1d19ee0240c514dedd873d4165dc.
30319 2017-01-04  Glenn Morris  <rgm@gnu.org>
30321         Update remaining copyright years with admin.el M-x set-copyright
30323         * etc/refcards/ru-refcard.tex (cyear): Set to 2017.
30325 2017-01-04  Glenn Morris  <rgm@gnu.org>
30327         * lisp/ffap.el (ffap-lax-url): Bump :version after recent change.
30329 2017-01-04  Paul Eggert  <eggert@cs.ucla.edu>
30331         Port recent autogen.sh changes to Darwin
30333         Problem reported by Sam Steingold (Bug#25347).
30334         * autogen.sh: Don't assume 'sed -f-' reads a script from stdin, as
30335         POSIX does not require it and it does not work on Darwin.
30337 2017-01-04  Stefan Monnier  <monnier@iro.umontreal.ca>
30339         Avoid add-to-list on local variables
30341         * lisp/gnus/nnir.el: Use lexical-binding and cl-lib.
30342         (nnir-retrieve-headers): Use pcase.
30343         (nnir-search-thread): Avoid add-to-list on local variables.
30345         * lisp/gnus/smime.el: Use lexical-binding and cl-lib.
30346         (smime-verify-region): Avoid add-to-list on local variables.
30348         * lisp/mail/undigest.el: Use lexical-binding and cl-lib.
30349         (rmail-digest-parse-mime, rmail-digest-rfc1153)
30350         (rmail-digest-parse-rfc934): Avoid add-to-list on local variable.
30352         * lisp/net/ldap.el (ldap-search): Move init into declaration.
30354         * lisp/net/newst-backend.el (newsticker--cache-add):
30355         Avoid add-to-list on local variables; Simplify code with `assq'.
30357         * lisp/net/zeroconf.el: Use lexical-binding and cl-lib.
30358         (dbus-debug): Remove declaration, unused.
30359         (zeroconf-service-add-hook, zeroconf-service-remove-hook)
30360         (zeroconf-service-browser-handler, zeroconf-publish-service):
30361         Avoid add-to-list and *-hook on local variables.
30363         * lisp/org/org-archive.el (org-all-archive-files):
30364         * lisp/org/org-agenda.el (org-agenda-get-restriction-and-command):
30365         Avoid add-to-list on local variables.
30367         * lisp/org/ox-publish.el (org-publish--run-functions): New function.
30368         (org-publish-projects): Use it to avoid run-hooks on a local variable.
30369         (org-publish-cache-file-needs-publishing): Avoid add-to-list on
30370         local variables.
30372         * lisp/progmodes/ada-prj.el: Use setq instead of (set '...).
30373         (ada-prj-load-from-file): Avoid add-to-list on local variables.
30375         * lisp/progmodes/ada-xref.el (ada-initialize-runtime-library): Simplify.
30376         (ada-gnat-parse-gpr, ada-parse-prj-file-1)
30377         (ada-xref-find-in-modified-ali): Avoid add-to-list on local variables.
30379         * lisp/progmodes/idlw-shell.el (idlwave-shell-update-bp-overlays):
30380         Avoid add-to-list on local variables.
30382 2017-01-04  Mark Oteiza  <mvoteiza@udel.edu>
30384         Turn on lexical-binding in md4.el
30386         * lisp/md4.el: Turn on lexical-binding.
30387         * test/lisp/md4-tests.el: New file.
30389 2017-01-03  Stefan Merten  <stefan@merten-home.de>
30391         Lots of refactorings and a few minor improvements.
30393         User visible improvements and changes:
30394         * Improve and debug `rst-forward-section` and `rst-backward-section`.
30395         * Auto-enumeration may be used with all styles for list insertion.
30396         * Improve and debug `rst-toc-insert`.
30397         * Adapt change in Emacs to use customization group `text` instead of `wp`.
30398         * Bind `n` and `p` in `rst-toc-mode`.
30399         * `z` in `toc-mode` returns to the previous window configuration.
30400         * Require Emacs version >= 24.1.
30402         Lots of refactorings including:
30403         * Silence byte compiler.
30404         * Use lexical binding.
30405         * Use `cl-lib`.
30406         * Add tests and raise test coverage.
30408 2017-01-03  Stefan Monnier  <monnier@iro.umontreal.ca>
30410         (cl-defstruct): Improve error message for slots w/o value (bug#25312)
30412         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Don't signal an error but
30413         emit a warning for those coders who forgot to put a default value in
30414         their slot.
30416 2017-01-03  Philipp Stephani  <p.stephani2@gmail.com>
30418         Small patch for ffap.el
30420         * lisp/ffap.el (ffap-alist): Document that ffap sets the match data
30421         while walking 'ffap-alist'.
30423 2017-01-03  Eli Zaretskii  <eliz@gnu.org>
30425         Generate nt/gnulib.mk from lib/gnulib.mk
30427         This was proposed by Paul Eggert <eggert@cs.ucla.edu>,
30428         with the purpose of avoiding manual maintenance of
30429         nt/gnulib.mk.
30431         * nt/gnulib-modules-to-delete.cfg: New file.
30432         * nt/Makefile.in (AM_V_GEN, am__v_GEN_, am__v_GEN_0)
30433         (am__v_GEN_1): New variables.
30434         (${srcdir}/gnulib.mk): Rules to generate gnulib.mk from
30435         lib/gnulib.mk and list of modules in gnulib-modules-to-delete.cfg.
30437         * make-dist (nt): Add gnulib-modules-to-delete.cfg to the list of
30438         files to link.
30439         * configure.ac (GNULIB_MK): Compute the value according to $opsys.
30440         * autogen.sh: Create nt/gnulib.mk if it doesn't exist, before
30441         running autoreconf.
30442         * Makefile.in (gnulib_mk): New variable.
30443         ($(srcdir)/nt/gnulib.mk): Rule to produce it.
30444         (AUTOMAKE_INPUTS): Use $(gnulib_mk) instead of a literal file
30445         name.
30446         * .gitignore: Add nt/gnulib.mk.
30448         * src/w32.c (acl_errno_valid): Implement it here, as we no longer
30449         build the acl-permissions module from Gnulib.
30451 2017-01-03  Noam Postavsky  <npostavs@gmail.com>
30453         Handle multibyte chars spanning chunks in term.el
30455         * lisp/term.el (term-terminal-undecoded-bytes): New variable.
30456         (term-mode): Make it buffer local.  Don't make `term-terminal-parameter'
30457         buffer-local twice.
30458         (term-emulate-terminal): Check for bytes of incompletely decoded
30459         characters, and save them until the next call when they can be fully
30460         decoded (Bug#25288).
30462 2017-01-03  Michael Albinus  <michael.albinus@gmx.de>
30464         Finish work on filenotify-tests.el
30466         * test/lisp/filenotify-tests.el (file-notify--test-monitors):
30467         New variable.
30468         (file-notify--test-cleanup, file-notify--test-monitor): Use it.
30469         (file-notify--test-read-event, file-notify-test02-events)
30470         (file-notify-test04-file-validity): Handle "gvfs-monitor-dir.exe".
30471         (file-notify-test03-autorevert)
30472         (file-notify-test08-watched-file-in-watched-dir):
30473         Set `file-notify--test-desc' for proper work of
30474         `file-notify--test-monitor'.  (Bug#21804)
30476 2017-01-02  Michael Albinus  <michael.albinus@gmx.de>
30478         Check also for "gvfs-monitor-dir.exe" in Tramp
30480         * lisp/net/tramp-sh.el (tramp-get-remote-gvfs-monitor-dir): Check also
30481         for "gvfs-monitor-dir.exe".
30483 2017-01-02  Eli Zaretskii  <eliz@gnu.org>
30485         Fix compilation --without-x
30487         * src/composite.c (autocmp_chars) [HAVE_WINDOW_SYSTEM]: Call
30488         font_range only if it is compiled in.  (Bug#25334)
30490 2017-01-02  Sašo Živanović  <saso.zivanovic@guest.arnes.si>
30492         Fix RefTeX to show table of contents for dtx files (tiny change)
30494         * lisp/textmodes/reftex.el (reftex-compile-variables): Change the
30495           section regexp so that it accepts lines starting with the comment
30496           character. (tiny change)
30497         * lisp/textmodes/reftex-parse.el (reftex-parse-from-file): Filter
30498           gathered toc entries, accepting a commented entry if and only if the
30499           source file is a ".dtx" file. (tiny change)
30501 2017-01-02  Paul Eggert  <eggert@cs.ucla.edu>
30503         Remove mistakenly-added files
30505         Problem reported by Glenn Morris in:
30506         https://lists.gnu.org/r/emacs-devel/2017-01/msg00008.html
30507         * lisp/gnus/gnus-ems.el, lisp/gnus/gnus-sync.el:
30508         * lisp/gnus/messcompat.el, lisp/nxml/nxml-glyph.el:
30509         * lisp/nxml/nxml-uchnm.el, lisp/obsolete/awk-mode.el:
30510         * lisp/obsolete/iso-acc.el, lisp/obsolete/iso-insert.el:
30511         * lisp/obsolete/iso-swed.el, lisp/obsolete/resume.el:
30512         * lisp/obsolete/scribe.el, lisp/obsolete/spell.el:
30513         * lisp/obsolete/swedish.el, lisp/obsolete/sym-comp.el:
30514         Remove files that were added by mistake during a merge.
30516 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
30518         Warn about incomplete untarring of link files
30520         The current tar-mode doesn't really support unpacking symlinks, it
30521         simply creates an empty file of the same name.
30523         * lisp/tar-mode.el (tar--describe-as-link): New function extracted from
30524         `tar--check-descriptor'.
30525         (tar-untar-buffer): Use it to warn about imperfectly untarred link
30526         files.
30528 2017-01-01  Noam Postavsky  <npostavs@gmail.com>
30530         Remove sh-mode's skeleton-end-hook
30532         * lisp/progmodes/sh-script.el (sh-mode): Remove local setting of
30533         `skeleton-end-hook', `skeleton-insert' already does `newline-and-indent'
30534         and also respects `skeleton-end-newline' (Bug#16634).
30536 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30538         * nt/gnulib.mk (stdint.h): Update to match lib/gnulib.mk here.
30540 2017-01-01  Mark Oteiza  <mvoteiza@udel.edu>
30542         Add term/tmux.el
30544         Since tmux version 2.1, new tmux terminfos are shipped due to oddities
30545         with xterm and screen terminfos.  This is simply a duplication of
30546         term/screen.el with screen -> tmux.
30547         * lisp/term/tmux.el: New file.
30549 2017-01-01  Philipp Stephani  <phst@google.com>
30551         Fix encoding of JSON surrogate pairs
30553         JSON requires that such pairs be treated as UTF-16 surrogate pairs, not
30554         individual code points; cf. Bug #24784.
30556         * lisp/json.el (json-read-escaped-char): Fix decoding of surrogate
30557         pairs.
30558         (json--decode-utf-16-surrogates): New defun.
30560         * test/lisp/json-tests.el (test-json-read-string): Add test for
30561         surrogate pairs.
30563 2017-01-01  Michael Albinus  <michael.albinus@gmx.de>
30565         Remove tramp-gw.el, which was synced from emacs-25 by accident
30567 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30569         Do not use Gnulib’s m4/wint_t.m4.
30571         * admin/merge-gnulib: Remove m4/wint_t.m4 when merging.
30572         Fix typo so that warn-on-use.m4 is removed too.
30573         * configure.ac (gt_TYPE_WINT_T): New macro, replacing Gnulib’s.
30574         * m4/wint_t.m4: Remove.
30576 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30578         Merge from gnulib, continued
30580         * m4/wint_t.m4: New file, copied from gnulib.
30582 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30584         Update copyright year to 2017 in master
30586         Run admin/update-copyright in the master branch.  This fixes files
30587         that were not already fixed in the emacs-25 branch before it was
30588         merged here.
30590 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30592         Remove test/automated detritus from merge
30594 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30596         Merge from gnulib
30598         This incorporates:
30599         2016-12-19 stdint: Fix WINT_MAX to match wint_t on mingw
30600         2016-12-18 getopt: Fix link error for users of getopt() in <unistd.h>
30601         2016-12-17 getlogin: Port to newer mingw
30602         2016-12-17 stdint: Fix WINT_MAX to match wint_t on MSVC
30603         2016-12-17 Avoid redefinition errors on MSVC
30604         * lib/getopt.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/unistd.in.h:
30605         * m4/stdint.m4, m4/unistd_h.m4:
30606         Copy from gnulib.
30607         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
30608         Plus, this commit updates the indenting on copyright notices to
30609         match that of gnulib.
30611 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30613         Merge from origin/emacs-25
30615         2e2a806 Fix copyright years by hand
30616         5badc81 Update copyright year to 2017
30618 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30620         Merge from origin/emacs-25
30622         665be69 ; Update ChangeLog.2 and AUTHORS files
30624         # Conflicts:
30625         #       etc/AUTHORS
30627 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30629         Merge from origin/emacs-25
30631         697167b ; Improve wording of previous change in variables.texi
30632         d7973e8 Document 'default-toplevel-value' and 'set-default-toplevel-v...
30633         8b71826 Don't modify minibuffer variables globally
30634         5b5e036 Revert to pre-25.1 behavior in ffap
30635         19994a1 * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
30636         3ace730 Attempt to fix 64-bit AIX build
30637         f69bd79 Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
30638         c04ac8a Document that variable binding order is unspecified
30639         272554a * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
30640         08de101 Fix M-x hints on Mac port
30641         86a297a Work around reporting a dpi change in apply_xft_settings
30642         cf1f985 ; lisp/skeleton.el (skeleton-insert): Fix typo in last change
30643         9e1209d Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't m...
30644         88cdf14 Improve skeleton docstrings
30646 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30648         Merge from origin/emacs-25
30650         4179238 Improve documentation of 'w32-scroll-lock-modifier'
30652 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30654         Merge from origin/emacs-25
30656         9adb101 Document 'describe-fontset'
30657         229315c ; Add missing symbol quoting.
30658         3d94931 Repair desktop restoration on text terminals
30659         43022f9 Ignore forward-sexp-function in js-mode indentation code
30660         b19fb49 Improve documentation of 'define-coding-system'
30661         467768f Fix Bug#25162
30662         6db78ae Fix a typo in define-abbrev-table
30663         5f7d906 Bump makeinfo requirement from 4.7 to 4.13
30664         442e2f6 Fixes related to select-enable-clipboard
30665         e4ac450 Define struct predicate before acccesors
30666         08decbd Doc fix for vc-git
30667         5531e75 Further improve make-dist checking
30668         953bf67 Improve previous make-dist change
30669         129645a Make make-dist --snapshot do some sanity checks
30671         # Conflicts:
30672         #       lisp/menu-bar.el
30674 2017-01-01  Alan Mackenzie  <acm@muc.de>
30676         Give eval-and-compile a correct edebug spec.  Fixes bug #16184 properly.
30678         * lisp/emacs-lisp/edebug.el (edebug_offset_indices): Revert abortive commit
30679         from Thu Dec 29 09:22:36 2016 +0000 which didn't really fix the bug.
30681         * lisp/emacs-lisp/byte-run.el (eval-and-compile): Change the edebug spec from
30682         t to (&rest def-form).
30684 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30686         Fix copyright years by hand
30688         These are dates that admin/update-copyright did not update, or
30689         updated incorrectly.
30691 2017-01-01  Paul Eggert  <eggert@cs.ucla.edu>
30693         Update copyright year to 2017
30695         Run admin/update-copyright.
30697 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
30699         Clarify internal_catch etc.
30701         The recent change to internal_catch and friends relied on some
30702         confusion I introduced to the code in 2013.  Attempt to fix
30703         the confusion by clarifying the code instead.  This saves an
30704         instruction and a load dependency in the typical case.
30705         * src/eval.c (internal_catch, internal_condition_case)
30706         (internal_condition_case_1, internal_condition_case_2)
30707         (internal_condition_case_n): Undo the previous change.  Instead,
30708         use use ‘c’ rather than ‘handlerlist’ in the typical case.
30709         Also, use ‘eassert’ rather than ‘clobbered_eassert’ when possible.
30711 2016-12-31  Ken Brown  <kbrown@cornell.edu>
30713         Further improve filenotify-tests.el
30715         * test/lisp/filenotify-tests.el
30716         (file-notify--test-read-event): Adapt to file monitors of type
30717         GFamFileMonitor, which occur on Cygwin.
30718         (file-notify--test-monitor): Update doc string.
30720 2016-12-31  Paul Eggert  <eggert@cs.ucla.edu>
30722         * src/xdisp.c (string_from_display_spec): Simplify.
30724 2016-12-31  Alan Third  <alan@idiocy.org>
30726         Rework NS event handling (bug#25265)
30728         * src/nsterm.m (unwind_apploopnr): Remove.
30729         (ns_read_socket): Remove references to apploopnr.  Make processing the
30730         NS event loop conditional on being in the main thread.
30731         (ns_select): Remove references to apploopnr.  Remove all fd_handler
30732         related stuff.  Check if there are events waiting on the NS event
30733         queue rather than running the event loop.  Remove unused variables and
30734         code.
30735         (fd_handler): Remove.
30736         (ns_term_init): Remove creation of fd_handler thread.
30737         (hold_event, EmacsApp:sendEvent, EmacsView:mouseMoved,
30738         EmacsView:windowDidExpose): Remove send_appdefined.
30739         (ns_send_appdefined): Always check the event queue for
30740         applicationDefined events rather than relying on send_appdefined var.
30741         * src/nsterm.h: Remove reference to fd_handler method.
30743 2016-12-31  Philipp Stephani  <phst@google.com>
30745         Checkdoc: use syntax functions instead of regex
30747         In checkdoc.el, get rid of the error-prone regex to find definition
30748         forms, and use existing syntax-based navigation functions instead.
30749         This fixes a corner case with one-argument `defvar' forms.
30751         * lisp/emacs-lisp/checkdoc.el (checkdoc--next-docstring): New function.
30752         (checkdoc-next-docstring, checkdoc-defun): Use it.
30753         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--next-docstring):
30754         Add unit test.
30756 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
30758         Don't define NOMINMAX on MS-Windows
30760         * src/callproc.c (NOMINMAX) [WINDOWSNT]: Don't define.  This is no
30761         longer needed with the current sources and MinGW headers, while
30762         defining NOMINMAX causes an annoying compiler warning.
30764 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
30766         Simplify code in eval.c that calls 'setjmp'
30768         * src/eval.c (internal_catch, internal_condition_case)
30769         (internal_condition_case_1, internal_condition_case_2)
30770         (internal_condition_case_n): Factor out the common tail of the
30771         functions.
30773 2016-12-31  Chris Gregory  <czipperz@gmail.com>  (tiny change)
30775         Simplify code in 'string_from_display_spec'
30777         * src/xdisp.c (string_from_display_spec): Eliminate a redundant
30778         test before the loop.
30780 2016-12-31  Eli Zaretskii  <eliz@gnu.org>
30782         Serialize random number generation on MS-Windows
30784         * src/w32.c (rand_as183): New function.
30785         (random): Use it instead of MS runtime's 'rand'.  This avoids
30786         producing separate and identical random series in each Lisp
30787         thread.
30788         (srandom): Modify to supply 3 seed values to 'rand_as183'.
30790 2016-12-31  Michael Albinus  <michael.albinus@gmx.de>
30792         * src/gfilenotify.c (Fgfile_monitor_name): Return interned symbol.
30794 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
30796         Don't call xg_select for a NextStep build.
30798         NextStep builds use glib but don't use xg_select.
30800         * src/process.c (wait_reading_process_output): Don't call xg_select
30801         for a NextStep build.
30803 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
30805         Increase the obarray size.
30807         In a typical GNU/Linux/X11 build, we wind up with over 15k symbols by
30808         the time we've started.  The old obarray size ensured an average chain
30809         length of 10 or more.
30811         * src/lread.c (OBARRAY_SIZE): Increase to 15121.
30813 2016-12-30  Ken Raeburn  <raeburn@raeburn.org>
30815         Initialize thread support for Xlib.
30817         * src/xterm.c (x_initialize) [THREADS_ENABLED]: Call XInitThreads
30818         before doing anything else with X.
30820 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
30822         Rename primary_thread to main_thread
30824         This avoids the confusion of using two different phrases "main thread"
30825         and "primary thread" internally to mean the same thing.  See:
30826         https://lists.gnu.org/r/emacs-devel/2016-12/msg01142.html
30827         * src/thread.c (main_thread): Rename from primary_thread,
30828         since the new name no longer clashes with main_thread_id
30829         and Emacs internals normally call this the "main thread".
30830         (init_main_thread): Rename from init_primary_thread.
30831         (main_thread_p): Rename from primary_thread_p.
30832         All uses changed.
30834 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
30836         Rename main_thread to main_thread_id and simplify
30838         * src/emacs-module.c: Include syssignal.h, for main_thread_id.
30839         [HAVE_PTHREAD]: Do not include pthread.h.
30840         (main_thread): Remove.  All uses replaced by main_thread_id,
30841         or by dwMainThreadId on NT.  Since the HAVE_PTHREAD code is now using
30842         the main_thread_id established by sysdep.c, there is no need for a
30843         separate copy of the main thread ID here.
30844         (module_init): Remove.  All uses removed.
30845         * src/sysdep.c (main_thread_id) [HAVE_PTHREAD]:
30846         Rename from main_thread.  All uses changed.  Now extern.
30848 2016-12-30  Michael Albinus  <michael.albinus@gmx.de>
30850         * src/gfilenotify.c (Fgfile_monitor_name): Return a symbol.
30852 2016-12-30  Paul Eggert  <eggert@cs.ucla.edu>
30854         * src/sysdep.c (deliver_process_signal): Improve comment.
30856 2016-12-30  Alan Mackenzie  <acm@muc.de>
30858         CC Mode: Fix the fontification of a spuriously recognized enum member.
30860         The "enum" was in an argument list, but triggered the fontification of a
30861         following identifier in the function block as though it were in an enum
30862         declaration.
30864         * lisp/progmodes/cc-fonts.el (c-font-lock-enum-body): New function.
30865         (c-basic-matchers-after): Replace the inline stanza for enum elements with a
30866         call to c-font-lock-enum-body.
30868         * lisp/progmodes/cc-langs.el (c-enum-clause-introduction-re): New language
30869         variable.
30871 2016-12-30  Nicolas Petton  <nicolas@petton.fr>
30873         Bump Emacs version to 25.1.91
30875         * README:
30876         * configure.ac:
30877         * msdos/sed2v2.inp:
30878         * nt/README.W32: Bump Emacs version.
30879         * lisp/ldefs-boot.el: Update.
30881 2016-12-30  Eli Zaretskii  <eliz@gnu.org>
30883         Attempt to fix crashes with threads in GTK builds
30885         * src/xgselect.c (xg_select): Call pselect via thread_select, not
30886         directly, to avoid running Lisp (via unblock_input) when more than
30887         one thread could be running.  (Bug#25247)
30888         * src/process.c (wait_reading_process_output) [HAVE_GLIB]: Call
30889         xg_select directly instead of through thread_select.
30890         * src/xgselect.h (xg_select): Last 2 arguments are no longer
30891         'const', for consistency with thread_select.
30893 2016-12-30  Arash Esbati  <arash.esbati@gmail.com>
30895         Add entry for biblatex
30897         * lisp/textmodes/reftex-vars.el (reftex-cite-format-builtin): Add
30898         entry for biblatex macros.
30900 2016-12-30  Alan Mackenzie  <acm@muc.de>
30902         Backport: Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
30904         The ambiguity was whether INITVALUE is evaluated when it's not going to be
30905         used to set SYMBOL's value.
30907         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
30909         (cherry picked from commit 8295e97f18490a535d1188a3daf0b0fd1bf4fa0d)
30911 2016-12-30  Tino Calancha  <tino.calancha@gmail.com>
30913         ffap-string-at-point: Limit max length of active region
30915         Prevents that 'ffap-guesser' waste time checking large strings
30916         which are likely not valid candidates (Bug#25243).
30917         * lisp/ffap.el (ffap-max-region-length): New variable.
30918         (ffap-string-at-point): Use it.
30919         * test/lisp/ffap-tests.el: New test suite.
30920         (ffap-tests-25243): Add test for this bug.
30922 2016-12-30  Thien-Thi Nguyen  <ttn@gnu.org>
30924         last-chance: Also ignore NEWS files + typo fixes
30926         * admin/last-chance.el: Fix typo in copyright notice.
30927         (last-chance-uninteresting-regexps): Add entry to match NEWS files.
30928         (last-chance-cleanup): Fix typo in docstring.
30930 2016-12-29  Mike Kupfer  <mkupfer@alum.berkeley.edu>
30932         * lisp/mh-e/mh-e.el (mh-fetch-x-image-url): Fix a docstring typo.
30934 2016-12-29  Alan Mackenzie  <acm@muc.de>
30936         Remove an ambiguity from defvar's doc string.  Fixes bug #25292.
30938         The ambiguity was whether INITVALUE is evaluated when it's not going to be
30939         used to set SYMBOL's value.
30941         * src/eval.c (defvar): Rewrite a paragraph of the doc string.
30943 2016-12-29  Michael Albinus  <michael.albinus@gmx.de>
30945         Improve filenotify-tests.el
30947         * src/inotify.c (Finotify_valid_p):
30948         * src/kqueue.c (Fkqueue_valid_p):
30949         * src/w32notify.c (Fw32notify_valid_p):
30950         * src/gfilenotify.c (Fgfile_valid_p): Fix typo in docstring.
30951         (Fgfile_monitor_name): New defun.
30952         (syms_of_gfilenotify): Declare Sgfile_monitor_name.
30954         * test/lisp/filenotify-tests.el (file-notify--test-read-event):
30955         New defun, derived from `file-notify--test-read-event-timeout'.
30956         Replace all calls of `read-event' by this.
30957         (file-notify--test-timeout): Fix docstring.
30958         (file-notify--test-monitor): New defun.
30959         (file-notify--deftest-remote): Do not bind
30960         `file-notify--test-read-event-timeout' anymore.
30961         (file-notify-test00-availability): Print also monitor, if existent.
30962         (file-notify--test-with-events): Add an additional
30963         `file-notify--test-read-event' call, in order to get it work
30964         after `file-notify-add-watch'.  Remove special timeout for cygwin.
30965         (file-notify-test02-events): Make a better check for cygwin.
30966         (file-notify-test06-many-events): Improve event list for cygwin.
30967         (file-notify-test08-watched-file-in-watched-dir): Add cygwin case.
30969 2016-12-29  Alan Mackenzie  <acm@muc.de>
30971         Partially correct fontification of "(b*3)", and the like, in C++ Mode
30973         This problem is caused by the fundamental ambiguity in C++ between
30974         argument declarations and initialization clauses.
30976         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): If we have an open
30977         paren preceded by an arithmetic operator, we give this the context nil, not
30978         'arglist.
30980         * lisp/progmodes/cc-langs.el (c-arithmetic-operators, c-arithmetic-op-regexp):
30981         New lang consts and vars.
30983 2016-12-29  Alan Mackenzie  <acm@muc.de>
30985         Initialize edebug-offset-indices to a cons, not nil.  Fixes bug #16184.
30987         This is because there are times when this variable is changed by setcar before
30988         an atom is pushed onto it by debug-enter.  This happens, for example, whilst
30989         instrumenting c-font-lock-declarations in .../lisp/progmodes/cc-fonts.el.
30991         * lisp/emacs-lisp/edebug.el (edebug-offset-indices): initialize to '(0).
30993 2016-12-28  Stefan Monnier  <monnier@iro.umontreal.ca>
30995         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
30997         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
30998         Cherry picked from commit e6161f648903d821865b9610b3b6aa0f82a5dcb7.
31000 2016-12-27  Michael Albinus  <michael.albinus@gmx.de>
31002         Release Tramp 2.3.1
31004         * doc/misc/trampver.texi:
31005         * lisp/net/trampver.el: Change version to "2.3.1".
31007         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it to
31008         `eshell-mode-hook' but `eshell-first-time-mode-hook'.
31010         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
31011         (tramp-compat-file-name-quote)
31012         (tramp-compat-file-name-unquote): Embed them in `eval-and-compile'.
31014 2016-12-27  Paul Eggert  <eggert@cs.ucla.edu>
31016         Simplify prog1 implementation
31018         Inspired by a suggestion from Chris Gregory in:
31019         https://lists.gnu.org/r/emacs-devel/2016-12/msg00965.html
31020         On my platform, this generates exactly the same machine insns.
31021         * src/eval.c (prog_ignore): Rename from unwind_body, since
31022         it’s more general than that.  All callers changed.
31023         (Fprog1): Simplify by using prog_ignore.
31024         (Fwhile): Clarify by using prog_ignore.
31026 2016-12-27  Stefan Monnier  <monnier@iro.umontreal.ca>
31028         * lisp/emacs-lisp/inline.el: Fix apply-conversion (bug#25280)
31030         (inline--dont-quote): Quote the function with #' when passing it to `apply'.
31032 2016-12-27  Mark Oteiza  <mvoteiza@udel.edu>
31034         Remove a use of lexical-let
31036         * lisp/gnus/message.el (message-completion-function): Just use let,
31037         since the file now uses lexical-binding.
31039 2016-12-27  Ken Brown  <kbrown@cornell.edu>
31041         Improve filenotify-tests.el on Cygwin (Bug #21804)
31043         * test/lisp/filenotify-tests.el [CYGWIN]
31044         (file-notify--test-read-event-timeout): Increase.
31045         (file-notify--test-with-events): Add delay before executing body.
31046         (file-notify-test02-events, file-notify-test04-file-validity):
31047         Adjust expected results.
31049 2016-12-27  Eli Zaretskii  <eliz@gnu.org>
31051         Fix expand-file-name on DOS_NT systems when /: escaping is used
31053         * src/fileio.c (Fexpand_file_name) [DOS_NT]: Don't expand "~" in
31054         file names escaped by "/:".  Don't recursively expand
31055         default-directory escaped with "/:" which is not followed by a
31056         drive spec.  (Bug#25183)
31058 2016-12-27  Bake Timmons  <65pandas@gmail.com>
31060         Fix `mail-sources' value of `(group)' in Gnus manual (bug#25275)
31062         * doc/misc/gnus.texi (Mail Source Specifiers):
31063         Replace wrong `mail-sources' value of `(group)' in Gnus manual with
31064         the correct `((group))' value.  (bug#25275) (tiny change)
31066 2016-12-27  Bake Timmons  <65pandas@gmail.com>
31068         Fix bug in customizing `mail-sources' variable (bug#25274)
31070         * lisp/gnus/mail-source.el (mail-sources): Use list instead of cons
31071         for lone argument. (bug#25274) (tiny change)
31073 2016-12-26  Philipp Stephani  <phst@google.com>
31075         Checkdoc: Don't require a space before an arg list
31077         See Bug#24998.
31079         * lisp/emacs-lisp/checkdoc.el (checkdoc-defun-regexp): Don't require a
31080         space before a argument list.
31081         * test/lisp/emacs-lisp/checkdoc-tests.el (checkdoc-tests--bug-24998):
31082         Add unit test.
31084 2016-12-26  Eli Zaretskii  <eliz@gnu.org>
31086         Document 'default-toplevel-value' and 'set-default-toplevel-value'
31088         * doc/lispref/variables.texi (Default Value): Document
31089         'default-toplevel-value' and 'set-default-toplevel-value'.
31091 2016-12-25  Michihito Shigemura  <m_shigemura@shigemk2.com>  (tiny change)
31093         Add zshrc and zshenv detection to sh-mode (bug#25217)
31095         * lisp/progmodes/sh-script.el (sh-mode): Add zsh string-match
31097 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
31099         Fix typo in lisp.h reordering patch
31101         * src/lisp.h (XUNTAG) [!USE_LSB_TAG]: Remove duplicate defn.
31102         Reported by Eli Zaretskii (Bug#25128#19).
31104 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
31106         regex.h now includes sys/types.h
31108         * src/dired.c, src/emacs.c, src/search.c, src/syntax.c, src/thread.h:
31109         Do not include sys/types.h; no longer needed.
31110         * src/regex.h: Include <sys/types.h>, as that's what Gnulib and
31111         glibc regex.h does, and POSIX has blessed this since 2008.
31113 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
31115         Reorder lisp.h to declare types before using them
31117         This puts basic functions for types to be after the corresponding
31118         type definitions.  This is a more-common programming style in C,
31119         and will make it easier to port Emacs to gcc
31120         -fcheck-pointer-bounds, since the functions now have access to the
31121         corresponding types' sizes.  This patch does not change the code;
31122         it just moves declarations and definitions and removes
31123         no-longer-needed forward declarations (Bug#25128).
31124         * src/buffer.c, src/data.c, src/image.c:
31125         Include process.h, for PROCESSP.
31126         * src/buffer.h (BUFFERP, CHECK_BUFFER, XBUFFER):
31127         * src/process.h (PROCESSP, CHECK_PROCESS, XPROCESS):
31128         * src/termhooks.h (TERMINALP, XTERMINAL):
31129         * src/window.h (WINDOWP, CHECK_WINDOW, XWINDOW):
31130         * src/thread.h (THREADP, CHECK_THREAD, XTHREAD, MUTEXP, CHECK_MUTEX)
31131         (XMUTEX, CONDVARP, CHECK_CONDVAR, XCONDVAR):
31132         Move here from lisp.h.
31133         * src/intervals.h: Include buffer.h, for BUFFERP.
31134         Include lisp.h, for Lisp_Object.
31135         * src/lisp.h: Reorder declarations and definitions as described
31136         above.  Move thread includes to be later, so that they can use the
31137         reordered definitions.  Move some symbols to other headers (noted
31138         elsewhere).  Remove forward decls that are no longer needed.
31139         * src/thread.h: Include systhread.h here, not in lisp.h,
31140         since lisp.h itself does not need systhread.h.
31142 2016-12-25  Leo Liu  <sdl.web@gmail.com>
31144         Don't modify minibuffer variables globally
31146         * lisp/files.el (cd): Use setq-local instead.  (Bug#25260)
31148 2016-12-25  Dima Kogan  <dima@secretsauce.net>
31150         diff-mode auto-refines only after a successful motion
31152         Prior to this patch (if enabled) auto-refinement would kick in after all
31153         hunk navigation commands, even if the motion failed.  This would result
31154         in a situation where the hunk navigation would signal an error and beep,
31155         but yet still accomplish potentially useful work, by auto-refining.
31156         This patch moves the auto-refinement code to only run when a motion was
31157         successful
31159         * lisp/vc/diff-mode.el (diff--internal-hunk-next,
31160           diff--internal-hunk-prev): Removed auto-refinement-triggering code
31161         * lisp/vc/diff-mode.el (diff--wrap-navigation): Added
31162           auto-refinement-triggering code
31164 2016-12-25  Dima Kogan  <dima@secretsauce.net>
31166         diff-mode is able to better handle file headers
31168         This fixes a regression introduced in
31170           https://git.savannah.gnu.org/gitweb/?p=emacs.git;a=commit;h=2c8a7e50d24daf19ea7d86f1cfeaa98a41c56085
31172         This bug was filed in
31174           https://debbugs.gnu.org/cgi/bugreport.cgi?bug=25105
31176         Patches generated from a VCS such as git contain a patch message at the
31177         start, and diff-mode is now once-again able to properly able to ignore
31178         this message when issuing navigation commands around the message.
31180         * lisp/vc/diff-mode.el (diff-beginning-of-file-and-junk): More
31181           thoroughly ignore the header when looking for a beginning of file
31182           diffs.
31184 2016-12-25  Paul Eggert  <eggert@cs.ucla.edu>
31186         Use libpng-config --ldflags, not --libs
31188         Problem reported by James K. Lowden (Bug#25268).
31189         * configure.ac (LIBPNG): Pass --ldflags, not --libs, to libpng-config.
31191 2016-12-24  Eli Zaretskii  <eliz@gnu.org>
31193         Revert to pre-25.1 behavior in ffap
31195         * lisp/ffap.el (ffap-lax-url): Change the default to t, to produce
31196         the same behavior as in Emacs 24.x.  (Bug#25264)
31197         Explain the trade-offs of customizing this in the doc string.
31199 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
31201         * lisp/ffap.el: Fix obsolete comment referencing ffap-bug.
31203 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
31205         Remove redundant `save-match-data' in whitespace.el
31207         * lisp/whitespace.el (whitespace-cleanup, whitespace-cleanup-region):
31208         (whitespace-report-region): Remove redundant `save-match-data' calls.
31210 2016-12-24  Noam Postavsky  <npostavs@gmail.com>
31212         Fix whitespace eob cleanup
31214         * lisp/whitespace.el (whitespace-empty-at-eob-regexp): Match any number
31215         of empty lines at end of buffer.
31216         * test/lisp/whitespace-tests.el (whitespace-cleanup-eob): New test.
31217         (whitespace-tests--cleanup-string): New helper function for tests.
31219 2016-12-24  Hong Xu  <hong@topbug.net>
31221         Fix timezone detection of parse-iso8601-time-string
31223         * lisp/calendar/parse-time.el (parse-iso8601-time-string): Fix timezone
31224         parsing.  Add a doc string.  (Bug#25086)
31225         * src/editfns.c (Fdecode-time): Doc fix.
31226         * doc/misc/emacs-mime.texi (time-date): Add an example for
31227         parse-iso8601-time-string.
31228         * test/lisp/calendar/parse-time-tests.el (parse-time-tests): Add
31229         tests for parse-iso8601-time-string.
31231 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
31233         Simplify exec_byte_code via moving decls etc.
31235         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
31236         initializers into decls, and by omitting some unnecessary changes
31237         to ‘top’.
31239 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
31241         Remove interpreter’s byte stack
31243         This improves performance overall on my benchmark on x86-64,
31244         since the interpreted program-counter resides in a machine
31245         register rather than in RAM.
31246         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
31247         is no longer a byte stack to decode.
31248         * src/bytecode.c (struct byte_stack, byte_stack_list)
31249         (relocate_byte_stack): Remove.  All uses removed.
31250         (FETCH): Simplify now that pc is now local (typically, in a
31251         register) and no longer needs to be relocated.
31252         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
31253         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
31254         (exec_byte_code): Allocate a copy of the function’s bytecode,
31255         so that there is no problem if GC moves it.
31256         * src/lisp.h (struct handler): Remove byte_stack member.
31257         All uses removed.
31258         * src/thread.c (unmark_threads): Remove.  All uses removed.
31259         * src/thread.h (struct thread_state): Remove m_byte_stack_list member.
31260         All uses removed.  m_stack_bottom is now the first non-Lisp field.
31262 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
31264         BYTE_CODE_SAFE typo fix
31266         * src/bytecode.c (FETCH): Depend on the value of BYTE_CODE_SAFE,
31267         not on whether it is defined.
31269 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
31271         BYTE_CODE_SAFE cleanups
31273         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove; no longer needed.
31274         (struct byte_stack) [BYTE_MAINTAIN_TOP]:
31275         Remove unused members ‘top’ and ‘bottom’.
31276         (exec_byte_code): Nest inside { } to avoid GCC warning about
31277         jumping over declaration when compiled with -DBYTE_CODE_SAFE.
31279 2016-12-24  Thien-Thi Nguyen  <ttn@gnu.org>
31281         last-chance: new utility lib for dangling deterrence
31283         * admin/last-chance.el: New file.
31285 2016-12-24  Paul Eggert  <eggert@cs.ucla.edu>
31287         Use max_align_t instead of void *
31289         * src/thread.c (run_thread): Don’t assume void * is aligned enough.
31291 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
31293         Attempt to fix 64-bit AIX build
31295         * src/unexaix.c (make_hdr, copy_text_and_data, write_segment): Fix
31296         type-casts that assumed 32-bit pointers.  (Bug#25141)
31298 2016-12-23  Philipp Stephani  <phst@google.com>
31300         Clarify usage of 'ediff-cleanup-hook' (Bug#24675)
31302         * doc/misc/ediff.texi (Hooks): Clarify usage of 'ediff-cleanup-hook'
31304 2016-12-23  Philipp Stephani  <phst@google.com>
31306         Document that variable binding order is unspecified
31308         * doc/lispref/variables.texi (Local Variables):
31309         * doc/misc/cl.texi (Modify Macros): Document that binding order in 'let' and
31310         'cl-letf' is unspecified.
31312 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
31314         Prevent infloops in redisplay due to truncate-lines and overlays
31316         * src/xdisp.c (hscroll_window_tree): Avoid inflooping in
31317         redisplay_window when a screen line ends in an overlay string with
31318         a newline.  (Bug#25246)
31320 2016-12-23  Philipp Stephani  <phst@google.com>
31322         Treat incomplete integer literals as errors
31324         See Bug#25120.
31326         * src/lread.c (read_integer): Treat incomplete integer literals as errors.
31327         * test/src/lread-tests.el (lread-empty-int-literal): New unit test for
31328         incomplete integer literals.
31330 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
31332         * lisp/desktop.el (desktop-buffers-not-to-save): Doc fix.
31334 2016-12-23  Stefan Monnier  <monnier@IRO.UMontreal.CA>
31336         Fix M-x hints on Mac port
31338         * lisp/simple.el (execute-extended-command--shorter): Call
31339         input-pending-p to trigger input processing on some systems, such
31340         as Mac port.  (Bug#23002)
31342 2016-12-23  Michael Albinus  <michael.albinus@gmx.de>
31344         * test/lisp/net/tramp-tests.el (tramp--test-check-files): Make it robust.
31346 2016-12-23  Eli Zaretskii  <eliz@gnu.org>
31348         Avoid aborts due to unaligned byte stack of threads
31350         * src/thread.c (run_thread): Make sure the pointers to thread byte
31351         stack are properly aligned.  (Bug#25247)
31353 2016-12-22  Paul Eggert  <eggert@cs.ucla.edu>
31355         Pacify --enable-gcc-warnings
31357         * src/charset.c (load_charset_map):
31358         * src/coding.c (decode_coding_object):
31359         * src/frame.c (make_frame):
31360         * src/window.c (Frecenter):
31361         Mark locals with UNINIT to silence false alarms from
31362         -Wmaybe-uninitialized.
31363         * src/lisp.h (SYMBOL_ALIAS, SYMBOL_BLV, SYMBOL_FWD)
31364         (SET_SYMBOL_ALIAS, SET_SYMBOL_BLV, SET_SYMBOL_FWD):
31365         Check and assume that values are nonnull.  This pacifies
31366         -Wmaybe-uninitialized in Fmake_variable_buffer_local and
31367         Fmake_local_variable.
31369 2016-12-22  Eli Zaretskii  <eliz@gnu.org>
31371         Fix last change with thread marking under GC_CHECK_MARKED_OBJECTS
31373         * src/thread.c (primary_thread_p): New function.
31374         * src/alloc.c (mark_object): Use 'primary_thread_p' to bypass tests
31375         meant for thread objects allocated dynamically.
31376         * src/thread.h (primary_thread_p): Add prototype.
31378 2016-12-22  Martin Rudalics  <rudalics@gmx.at>
31380         Work around reporting a dpi change in apply_xft_settings
31382         * src/xsettings.c (apply_xft_settings): Don't report a change
31383         when dpi settings do not differ substantially.
31385 2016-12-22  Noam Postavsky  <npostavs@gmail.com>
31387         Use completion-at-point in verilog-mode
31389         There were some functions in verilog-mode that implemented in-buffer
31390         completion, but this needlessly duplicates completion-at-point
31391         functionality, and the popup window management had problems
31392         (see Bug #23842).  We need to keep them for backwards compatibility with
31393         older emacs versions, but use completion-at-point if available.
31395         * lisp/progmodes/verilog-mode.el (verilog-toggle-completions): Mark as
31396         obsolete if completion-cycle-threshold is available.
31397         (verilog-mode-map, verilog-menu): Bind completion-at-point and
31398         completion-help-at-point in preference to verilog-complete-word and
31399         verilog-show-completions, respectively.
31400         (verilog-mode): Add verilog-completion-at-point to
31401         completion-at-point-functions.
31402         (verilog-completion-at-point): New function.
31403         (verilog-show-completions, verilog-complete-word): Use it to avoid code
31404         duplication.
31406 2016-12-21  Reuben Thomas  <rrt@sc3d.org>
31408         Keep default CASECHARS/NOT-CASECHARS for ispell built-in dictionaries
31410         * lisp/textmodes/ispell.el (ispell-set-spellchecker-params): Do not
31411         override CASECHARS and NOT-CASECHARS.  The ispell dictionaries
31412         retain their hardwired values, and all other dictionaries are given
31413         sensible defaults.
31415 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
31417         * lisp/textmodes/tex-mode.el (tex-compile-commands): Add luatex
31418         and xetex commands.
31420 2016-12-21  Eli Zaretskii  <eliz@gnu.org>
31422         Fix aborts in GC under GC_CHECK_MARKED_OBJECTS
31424         * src/alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Don't abort
31425         for thread objects.  They are marked via the all_threads list, and
31426         therefore don't need to be inserted into the red-black tree, so
31427         mem_find will never find them.  Reported by Daniel Colascione
31428         <dancol@dancol.org> in
31429         https://lists.gnu.org/r/emacs-devel/2016-12/msg00817.html.
31431 2016-12-21  Stefan Monnier  <monnier@iro.umontreal.ca>
31433         * src/data.c (Fmake_variable_frame_local): Remove
31435         * src/lisp.h (struct Lisp_Buffer_Local_Value): Remove `frame_local'.
31437         * src/data.c (swap_in_symval_forwarding, set_internal)
31438         (set_symbol_trapped_write, make_blv, Fmake_variable_buffer_local)
31439         (Fmake_local_variable, Fkill_local_variable, Flocal_variable_p):
31440         Don't pay attention to ->frame_local any more.
31441         (syms_of_data): Remove Qtrapping_frame_local and don't defsubr
31442         Smake_variable_frame_local.
31444         * etc/NEWS (Incompatible Lisp Changes in Emacs 26.1): Announce removal
31445         of make-variable-frame-local.
31447         * lisp/help-fns.el (describe-variable): Don't handle the now impossible
31448         frame-local case.
31450         * lisp/subr.el (make-variable-frame-local): Remove obsolescence data.
31452         * src/frame.c (store_frame_param):
31453         * src/eval.c (specbind): Don't pay attention to ->frame_local any more.
31455         * src/widget.c (first_frame_p): Remove, unused.
31457 2016-12-21  Paul Eggert  <eggert@cs.ucla.edu>
31459         Port dumping better to WSL
31461         Problem reported by Angelo Graziosi in:
31462         https://lists.gnu.org/r/emacs-devel/2016-12/msg00822.html
31463         * src/sysdep.c (disable_address_randomization):
31464         Detect buggy platforms where 'personality' always returns 0.
31466 2016-12-21  Michael Albinus  <michael.albinus@gmx.de>
31468         Remove gateway methods in Tramp
31470         * doc/misc/tramp.texi (Top, Configuration): Remove section
31471         `Gateway methods', insert section `Firewalls' in menu.
31472         (History): Gateways are removed now.
31473         (Gateway methods): Remove section.
31474         (Multi-hops, Traces and Profiles): Don't reference to gateways anymore.
31475         (Firewalls): New section.
31477         * etc/NEWS: Gateway methods in Tramp have been removed.
31479         * lisp/net/tramp.el (tramp-methods): Adapt docstring.
31480         (tramp-file-name-port, tramp-accept-process-output): Simplify.
31482         * lisp/net/tramp-gw.el: Remove.
31484         * lisp/net/tramp-sh.el (tramp-gw-tunnel-method)
31485         (tramp-gw-socks-method): Remove declarations.
31486         (tramp-methods) <scp, scpx, ssh, sshx, telnet, nc, plink, pscp>:
31487         Remove `tramp-gw-args' and `tramp-default-port'.  (Bug#18967)
31488         (tramp-do-copy-or-rename-file-out-of-band)
31489         (tramp-compute-multi-hops, tramp-maybe-open-connection):
31490         Remove gateway support.
31492         * test/lisp/net/tramp-tests.el (tramp-test03-file-name-defaults):
31493         Remove gateway tests.
31495 2016-12-20  Alan Mackenzie  <acm@muc.de>
31497         Amend the version number of CC Mode 5.33 -> 5.32.99.  Don't merge to trunk.
31499         lisp/progmodes/cc-defs.el: Amend the version number.
31500         etc/NEWS: Add an item explaining the change.
31502 2016-12-20  Tino Calancha  <tino.calancha@gmail.com>
31504         files-test-read-file-in-: Delete temporary dir on exit
31506         * test/lisp/files-tests.el (files-test-read-file-in-~):
31507         Create subdir inside dir.
31509 2016-12-20  Christopher Genovese  <genovese@cmu.edu>
31511         ibuffer: New filters and commands
31513         Add several new filters and improve documentation.
31514         See discussion on:
31515         https://lists.gnu.org/r/emacs-devel/2016-11/msg00399.html
31516         * lisp/ibuf-ext.el: Add paragraph to file commentary.
31517         (ibuffer-saved-filters, ibuffer-filtering-qualifiers)
31518         (ibuffer-filter-groups): Update doc string.
31519         (ibuffer-unary-operand): Add new function that transparently
31520         handles 'not' formats for compound filters.
31521         (ibuffer-included-in-filter-p): Handle 'not' fully; update doc string.
31522         (ibuffer-included-in-filter-p-1): Handle 'and' compound filters.
31523         (ibuffer-decompose-filter): Handle 'and' as well,
31524         and handle 'not' consistently with other uses.
31525         (ibuffer-and-filter): New defun analogous to 'ibuffer-or-filter'.
31526         (ibuffer--or-and-filter): New defun.
31527         (ibuffer-or-filter, ibuffer-and-filter): Use it.
31528         (ibuffer-format-qualifier): Handle 'and' filters as well.
31529         (ibuffer-filter-by-basename, ibuffer-filter-by-file-extension)
31530         (ibuffer-filter-by-directory, ibuffer-filter-by-starred-name)
31531         (ibuffer-filter-by-modified, ibuffer-filter-by-visiting-file):
31532         Add new pre-defined filters.
31533         (ibuffer-filter-chosen-by-completion): Add new interactive command
31534         for easily choosing a filter from the descriptions.
31535         * lisp/ibuffer.el (ibuffer-mode-map):
31536         Bind ibuffer-filter-by-basename, ibuffer-filter-by-file-extension,
31537         ibuffer-filter-by-starred-name, ibuffer-filter-by-modified,
31538         ibuffer-filter-by-visiting-file to '/b', '/.', '/*', '/i', '/v'
31539         respectively; bind 'ibuffer-or-filter', 'ibuffer-and-filter',
31540         'ibuffer-pop-filter' ,'ibuffer-pop-filter-group' and
31541         'ibuffer-filter-disable' to '/|', '/&', '/<up>', '/S-<up>'
31542         and '/ DEL' respectively.
31543         * test/lisp/ibuffer-tests.el (ibuffer-autoload): Add appropriate
31544         skip specification.
31545         Add menu entries for the new filters.
31546         (ibuffer-filter-inclusion-1, ibuffer-filter-inclusion-2
31547         ibuffer-filter-inclusion-3, ibuffer-filter-inclusion-4
31548         ibuffer-filter-inclusion-5, ibuffer-filter-inclusion-6
31549         ibuffer-filter-inclusion-7, ibuffer-filter-inclusion-8
31550         ibuffer-decompose-filter, ibuffer-and-filter
31551         ibuffer-or-filter): Add new tests; they are skipped unless
31552         ibuf-ext is loaded.
31554 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
31556         Update NEWS
31558         * etc/NEWS (Image-Dired): New section.
31560 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
31562         Recognize graphicsmagick in image-dired
31564         * lisp/image-dired.el (image-dired-cmd-create-thumbnail-program):
31565         (image-dired-cmd-create-thumbnail-options):
31566         (image-dired-cmd-create-temp-image-program):
31567         (image-dired-cmd-create-temp-image-options):
31568         (image-dired-cmd-create-standard-thumbnail-options):
31569         (image-dired-cmd-rotate-thumbnail-program):
31570         (image-dired-cmd-rotate-thumbnail-options): Account for existence of
31571         gm(1) executable.
31573 2016-12-20  Noam Postavsky  <npostavs@gmail.com>
31575         Improve skeleton docstrings
31577         * lisp/skeleton.el (skeleton-end-newline): Remove mention of
31578         `skeleton-end-hook', its default code was moved into `skeleton-insert'.
31579         (skeleton-insert): Mention `skeleton-end-newline' and move reference to
31580         `skeleton-end-hook' above the explanation of skeleton syntax.
31582 2016-12-20  Mark Oteiza  <mvoteiza@udel.edu>
31584         Implement asynchronous thumbnail generation in image-dired
31586         Additionally, all FOO-options defcustoms that were in fact shell command
31587         strings have been converted to argument lists.  Another method for
31588         shrinking PNG thumbs with optipng(1) has been added.
31589         * lisp/image-dired.el: Remove TODO item in commentary.
31590         (image-dired-cmd-create-thumbnail-options):
31591         (image-dired-cmd-create-temp-image-options):
31592         (image-dired-cmd-rotate-thumbnail-options):
31593         (image-dired-cmd-rotate-original-options):
31594         (image-dired-cmd-write-exif-data-options):
31595         (image-dired-cmd-read-exif-data-options): Convert to argument lists.
31596         (image-dired-cmd-pngnq-program, image-dired-cmd-pngcrush-program):
31597         Change string type to file.
31598         (image-dired-cmd-create-standard-thumbnail-command): Remove.
31599         (image-dired-cmd-pngnq-options):
31600         (image-dired-cmd-create-standard-thumbnail-options):
31601         (image-dired-cmd-optipng-program, image-dired-cmd-optipng-options):
31602         New defcustoms.
31603         (image-dired-queue, image-dired-queue-active-jobs):
31604         (image-dired-queue-active-limit): New variables.
31605         (image-dired-pngnq-thumb, image-dired-pngcrush-thumb):
31606         (image-dired-optipng-thumb): New functions.
31607         (image-dired-create-thumb-1): Renamed from image-dired-create-thumb.
31608         Use start-process instead of call-process.  Set file modes.  Trigger
31609         PNG file optimization in process sentinel.
31610         (image-dired-thumb-queue-run, image-dired-create-thumb): New functions.
31611         (image-dired-display-thumbs):
31612         (image-dired-create-thumbs): Don't expect call-process return value.
31613         (image-dired-display-image, image-dired-rotate-thumbnail): Use
31614         start-process instead of call-process.
31615         (image-dired-rotate-original, image-dired-set-exif-data):
31616         (image-dired-get-exif-data): Adapt to arguments being an arg list.
31618 2016-12-19  Andreas Schwab  <schwab@linux-m68k.org>
31620         Protect change of window's buffer in vertical-motion against unwinds (bug#25209)
31622         * src/indent.c (restore_window_buffer): New function.
31623         (Fvertical_motion): Use it to restore window's buffer.
31625 2016-12-19  Glenn Morris  <rgm@gnu.org>
31627         Improve default load-path for uninstalled CANNOT_DUMP builds
31629         * src/lread.c (load_path_default) [CANNOT_DUMP]:
31630         Use build load-path if we seem to be running uninstalled.  (Bug#24974)
31631         I think this became an issue several years ago when we stopped
31632         using EMACSLOADPATH in the Makefiles; however this change should
31633         improve the CANNOT_DUMP uninstalled case in general.
31635 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
31637         Improve documentation of 'w32-scroll-lock-modifier'
31639         * doc/emacs/msdos.texi (Windows Keyboard): Document how to set up
31640         w32-scroll-lock-modifier so that Scroll Lock toggles the LED.
31642         * src/w32fns.c (syms_of_w32fns) <w32-scroll-lock-modifier>: Doc
31643         fix.  (Bug#25204)
31645 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
31647         Document 'describe-fontset'
31649         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
31650         (Bug#25216)
31652 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
31654         Document 'describe-fontset'
31656         * doc/emacs/mule.texi (Fontsets): Document 'describe-fontset'.
31657         (Bug#25216)
31659 2016-12-19  Eli Zaretskii  <eliz@gnu.org>
31661         Fix crashes upon C-g on Posix TTY frames
31663         * src/thread.h (struct thread_state): New member not_holding_lock.
31664         (maybe_reacquire_global_lock): Add prototype.
31665         * src/thread.c: Include syssignal.h.
31666         (maybe_reacquire_global_lock): New function.
31667         (really_call_select): Set the not_holding_lock member of the
31668         thread state before releasing the lock, and rest it after
31669         re-acquiring the lock when the select function returns.  Block
31670         SIGINT while doing this to make sure we are not interrupted on TTY
31671         frames.
31672         * src/sysdep.c (block_interrupt_signal, restore_signal_mask): New
31673         functions.
31674         * src/syssignal.h (block_interrupt_signal, restore_signal_mask):
31675         Add prototypes.
31676         * src/keyboard.c (read_char) [THREADS_ENABLED]: Call
31677         maybe_reacquire_global_lock.  (Bug#25178)
31679 2016-12-19  Sam Steingold  <sds@gnu.org>
31681         avoid Eager macro-expansion failure: (void-function string-to-list)
31683         * lisp/loadup.el [ns]: "ucs-normalize" uses `string-to-list' which is defined
31684           in "mule-util", so we have to load "mule-util" before "ucs-normalize",
31685           otherwise I get "Eager macro-expansion failure" on "make bootstrap"
31687 2016-12-19  Michael Albinus  <michael.albinus@gmx.de>
31689         Fix Bug#24980
31691         * lisp/ido.el (ido-add-virtual-buffers-to-list):
31692         Suppress Tramp invocation.  (Bug#24980)
31694 2016-12-18  Philipp Stephani  <phst@google.com>
31696         Add a new compile error regexp for Clang includes
31698         Clang uses a slight variation of GCC's include format, causing includes
31699         to be treated as warnings instead of informational messages.  Use a new
31700         regular expression instead.
31702         * lisp/progmodes/compile.el
31703         (compilation-error-regexp-alist-alist): New element
31704         `clang-include' for Clang-style "included from" lines.
31705         * test/lisp/progmodes/compile-tests.el
31706         (compile-tests--test-regexps-data): Add unit test.
31708 2016-12-18  Alan Third  <alan@idiocy.org>
31710         Reinstate ispell character offset (bug#25219)
31712         * lisp/textmodes/ispell.el (ispell-process-line): insert -1 where
31713         ispell-offset used to be.
31715 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
31717         Bind new image-mode scroll commands in image-dired
31719         * lisp/image-dired.el (image-dired-display-image-mode-map): Add bindings
31720         to new image-mode commands.
31722 2016-12-18  Noam Postavsky  <npostavs@gmail.com>
31724         Fix rx-any with range with ?\] and ?-
31726         * lisp/emacs-lisp/rx.el: Make sure not to produce a circular
31727         list (Bug#25123).
31728         * test/lisp/emacs-lisp/rx-tests.el (rx-char-any): New test.
31730 2016-12-18  Mark Oteiza  <mvoteiza@udel.edu>
31732         Use floor of mtime instead of rounding for thumb property
31734         This seems to be the correct thing to do, at least more in line with
31735         what at least one other implementation does.  Anything using
31736         gnome-desktop [0] effectively does the same, as
31737         gnome_desktop_thumbnail_is_valid applies atol(3) to mtime for
31738         comparison and time_t on GNU/Linux is a signed int.
31739         [0] https://git.gnome.org/browse/gnome-desktop/
31740         * lisp/image-dired.el (image-dired-create-thumb): Use floor here.
31742 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
31744         Fix spelling mistake in private defun name (Bug#25218)
31746         lisp/textmodes/flyspell.el (flyspell-ajust-cursor-point): Rename to
31747         `flyspell-adjust-cursor-point'.
31749 2016-12-17  Reuben Thomas  <rrt@sc3d.org>
31751         Remove XEmacs support from flyspell.el (Bug#25218)
31753         lisp/textmodes/flyspell.el (flyspell-prog-mode, flyspell-mode-on):
31754         (flyspell-word, flyspell-delete-region-overlays):
31755         (flyspell-correct-word-before-point): Remove XEmacs support.
31756         (flyspell-xemacs-popup): Remove XEmacs-specific defun.
31758 2016-12-17  Michael Albinus  <michael.albinus@gmx.de>
31760         More tests for Tramp
31762         * lisp/net/tramp.el (tramp-drop-volume-letter): Handle quoted
31763         file names.
31765         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name): Quote file
31766         name properly.
31768         * test/lisp/net/tramp-tests.el (tramp-test05-expand-file-name):
31769         Mark quoted file name as absolute.  (Bug#25183)
31770         (tramp--test-windows-nt-and-batch)
31771         (tramp--test-windows-nt-and-pscp-psftp-p): New defuns.
31772         (tramp--test-windows-nt-or-smb-p): Rename from
31773         `tramp--test-smb-windows-nt-p'.  Adapt callees.
31774         (tramp--test-check-files): Improve checks for environment variables.
31775         (tramp-test33-special-characters)
31776         (tramp-test33-special-characters-with-stat)
31777         (tramp-test33-special-characters-with-perl)
31778         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
31779         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
31780         (tramp-test34-utf8-with-ls): Add more checks for skip.
31782 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
31784         Fix comments
31786         * src/thread.h (struct thread_state): Fix comments.
31787         * src/process.c (wait_reading_process_output): Fix a typo in
31788         commentary.
31790 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
31792         Repair desktop restoration on text terminals
31794         * lisp/desktop.el (desktop-restoring-frameset-p): Test for the GUI
31795         frame here, instead of in desktop-restoring-frameset.  That's
31796         because desktop-read wants to know whether frameset will actually
31797         be restored, and has fallback procedures up its sleeve when it
31798         won't be; these fallbacks need to be invoked when the frameset is
31799         not going to be restored.  (Bug#24298)
31801 2016-12-17  Eli Zaretskii  <eliz@gnu.org>
31803         Fix crashes on MS-Windows during dumping
31805         * src/unexw32.c (get_section_info): Make extra_bss_size be the
31806         maximum of extra_bss_size and extra_bss_size_static.  This avoids
31807         computing the size of the output file smaller than it actually
31808         needs to be, which then causes copy_executable_and_dump_data to
31809         write beyond the requested size of the file mapping, thus relying
31810         on the OS roundup to page boundary to save us from ourselves.  See
31811         https://lists.gnu.org/r/emacs-devel/2016-12/msg00642.html
31812         for the details.
31814         * lib/stdio-impl.h: Revert the workaround fix of not including
31815         errno.h for MinGW.
31817 2016-12-17  Dmitry Gutov  <dgutov@yandex.ru>
31819         Ignore forward-sexp-function in js-mode indentation code
31821         * lisp/progmodes/js.el (js--multi-line-declaration-indentation)
31822         (js--maybe-goto-declaration-keyword-end):
31823         Bind forward-sexp-function to nil (bug#25215).
31825 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
31827         Be more selective clearing the image cache
31829         * lisp/image-dired.el (image-dired-create-thumbs):
31830         (image-dired-rotate-thumbnail, image-dired-refresh-thumb): Only clear
31831         the current thumbnail file from the image cache.
31833 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
31835         Unbreak the MinGW build
31837         * lib/stdio-impl.h [__MINGW32__]: Don't include errno.h.  Without
31838         this, temacs crashes while dumping.
31840 2016-12-16  Nicolas Petton  <nicolas@petton.fr>
31842         Make seq-into return the sequence when no conversion needed
31844         * lisp/emacs-lisp/seq.el (seq-into): Do not convert the sequence when
31845           no conversion is needed.
31846         * test/lisp/emacs-lisp/seq-tests.el (test-seq-into-and-identity): Add
31847           a regression test checking for identity.
31849 2016-12-16  Eli Zaretskii  <eliz@gnu.org>
31851         Improve documentation of 'define-coding-system'
31853         * lisp/international/mule.el (define-coding-system): Warn against
31854         possible infinite recursion in pre-write-conversion and
31855         post-read-conversion functions.  (Bug#25203)
31857 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
31859         New commands image-scroll-left and image-scroll-right
31861         * etc/NEWS: Mention them.
31862         * lisp/image-mode.el (image-scroll-left, image-scroll-right): New
31863         functions.
31865 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
31867         More image-dired refactoring
31869         * lisp/image-dired.el (image-dired-thumbnail-mode):
31870         (image-dired-display-image-mode): Add :group 'image-dired so
31871         customize-mode works.
31872         (image-dired-display-image): Rearrange.
31873         (image-dired-copy-with-exif-file-name): This map is for side effect.
31874         (image-dired-dired-edit-comment-and-tags): Just use #'identity.
31876 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
31878         * lisp/image-dired.el: Turn on lexical-binding.
31880 2016-12-16  Mark Oteiza  <mvoteiza@udel.edu>
31882         Teach image-dired to also generate large thumbs
31884         * lisp/image-dired.el (image-dired-thumbnail-storage): Add
31885         standard-large option.
31886         (image-dired-thumb-size): Add condition for standard-large storage.
31887         (image-dired-insert-thumbnail): Check for new option.  Change
31888         thumbnail path conditionally.
31889         (image-dired-thumb-size): New function.
31890         (image-dired-create-thumb, image-dired-line-up-dynamic): Use it.
31892 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
31894         Merge from gnulib
31896         This incorporates:
31897         2016-12-14 xalloc-oversized: check for PTRDIFF_MAX too
31898         2016-12-12 fpending: port to native Windows with MSVC
31899         * .gitignore: Do not ignore lib/stdio-impl.h.
31900         * lib/fpending.c, lib/xalloc-oversized.h, m4/fpending.m4:
31901         Copy from gnulib.
31902         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
31903         * lib/stdio-impl.h:
31904         New file, copied from gnulib.
31905         * nt/gnulib.mk (EXTRA_DIST): Add stdio-impl.h.
31907 2016-12-15  Paul Eggert  <eggert@cs.ucla.edu>
31909         * etc/images/icons/hicolor/scalable/mimetypes/emacs-document.svg:
31910         Append newline.
31912 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
31914         Don't abuse princ and spam messages
31916         * lisp/image-dired.el (image-dired-format-properties-string): Nix princ.
31917         (image-dired-display-thumb-properties):
31918         (image-dired-dired-display-properties): Nix princ.  Bind
31919         message-log-max to nil.
31921 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
31923         Inherit things from special-mode and image-mode
31925         * lisp/image-dired.el: Require image-mode library.
31926         (image-dired-thumbnail-mode-map): Remove superfluous binding.
31927         (image-dired-display-image-mode-map): Remove superfluous binding.
31928         Add movement remaps from image-mode-map.
31929         (image-dired-thumbnail-mode): Derive from special-mode.
31930         (image-dired-display-image-mode): Derive from special-mode. Call
31931         image-mode-setup-winprops.
31933 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
31935         Fix some image-dired customization types
31937         * lisp/image-dired.el (image-dired): Add info link to defgroup.
31938         (image-dired-dir, image-dired-gallery-dir): Set type to directory.
31939         (image-dired-db-file, image-dired-temp-image-file):
31940         (image-dired-cmd-create-thumbnail-program):
31941         (image-dired-cmd-create-temp-image-program):
31942         (image-dired-cmd-rotate-thumbnail-program):
31943         (image-dired-cmd-rotate-original-program):
31944         (image-dired-temp-rotate-image-file):
31945         (image-dired-cmd-write-exif-data-program):
31946         (image-dired-cmd-read-exif-data-program): Set type to file.
31947         (image-dired-create-thumb, image-dired-line-up-dynamic): Check storage
31948         type at runtime, since setting image-dired-thumb-size does not
31949         automatically set image-dired-thumb-width and image-dired-thumb-height.
31951 2016-12-15  Eli Zaretskii  <eliz@gnu.org>
31953         Prevent crashes in xg_select due to concurrency
31955         * src/xgselect.c (xg_select): Don't call Glib functions that use
31956         'context' if we failed to acquire it.  This means some other
31957         thread owns the context, in which case both using the context and
31958         calling block_input/unblock_input will step on that thread's toes
31959         and eventually lead to crashes.  (Bug#25172)
31961 2016-12-15  Nicolas Petton  <nicolas@petton.fr>
31963         Fix circular list handling in seq-mapn
31965         * lisp/emacs-lisp/seq.el (seq-mapn): Do not copy list arguments.
31966         * test/lisp/emacs-lisp/seq-tests.el (test-seq-mapn-circular-lists):
31967           Add a regression test.
31969 2016-12-15  Michael Albinus  <michael.albinus@gmx.de>
31971         Check in tramp-tests.el, that environment variables are set correctly
31973         * test/lisp/net/tramp-tests.el (tramp--test-check-files):
31974         Check also, that environment variables are set correctly.
31976 2016-12-15  Dominique Quatravaux  <dominique.quatravaux@epfl.ch>  (tiny change)
31978         Protect environment variables with double quotes in Tramp
31980         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
31981         Protect environment variables with double quotes.
31983 2016-12-15  Tino Calancha  <tino.calancha@gmail.com>
31985         * lisp/ibuf-macs.el (define-ibuffer-filter): Wrap ,@body in a progn.
31987 2016-12-15  Mark Oteiza  <mvoteiza@udel.edu>
31989         * lisp/image-dired.el (image-dired-create-thumb): Create parent directories.
31991 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
31993         * lisp/image-mode.el (image-mode-winprops-alist): Add docstring.
31995 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
31997         Recognize pngnq or pngnq-s9
31999         * lisp/image-dired.el (image-dired-cmd-pngnq-program): Also consider
32000         pngnq-s9 as a possible executable.
32002 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
32004         Update standard image-dired thumbnail location
32006         * lisp/image-dired.el (image-dired-thumb-name): Conform to the latest
32007         standard: consider XDG_CACHE_HOME, falling back on ~/.cache.
32009 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
32011         Reset window scroll when displaying an image
32013         When viewing a large image full size and scrolling, for instance, to
32014         the lower right corner, then selecting a much smaller image in the
32015         thumbnail buffer, the window stays scrolled so the new image is out of
32016         the window.  One must scroll back to the "origin" to view the new
32017         displayed image, or just kill the image-dired-display-image buffer and
32018         try again.  This fixes the issue.
32019         * lisp/image-dired.el (image-dired-display-window-width):
32020         (image-dired-display-window-height): Operate on a window as argument.
32021         (image-dired-display-image): Bind (image-dired-display-window) and use
32022         it. Set window vscroll and hscroll to zero when refreshing the
32023         buffer's contents.
32025 2016-12-14  Mark Oteiza  <mvoteiza@udel.edu>
32027         More image-dired polish
32029         * lisp/image-dired.el (image-dired-file-name-at-point): New function.
32030         (image-dired-thumbnail-mode, image-dired-display-image-mode): Disable
32031         undo list. Add image-dired-file-name-at-point to
32032         file-name-at-point-functions to facilitate find-file and friends.
32033         (image-dired-thumbnail-display-external):
32034         (image-dired-dired-display-external): Use start-process instead, to
32035         avoid needlessly blocking and using a shell.
32037 2016-12-13  Phillip Lord  <phillip.lord@russet.org.uk>
32039         Replace ldefs-boot with a much smaller file
32041          * Makefile.in (bootstrap-build,generate-ldefs-boot): New targets.
32042            (bootstrap): Depend on bootstrap-build.
32043          * admin/ldefs-clean.el: New file.
32044          * lisp/Makefile.in (compile-first): Depend on loaddefs.el
32045          * lisp/ldefs-boot.el: Remove.
32046          * lisp/ldefs-boot-auto.el: New file.
32047          * lisp/ldefs-boot-manual.el: New file.
32048          * lisp/loadup.el: Load ldefs-boot-manual.el.
32049          * src/emacs.c (generating_ldefs_boot): New variable.
32050            (main): Check whether we are generating ldefs.
32051          * src/eval.c (autoload-do-load): Dump autoload forms to stderr when
32052            requested.
32053          * src/lisp.h (generating_ldefs_boot): New variable.
32054          * admin/gitmerge.el, admin/make-tarball.txt, admin/notes/copyright,
32055            lisp/Makefile.in, lisp/cus-dep.el, lisp/emacs-lisp/elint.el,
32056            lisp/finder.el, lisp/loadup.el, msdos/mainmake.v2: Update reference to
32057            ldefs-boot.
32058          * admin/update_autogen: Alter mechanism for ldefs-boot generation.
32060 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32062         Remove support for aspell < 0.60 (from 2004)
32064         lisp/textmodes/ispell.el (ispell-check-version): Require Aspell 0.60.
32065         (ispell-aspell-dictionary-alist): Remove check that we have Aspell 0.60.
32067 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32069         Minor docstring and comment fixes to ispell.el
32071         lisp/textmodes/ispell.el (ispell-aspell-dictionary-alist): Mention
32072         ispell-aspell-dictionary-alist, not ispell-dictionary-alist.
32073         (ispell-set-spellchecker-params): Change double-single quotes to
32074         single single quotes in comment.
32076 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32078         Remove unused variable
32080         * lisp/textmodes/ispell.el (current-ispell-directory): Remove.
32082 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32084         Remove XEmacs-specific ispell-with-no-warnings
32086         * lisp/textmodes/ispell.el (ispell-with-no-warnings): Remove this
32087         defmacro, needed only for XEmacs.
32088         (ispell-command-loop, ispell-message): Use with-no-warnings directly.
32090 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32092         Remove meaningless defconst ispell-version
32094         * lisp/textmodes/ispell.el (ispell-version): Since ispell.el is now
32095         firmly part of Emacs, and the version hasn’t changed since 2003, and
32096         isn’t used anywhere, remove it.  3rd-party code can better use the
32097         Emacs version, or feature or function checks.
32098         (ispell-check-version): No longer report ispell.el version.
32100 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32102         Remove boundp test for always-bound symbol
32104         * lisp/textmodes/ispell.el (ispell-message): mail-yank-prefix is
32105         defvar’d at the top of the file, so remove a test to see if it is
32106         bound.
32108 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32110         Remove support for ispell < 3.1.12
32112         * lisp/textmodes/ispell.el (ispell-offset): Remove.
32113         (ispell-check-version): Require ispell >= 3.1.12, released in 1994.
32114         (ispell-process-line): No longer use ispell-offset.
32116 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32118         Remove unused constant
32120         * lisp/textmodes/ispell.el (ispell-required-version): Remove.
32122 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32124         Remove support for old versions of supercite and GNUS from ispell.el
32126         * lisp/textmodes/ispell.el (ispell-message): Require supercite >= 3.0
32127         and GNUS >= 5.  Not exactly the bleeding edge!
32129 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32131         Remove remaining mentions of XEmacs from ispell.el
32133         * lisp/textmodes/ispell.el (ispell-valid-dictionary-list):
32134         (ispell-add-per-file-word-list): Remove mentions of XEmacs from
32135         comments.
32137 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32139         Remove XEmacs-specific minibuffer handling code from ispell.el
32141         * lisp/textmodes/ispell.el (ispell-init-process): Assume we are not in
32142         XEmacs.
32144 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32146         Remove XEmacs-specific horizontal scrollbar handling in ispell.el
32148         * lisp/textmodes/ispell.el (ispell-command-loop): Remove
32149         XEmacs-specific code.
32151 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32153         Remove XEmacs-specific code dealing with enable-multibyte-characters
32155         * lisp/textmodes/ispell.el (ispell-decode-string):
32156         (ispell-init-process):  Remove XEmacs-specific guard.
32158 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32160         Remove XEmacs-specific code from ispell.el
32162         * lisp/textmodes/ispell.el (ispell-menu-xemacs): Remove
32163         (ispell-menu-map-needed): Remove XEmacs-specific check.
32164         (ispell-word): Remove XEmacs-specific extent code.
32165         (ispell-init-process): Remove XEmacs workaround for local add-hook.
32166         Assume we have set-process-query-on-exit-flag.
32167         (ispell-kill-ispell, ispell-change-dictionary): Remove XEmacs
32168         workaround for called-interactively-p.
32170 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32172         Remove some commented-out code
32174         lisp/textmodes/ispell.el (ispell-process)
32175         ispell-valid-dictionary-list): Remove commented-out code.
32177 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32179         Remove XEmacs and old Emacs highlighting code
32181         * lisp/textmodes/ispell.el
32182         (ispell-highlight-spelling-error-xemacs): Remove.
32183         (ispell-highlight-spelling-error): Assume display-color-p exists.
32185 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32187         Assume Emacs supports [:alpha:] in regexps
32189         * lisp/textmodes/ispell.el (ispell-emacs-alpha-regexp): Remove.
32190         (ispell-set-spellchecker-params): Remove tests of
32191         ispell-emacs-alpha-regexp.
32193 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32195         Remove some XEmacs-specific code from ispell.el
32197         * lisp/textmodes/ispell.el: Remove XEmacs menubar setup.
32198         (ispell-int-char): Remove.
32200 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32202         Generalize over-specific documentation
32204         * lisp/textmodes/ispell.el (ispell-personal-dictionary): Rather than
32205         document precise personal wordlist filenames for only two supported
32206         spelling checkers, simply say that the default personal dictionary
32207         depends on the chosen spelling checker.  The user can check the
32208         spelling checker’s documentation if necessary.  This is simpler, and
32209         works for other supported (and future, or unknown) spelling checkers.
32211 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32213         Remove tests for built-in functions
32215         * lisp/textmodes/ispell.el (buffer-substring-no-properties): Remove
32216         back-up definition.
32217         (ispell-add-per-file-word-list): Remove tests for comment-padright and
32218         comment-normalize-vars.
32220 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32222         Remove unused ispell-looking-back
32224         * lisp/textmodes/ispell.el (ispell-looking-back): Remove unused alias.
32226 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32228         Assume we have version<= for checking ispell version
32230         * lisp/textmodes/ispell.el (ispell-check-minver): Remove.
32231         (ispell-check-version): Use version<= directly.
32233 2016-12-13  Reuben Thomas  <rrt@sc3d.org>
32235         Remove ispell.el pre-GNU Emacs comments
32237         * lisp/textmodes/ispell.el (Commentary): Remove original maintainer
32238           details, as Emacs version, bug report address and so forth should be
32239           used instead for this version.  Remove in-line change history; use
32240           git instead.
32242 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
32244         More small fixes for image-dired
32246         * lisp/image-dired.el: Fix commentary to refer to correct Emacs manual
32247         node.
32248         (image-dired--with-db-file): Add declare forms.
32249         (image-dired-hidden-p): Rewrite with cl-loop.  It's not necessary to
32250         run through the whole list.
32252 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
32254         Remove image-dired-kill-buffer-and-window
32256         This breaks window layout, especially when quitting a
32257         image-dired-display-image-mode buffer.
32258         * lisp/image-dired.el (image-dired-thumbnail-mode-map):
32259         (image-dired-display-image-mode-map): Replace in keymap and menu items
32260         bindings to image-dired-kill-buffer-and-window with quit-window.
32261         (image-dired-kill-buffer-and-window): Remove.
32263 2016-12-13  Mark Oteiza  <mvoteiza@udel.edu>
32265         Replace image-dired-setup-dired-keybindings with a minor mode
32267         * lisp/image-dired.el (image-dired-thumbnail-mode): Fix docstring to
32268         remove mention of nonexistent image-dired-dired and to refer to the
32269         new minor mode.
32270         (image-dired-minor-mode-map): New keymap assimilated from
32271         image-dired-setup-dired-keybindings.  In the future, the keymap parent
32272         should be removed, and perhaps also the duplicate bindings that
32273         already exist in dired-mode-map.
32274         (image-dired-setup-dired-keybindings): Remove.  Replace with an
32275         obsolete function alias.
32276         (image-dired-minor-mode): New minor mode, assuming the role of
32277         image-dired-setup-dired-keybindings.
32279 2016-12-13  Paul Eggert  <eggert@cs.ucla.edu>
32281         * test/src/regex-resources/PTESTS: Convert to UTF-8.
32283 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
32285         Clarify thread-signal semantics
32287         * doc/lispref/threads.texi (Basic Thread Functions): Explain that the
32288         thread will be signaled as soon as possible.
32290 2016-12-13  Noam Postavsky  <npostavs@gmail.com>
32292         Clean up var watcher disabling on thread switching
32294         * src/data.c (Fset_default): Move code into new C level function,
32295         `set_default_internal'.
32296         (set_default_internal): New function, like `Fset_default' but also takes
32297         additional bindflag parameter.
32298         (set_internal): Only call `notify_variable_watchers' if bindflag is not
32299         SET_INTERNAL_THREAD_SWITCH.
32300         * src/eval.c (do_specbind, do_one_unbind): Add bindflag parameter,
32301         passed on to set_internal and set_default_internal.  Adjust callers.
32302         (rebind_for_thread_switch, unbind_for_thread_switch): Pass
32303         SET_INTERNAL_THREAD_SWITCH to do_specbind, do_one_unbind instead of
32304         temporarily adjusting symbol's trapped_write field.
32306 2016-12-13  Glenn Morris  <rgm@gnu.org>
32308         Minor fix for define-derived-mode
32310         * lisp/emacs-lisp/derived.el (define-derived-mode):
32311         Do not let eg eval-defun reset the values of syntax or abbrev tables,
32312         since they might have been defined externally.  (Bug#16160)
32314 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
32316         * build-aux/git-hooks/pre-commit: Add whitespace comment.
32318 2016-12-12  Clément Pit--Claudel  <clement.pitclaudel@live.com>
32320         Move backtrace to ELisp using a new mapbacktrace primitive
32322         * src/eval.c (get_backtrace_starting_at, backtrace_frame_apply)
32323         (Fmapbacktrace, Fbacktrace_frame_internal): New functions.
32324         (get_backtrace_frame, Fbacktrace_debug): Use `get_backtrace_starting_at'.
32326         * lisp/subr.el (backtrace--print-frame): New function.
32327         (backtrace): Reimplement using `backtrace--print-frame' and `mapbacktrace'.
32328         (backtrace-frame): Reimplement using `backtrace-frame--internal'.
32330         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Pass a base to
32331         `mapbacktrace' instead of searching for "(debug" in the output of
32332         `backtrace'.
32334         * test/lisp/subr-tests.el (subr-test-backtrace-simple-tests)
32335         (subr-test-backtrace-integration-test): New tests.
32337         * doc/lispref/debugging.texi (Internals of Debugger): Document
32338         `mapbacktrace' and missing argument BASE of `backtrace-frame'.
32340 2016-12-12  Paul Eggert  <eggert@cs.ucla.edu>
32342         Use C99 syntax for font drivers
32344         Problem reported by Daniel Colascione in:
32345         https://lists.gnu.org/r/emacs-devel/2016-12/msg00515.html
32346         * src/ftcrfont.c (ftcrfont_driver):
32347         * src/ftfont.c (ftfont_driver):
32348         * src/ftxfont.c (ftxfont_driver):
32349         * src/macfont.m (macfont_driver):
32350         * src/nsfont.m (nsfont_driver):
32351         * src/xfont.c (xfont_driver):
32352         * src/xftfont.c (xftfont_driver):
32353         Use C99 syntax, not the old GNU C syntax.
32355 2016-12-12  Glenn Morris  <rgm@gnu.org>
32357         Obsolete gs.el
32359         * lisp/gs.el: Move to lisp/obsolete.  (Bug#1524)
32360         * doc/lispref/display.texi (Image Formats): Remove postscript.
32361         (PostScript Images): Remove section.
32362         * doc/lispref/elisp.texi: Update menu.
32364 2016-12-12  Glenn Morris  <rgm@gnu.org>
32366         Un-revert recent Ffset change
32368         * src/data.c (Ffset): Reinstate the check for "nil".
32370 2016-12-12  Glenn Morris  <rgm@gnu.org>
32372         Minor advice.el fix
32374         * lisp/emacs-lisp/advice.el (ad-preactivate-advice):
32375         Avoid setting the function definition of nil.
32376         This was happening during bootstrap of org-compat.el,
32377         apparently due to eager macro expansion of code behind
32378         a (featurep 'xemacs) test.
32380 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
32382         Make etags-tests work in out-of-tree builds
32384         * test/lisp/progmodes/etags-tests.el (etags-bug-158)
32385         (etags-bug-23164): Make them work in an out-of-tree build.
32386         Reported by Ken Brown <kbrown@cornell.edu>.
32388 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
32390         Avoid crashing if a new thread is signaled right away
32392         * src/thread.c (post_acquire_global_lock): Don't raise the pending
32393         signal if the thread's handlers were not yet set up, as that will
32394         cause Emacs to exit with a fatal error.  This can happen if a
32395         thread is signaled as soon as make-thread returns, before the new
32396         thread had an opportunity to acquire the global lock, set up the
32397         handlers, and call the thread function.
32399         * test/src/thread-tests.el (thread-signal-early): New test.
32401 2016-12-12  Eli Zaretskii  <eliz@gnu.org>
32403         Fix point motion in cloned buffers
32405         * src/thread.c (post_acquire_global_lock): Call
32406         set_buffer_internal_2 instead of tricking set_buffer_internal_1
32407         into resetting the current buffer even if it didn't change.  This
32408         avoids bug#25165, caused by failing to record the modified values
32409         of point and mark, because current_buffer was set to NULL.  Also,
32410         don't bother re-setting the buffer if there was no thread switch,
32411         as that just wastes cycles.
32412         * src/buffer.c (set_buffer_internal_2): New function, with most of
32413         the body of set_buffer_internal_1, but without the test for B
32414         being identical to the current buffer.
32415         (set_buffer_internal_1): Call set_buffer_internal_2 if B is not
32416         identical to the current buffer.
32417         * src/buffer.h (set_buffer_internal_2): Add prototype.
32419         * test/src/thread-tests.el (thread-sticky-point): New test.
32421 2016-12-12  Michael Albinus  <michael.albinus@gmx.de>
32423         Further improvements in Tramp's file name unquoting
32425         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy)
32426         (tramp-adb-handle-write-region): Unquote localname.
32427         (tramp-adb-handle-copy-file): Implement direct copy on remote device.
32428         (tramp-adb-handle-rename-file): Quote arguments, add "-f" to force.
32430         * lisp/net/tramp.el (tramp-file-name-unquote-localname): New defun.
32431         (tramp-handle-file-name-case-insensitive-p):
32432         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-file-attributes)
32433         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec)
32434         (tramp-gvfs-maybe-open-connection):
32435         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
32436         * lisp/net/tramp-smb.el (tramp-smb-get-share)
32437         (tramp-smb-get-localname): Use it.
32439         * test/lisp/net/tramp-tests.el (tramp--test-docker-p): New defun.
32440         (tramp--test-special-characters, tramp-test34-utf8)
32441         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
32442         (tramp-test34-utf8-with-ls): Use it.
32444 2016-12-12  Martin Rudalics  <rudalics@gmx.at>
32446         Strengthen conditions for resizing sibling windows (Bug#25169)
32448         * lisp/window.el (window-resize, delete-window): Resize other siblings
32449         only if `window-combination-resize' equals t (Bug#25169).
32451 2016-12-12  Noam Postavsky  <npostavs@gmail.com>
32453         Quote filenames containing '~' in prompts
32455         When in a directory named '~', the default value given by
32456         `read-file-name' should be quoted by prepending '/:', in order to
32457         prevent it from being interpreted as referring to the $HOME
32458         directory (Bug#16984).
32460         * lisp/minibuffer.el (minibuffer-maybe-quote-filename): New function.
32461         (completion--sifn-requote, read-file-name-default): Use it instead of
32462         `minibuffer--double-dollars'.
32463         * test/lisp/files-tests.el (files-test-read-file-in-~): Test it.
32465 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
32467         Undo part of last change
32469         * src/thread.h:
32470         * src/keyboard.c:
32471         * src/keyboard.h: Undo part of last change:
32472         input_available_clear_time is again a global variable.
32474 2016-12-11  Eli Zaretskii  <eliz@gnu.org>
32476         Avoid aborts when a thread signals an error
32478         * src/thread.h (struct thread_state): Add members
32479         m_waiting_for_input and m_input_available_clear_time.
32480         (waiting_for_input, input_available_clear_time): New macros.
32481         * src/keyboard.c (waiting_for_input, input_available_clear_time):
32482         Remove; they are now macros that reference the current thread.
32483         (Bug#25171)
32484         * src/w32select.c: Don't include keyboard.h.
32486         * test/src/thread-tests.el (thread-errors): New test.
32488 2016-12-11  Philipp Stephani  <phst@google.com>
32490         Clean up compile-tests.el
32492         Switch to lexical binding.  Make checkdoc happy.
32494         * test/lisp/progmodes/compile-tests.el (compile--test-error-line)
32495         (compile-test-error-regexps): Instead of checking a single Boolean
32496         value, use `should' for each attribute of the message to be compared.
32497         (compile-tests--test-regexps-data): Document sixth list element
32498         TYPE.
32500 2016-12-11  Michael Albinus  <michael.albinus@gmx.de>
32502         Fix Bug#25162
32504         * doc/emacs/files.texi (Reverting): Document
32505         auto-revert-remote-files and auto-revert-verbose.
32507         * lisp/autorevert.el (auto-revert-verbose, auto-revert-mode)
32508         (auto-revert-tail-mode, global-auto-revert-mode): Fix docstring.
32510 2016-12-11  Glenn Morris  <rgm@gnu.org>
32512         Fix a typo in define-abbrev-table
32514         * lisp/abbrev.el (define-abbrev-table): Fix typo in docstring handling.
32516 2016-12-11  Glenn Morris  <rgm@gnu.org>
32518         Improve previous cperl-mode change
32520         * lisp/progmodes/cperl-mode.el (cperl-mode-abbrev-table):
32521         Improve previous change.
32523 2016-12-11  Glenn Morris  <rgm@gnu.org>
32525         Mark default cperl abbrevs as system ones
32527         * lisp/progmodes/cperl-mode.el (cperl-mode):
32528         Mark our abbrevs as system ones.  (Bug#10934)
32530 2016-12-11  Glenn Morris  <rgm@gnu.org>
32532         Revert earlier Ffset change
32534         * src/data.c (Ffset): Allow nil again, since it caused
32535         eager macro-expansion failures.
32537 2016-12-11  Glenn Morris  <rgm@gnu.org>
32539         Tweaks for message bogus address detection
32541         * lisp/gnus/message.el (message-bogus-recipient-p):
32542         Do not require "@", since some mailers deliver to local addresses
32543         without one.  (Bug#23054)
32544         Move "@.*@" from here...
32545         (message-bogus-addresses): ...to here, so it can be customized.
32547 2016-12-11  Glenn Morris  <rgm@gnu.org>
32549         Do not allow nil to be defined as a function
32551         * lisp/emacs-lisp/byte-run.el (defun):
32552         * src/data.c (Ffset): Do not allow "nil".  (Bug#25110)
32554 2016-12-11  Glenn Morris  <rgm@gnu.org>
32556         Bump makeinfo requirement from 4.7 to 4.13
32558         * configure.ac: Bump makeinfo version requirement from 4.7 to 4.13.
32559         We need at least 4.8, and that may be buggy, so go for the last
32560         of the 4 series, which is 8 years old.  (Bug#25108)
32562 2016-12-11  Glenn Morris  <rgm@gnu.org>
32564         Fixes related to select-enable-clipboard
32566         * lisp/menu-bar.el (clipboard-yank, clipboard-kill-ring-save)
32567         (clipboard-kill-region):
32568         * lisp/eshell/esh-io.el (eshell-virtual-targets)
32569         (eshell-clipboard-append):
32570         Replace option gui-select-enable-clipboard with
32571         select-enable-clipboard; renamed October 2014.  (Bug#25145)
32573 2016-12-11  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
32575         Add some sanity checking of defun arglist
32577         * lisp/emacs-lisp/byte-run.el (defun):
32578         Check for malformed argument lists.  (Bug#15715)
32580 2016-12-11  Matt Armstrong  <marmstrong@google.com>  (tiny change)
32582         Minor shell-mode fix for zsh
32584         * lisp/shell.el (shell-mode): Prevent shell-dirstack-query
32585         becoming confused by zsh abbreviations.  (Bug#24632)
32587 2016-12-10  Noam Postavsky  <npostavs@gmail.com>
32589         Define struct predicate before acccesors
32591         The accessor functions use the predicate function, which causes problems
32592         when reloading after unload-feature: the compiler-macro property is
32593         still present on the predicate symbol, and the compiler fails to find
32594         the definition when trying to inline it into the accessor
32595         function (Bug#25088).
32597         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Move predicate definition
32598         before field accessor definitions.
32600 2016-12-10  Andreas Schwab  <schwab@linux-m68k.org>
32602         * Makefile.in (install-etc): Don't prepend $(DESTDIR) to commands in
32603         system unit file.
32605 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
32607         Support concurrency in Emacs Lisp
32609         Merge branch 'test-concurrency'
32611         * src/thread.c:
32612         * src/thread.h:
32613         * src/systhread.c:
32614         * src/systhread.h: New files.
32615         * src/xgselect.c (xg_select): Avoid using SAFE_NALLOCA and use
32616         xnmalloc unconditionally.
32617         * src/window.c (struct save_window_data): Rename current_buffer to
32618         f_current_buffer.
32619         * src/w32proc.c (sys_select): Change the function signature to
32620         closer fit 'pselect' on Posix hosts.
32621         * src/search.c:
32622         * src/regex.h: Convert some globals to macros that reference
32623         thread-specific values.
32624         * src/process.c (pset_thread, add_non_keyboard_read_fd)
32625         (add_process_read_fd, add_non_blocking_write_fd)
32626         (recompute_input_desc, compute_input_wait_mask)
32627         (compute_non_process_wait_mask, compute_non_keyboard_wait_mask)
32628         (compute_write_mask, clear_waiting_thread_info)
32629         (update_processes_for_thread_death, Fset_process_thread)
32630         (Fprocess_thread): New functions.
32631         (enum fd_bits): New enumeration.
32632         (fd_callback_data): Add 'thread' and 'waiting_thread', rename
32633         'condition' to 'flags'.
32634         (set_process_filter_masks, create_process, create_pty)
32635         (Fmake_serial_process, finish_after_tls_connection)
32636         (connect_network_socket, deactivate_process)
32637         (server_accept_connection, wait_reading_process_output)
32638         (Fcontinue_process, Fstop_process, keyboard_bit_set)
32639         (add_timer_wait_descriptor, add_keyboard_wait_descriptor)
32640         (delete_keyboard_wait_descriptor): Use the new functions instead
32641         of manipulating fd flags and masks directly.
32642         (syms_of_process): Defsubr the new primitives.
32643         * src/print.c (print_object): Print threads, mutexes, and
32644         conditional variables.
32645         * src/lisp.h (enum pvec_type): New values PVEC_THREAD, PVEC_MUTEX,
32646         and PVEC_CONDVAR.
32647         (XTHREAD, XMUTEX, XCONDVAR, THREADP, MUTEXP, CONDVARP)
32648         (CHECK_THREAD, CHECK_MUTEX, CHECK_CONDVAR): New inline functions.
32649         (XSETTHREAD, XSETMUTEX, XSETCONDVAR): New macros.
32650         (struct handler): Add back byte_stack.  Rename lisp_eval_depth to
32651         f_lisp_eval_depth.
32652         * src/eval.c (specpdl_kind, specpdl_arg, do_specbind)
32653         (rebind_for_thread_switch, do_one_unbind)
32654         (unbind_for_thread_switch): New functions.
32655         (init_eval): 'handlerlist' is not malloc'ed.
32656         (specbind): Call do_specbind.
32657         (unbind_to): Call do_one_unbind.
32658         (mark_specpdl): Accept 2 arguments.
32659         (mark_specpdl): Mark the saved value in a let-binding.
32660         * src/emacs.c (main): Call init_threads_once, init_threads, and
32661         syms_of_threads.
32662         * src/data.c (Ftype_of): Support thread, mutex, and condvar
32663         objects.
32664         (Fthreadp, Fmutexp, Fcondition_variable_p): New functions.
32665         (syms_of_data): DEFSYM and defsubr new symbols and primitives.
32666         * src/bytecode.c (struct byte_stack, FETCH, CHECK_RANGE)
32667         (BYTE_CODE_QUIT): Add back.
32668         (exec_byte_code): Add back byte stack manipulation.
32669         * src/alloc.c (cleanup_vector): Handle threads, mutexes, and
32670         conditional variables.
32671         (mark_stack): Now extern; accept additional argument 'bottom'.
32672         (flush_stack_call_func): New function.
32673         (garbage_collect_1): Call mark_threads and unmark_threads.  Don't
32674         mark handlers.
32675         * src/.gdbinit (xbytecode): Add back.
32677         * test/src/thread-tests.el: New tests.
32678         * test/src/data-tests.el (binding-test-manual)
32679         (binding-test-setq-default, binding-test-makunbound)
32680         (binding-test-defvar-bool, binding-test-defvar-int)
32681         (binding-test-set-constant-t, binding-test-set-constant-nil)
32682         (binding-test-set-constant-keyword)
32683         (binding-test-set-constant-nil): New tests.
32685         * doc/lispref/processes.texi (Processes and Threads): New
32686         subsection.
32687         * doc/lispref/threads.texi: New file
32688         * doc/lispref/elisp.texi (Top): Include it.
32689         * doc/lispref/objects.texi (Thread Type, Mutex Type)
32690         (Condition Variable Type): New subsections.
32691         (Type Predicates): Add thread-related predicates.
32692         * doc/lispref/objects.texi (Editing Types):
32693         * doc/lispref/elisp.texi (Top): Update higher-level menus.
32695         * etc/NEWS: Mention concurrency features.
32697 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
32699         Fix error messages in thread.c
32701         * src/thread.c (lisp_mutex_unlock, Fcondition_wait)
32702         (Fcondition_notify, Fthread_join): Fix error messages.
32704 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
32706         Improve doc strings in thread.c
32708         * src/thread.c (Fmake_condition_variable, Fcondition_wait)
32709         (Fcondition_notify, Fcondition_mutex, Fcondition_name, Fmake_thread)
32710         (Fthread_join, Fall_threads): Doc fixes.
32712 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
32714         Fix building with check-lisp-object-type
32716         * src/thread.c (mark_one_thread): Use NILP to compare with
32717         m_saved_last_thing_searched, which is a Lisp object.  Reported by
32718         Andreas Politz <politza@hochschule-trier.de>.
32720 2016-12-10  Eli Zaretskii  <eliz@gnu.org>
32722         Documentation and commentary improvements
32724         * src/lisp.h:
32725         * src/regex.c:
32726         * src/xgselect.c (xg_select): Improve commentary and formatting.
32728         * doc/lispref/objects.texi (Thread Type, Mutex Type)
32729         (Condition Variable Type): New subsections.
32730         (Type Predicates): Add thread-related predicates.
32731         * doc/lispref/objects.texi (Editing Types):
32732         * doc/lispref/elisp.texi (Top): Update higher-level menus.
32734 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
32736         Fix further problems with quoted file names in Tramp
32738         * lisp/net/tramp.el (tramp-quoted-name-p, tramp-quote-name)
32739         (tramp-unquote-name): Move defsubst ...
32740         * lisp/net/tramp-compat.el (tramp-compat-file-name-quoted-p)
32741         (tramp-compat-file-name-quote)
32742         (tramp-compat-file-name-unquote): ... here. Adapt callees.
32744         * lisp/net/tramp-cache.el (tramp-flush-file-property)
32745         (tramp-flush-directory-property):
32746         * lisp/net/tramp-gvfs.el (tramp-gvfs-url-file-name):
32747         * lisp/net/tramp-sh.el (tramp-make-copy-program-file-name):
32748         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-file)
32749         (tramp-smb-handle-substitute-in-file-name)
32750         (tramp-smb-get-share, tramp-smb-get-localname): Handle quoted files.
32752 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
32754         *src/sysdep.c: Fix a comment.
32756 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
32758         Fix compilation error on Fedora 24
32760         * src/sysdep.c [HAVE_H_ERRNO]: Remove declaration of h_errno.
32761         Reported by Paul Eggert <eggert@cs.ucla.edu>.
32763 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
32765         Fix compilation warnings due to prototype of thread_select
32767         * src/thread.h <int select_func>: Make the 5th and 6th arguments
32768         be 'const'.
32769         * src/process.c [WINDOWSNT]:
32770         * src/w32proc.c: Make the 5th and 6th argument to sys_select be
32771         'const'.
32773 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
32775         Fix compilation on Debian GNU/Linux
32777         * src/thread.h: Include sys/types.h, for ssize_t that regex.h
32778         uses.  Reported by Robert Marshall <robert.marshall@codethink.co.uk>.
32780 2016-12-09  Eli Zaretskii  <eliz@gnu.org>
32782         Fix subtle errors with let-binding of localized variables
32784         * src/eval.c (do_specbind): Don't require a "symbol" that is
32785         actually a cons cell, in order to call set-default, as there are
32786         no longer such bindings.  This makes do_specbind work like the
32787         pre-concurrency implementation in specbind for bindings of
32788         forwarded symbols.  Use specpdl_kind to access the type of the
32789         binding.
32790         (specpdl_kind): New function.
32792 2016-12-09  Michael Albinus  <michael.albinus@gmx.de>
32794         Document file-name-quote, file-name-unquote and file-name-quoted-p
32796         * doc/lispref/files.texi (File Name Expansion):
32797         * etc/NEWS: Mention file-name-quote, file-name-unquote and
32798         file-name-quoted-p.
32800         * lisp/files.el (file-name-non-special): Revert using
32801         file-name-quote, file-name-unquote and file-name-quoted-p.
32803 2016-12-09  Noam Postavsky  <npostavs@gmail.com>
32805         Fix bad quoting of python-shell-interpreter
32807         `python-shell-calculate-command' was using `shell-quote-argument' as if
32808         it was generating a shell command, but its callers don't pass the result
32809         to a shell, and they expect to parse it with `split-string-and-unquote'.
32810         This caused problems depending on the flavor of shell quoting in
32811         effect (Bug#25025).
32813         * lisp/progmodes/python.el (python-shell-calculate-command): Use
32814         `combine-and-quote-strings' to quote the interpreter, so that it can be
32815         parsed by `python-shell-make-comint' successfully using
32816         `split-string-and-unquote'.
32818 2016-12-09  Paul Eggert  <eggert@cs.ucla.edu>
32820         * src/lisp.h (struct terminal): Remove unnecessary forward decl.
32822 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
32824         Make read1 more reentrant
32826         This is needed if ‘read’ is called soon after startup, before the
32827         Unicode tables have been set up, and it reads a \N escape and
32828         needs to look up a value the Unicode tables, a lookup that in turn
32829         calls read1 recursively.  Although this change doesn’t make ‘read’
32830         fully reentrant, it’s good enough to handle this case.
32831         * src/lread.c (read_buffer_size, read_buffer): Remove static vars.
32832         (grow_read_buffer): Revamp to use locals, not statics, and to
32833         record memory allocation un the specpdl.  All callers changed.
32834         (read1): Start with a stack-based buffer, and use the heap
32835         only if the stack buffer is too small.  Use unbind_to to
32836         free any heap buffer allocated.  Use bool for boolean.
32837         Redo symbol loop so that only one call to grow_read_buffer
32838         is needed.
32839         (init_obarray): Remove no-longer-needed initialization.
32841 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
32843         Fix compilation warnings
32845         * src/thread.c (Fmake_thread): Call emacs_abort, to avoid
32846         compilation warning.
32848 2016-12-08  Paul Eggert  <eggert@cs.ucla.edu>
32850         Fix unlikely substitute-command-keys memory leak
32852         * src/doc.c (Fsubstitute_command_keys):
32853         Free buffer when unwinding.
32855 2016-12-08  Michael Albinus  <michael.albinus@gmx.de>
32857         Add file-name-quoted-p, file-name-quote, file-name-unquote
32859         * lisp/files.el (file-name-quoted-p, file-name-quote)
32860         (file-name-unquote): New defsubst.
32861         (find-file--read-only, find-file-noselect)
32862         (file-name-non-special): Use them.
32864 2016-12-08  Eli Zaretskii  <eliz@gnu.org>
32866         Add a NEWS entry.
32868 2016-12-08  Glenn Morris  <rgm@gnu.org>
32870         Minor fix for symbol-file
32872         * lisp/subr.el (symbol-file): Avoid false matches with "require"
32873         elements in load-history.  (Bug#25109)
32875 2016-12-08  Glenn Morris  <rgm@gnu.org>
32877         Doc fix for vc-git
32879         * lisp/vc/vc-git.el (vc-git-region-history): Add a doc string.
32881 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
32883         Fix Bug#24962
32885         * lisp/buff-menu.el (list-buffers--refresh):
32886         List buffers with name starting with " " if they visit a file.
32887         * test/lisp/buff-menu-tests.el (buff-menu-24962):
32888         Update test result as pass.
32890 2016-12-08  Tino Calancha  <tino.calancha@gmail.com>
32892         ediff-fixup-patch-map: Improve prompt
32894         * lisp/vc/ediff-ptch.el (ediff-fixup-patch-map):
32895         Make clear in the prompt when we are applying a multi patch.
32897 2016-12-08  Glenn Morris  <rgm@gnu.org>
32899         Retain message logging in map-y-or-n-p
32901         * lisp/emacs-lisp/map-ynp.el (map-y-or-n-p):
32902         Stop disabling logging to Messages buffer.  (Bug#13326)
32904 2016-12-08  Glenn Morris  <rgm@gnu.org>
32906         Doc fix for recent change
32908         * lisp/simple.el (region-modifiable-p): Doc fix.
32910 2016-12-08  Glenn Morris  <rgm@gnu.org>
32912         Quieten make-dist default operation
32914         * make-dist: Add --verbose option.  Default to quieter operation.
32916 2016-12-08  Glenn Morris  <rgm@gnu.org>
32918         Further improve make-dist checking
32920         * make-dist: Print status messages when checking.
32922 2016-12-08  Glenn Morris  <rgm@gnu.org>
32924         Improve previous make-dist change
32926         * make-dist: Let make check the info files more thoroughly.
32928 2016-12-08  Glenn Morris  <rgm@gnu.org>
32930         Make make-dist --snapshot do some sanity checks
32932         * make-dist: Snapshot mode no longer disables checks.
32933         Checks now includes checks for freshness.  (Bug#25084)
32934         Checks now exits with an error if problems were found.
32936 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
32938         Fix regression introduced by commit 7b1e97f
32940         * lisp/ibuf-ext.el (ibuffer-decompose-filter): Use cdr instead
32941         of cadr; required after commit 20f5a5b.
32943 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
32945         Put post-25 ChangeLog entries into ChangeLog.3
32947         * ChangeLog.2: Copy from emacs-25 branch.
32948         * ChangeLog.3: New file, with changes only in master.
32949         * Makefile.in (CHANGELOG_HISTORY_INDEX_MAX): Bump from 2 to 3.
32951 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
32953         Fix network streams.
32955         The original code messed up flags in fd_callback_data[], and also
32956         didn't call add_process_read_fd for process-related file descriptors.
32958 2016-12-07  Eli Zaretskii  <eliz@gnu.org>
32960         Minimize spurious diffs from master.
32962 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
32964         Fix the test suite
32966         * test/automated/bindings.el: Contents moved to
32967         test/src/data-tests.el.
32968         * test/automated/threads.el: Moved to test/src/thread-tests.el.
32970 2016-12-06  Eli Zaretskii  <eliz@gnu.org>
32972         Fix a typo in bytecode.c.
32974 2016-12-05  Eli Zaretskii  <eliz@gnu.org>
32976         Fix compilation problems.
32978         Fix merged code in process.c and eval.c.
32980 2016-12-04  Eli Zaretskii  <eliz@gnu.org>
32982         Merge branch 'concurrency'
32984         Conflicts (resolved):
32985                 configure.ac
32986                 src/Makefile.in
32987                 src/alloc.c
32988                 src/bytecode.c
32989                 src/emacs.c
32990                 src/eval.c
32991                 src/lisp.h
32992                 src/process.c
32993                 src/regex.c
32994                 src/regex.h
32996 2015-11-02  Eli Zaretskii  <eliz@gnu.org>
32998         Fix the MS-Windows build
33000         * src/thread.h [WINDOWSNT]: Include sys/socket.h.
33002         * src/sysselect.h: Don't define fd_set and FD_* macros for
33003         MS-Windows here.
33004         * src/w32.h: Define them here.
33006         * src/process.h (sys_select): Declare prototype.
33008         * src/sysdep.c:
33009         * src/process.c:
33010         * src/filelock.c:
33011         * src/emacs.c:
33012         * src/callproc.c: Move inclusion of sys/select.h after lisp.h.
33013         * nt/inc/socket.h: Include w32.h instead of sysselect.h
33015 2015-11-01  Ken Raeburn  <raeburn@raeburn.org>
33017         merge from trunk
33019 2013-10-19  Barry O'Reilly  <gundaetiapo@gmail.com>
33021         * src/eval.c (unbind_for_thread_switch): Fix iteration over the
33022         specpdl stack.
33024 2013-10-18  Tom Tromey  <tromey@redhat.com>
33026         change condition-variablep to condition-variable-p
33028 2013-09-01  Eli Zaretskii  <eliz@gnu.org>
33030         Fix crashes when unbind_for_thread_switch signals an error.
33032          src/eval.c (unbind_for_thread_switch): Accept a 'struct
33033          thread_state *' argument and use specpdl_ptr and specpdl of that
33034          thread.  Fixes crashes if find_symbol_value signals an error.
33035          src/thread.c (post_acquire_global_lock): Update current_thread
33036          before calling unbind_for_thread_switch.  Pass the previous thread
33037          to unbind_for_thread_switch.
33039 2013-08-31  Eli Zaretskii  <eliz@gnu.org>
33041         Improve MS-Windows implementation of threads.
33043          src/systhread.c (sys_cond_init): Set the 'initialized' member to
33044          true only if initialization is successful.  Initialize wait_count
33045          and wait_count_lock.
33046          (sys_cond_wait, sys_cond_signal, sys_cond_broadcast): If
33047          'initialized' is false, do nothing.
33048          (sys_cond_wait): Fix the implementation to avoid the "missed
33049          wakeup" bug: count the waiting threads, and reset the broadcast
33050          event once the last thread was released.
33051          (sys_cond_signal, sys_cond_broadcast): Use SetEvent instead of
33052          PulseEvent.  Don't signal the event if no threads are waiting.
33053          (sys_cond_destroy): Only close non-NULL handles.
33054          (sys_thread_create): Return zero if unsuccessful, 1 if successful.
33055          src/systhread.h (w32thread_cond_t): New member 'initialized'.
33056          Rename waiters_count and waiters_count_lock to wait_count and
33057          wait_count_lock, respectively.
33059 2013-08-30  Eli Zaretskii  <eliz@gnu.org>
33061         Enable thread support in the MS-Windows build.
33063          src/systhread.h (w32thread_critsect, w32thread_cond_t, sys_mutex_t)
33064          (sys_cond_t, sys_thread_t) [WINDOWSNT]: New data types.
33065          src/systhread.c (sys_mutex_init, sys_mutex_lock, sys_mutex_unlock)
33066          (sys_mutex_destroy, sys_cond_init, sys_cond_wait)
33067          (sys_cond_signal, sys_cond_broadcast, sys_cond_destroy)
33068          (sys_thread_self, sys_thread_equal, w32_beginthread_wrapper)
33069          (sys_thread_create, sys_thread_yield) [WINDOWSNT]: New functions.
33071          configure.ac (THREADS_ENABLED): Enable threads for MinGW, even
33072          if pthreads is not available.
33074 2013-08-27  Tom Tromey  <tromey@redhat.com>
33076         use condition-notify in the docs, not condition-signal
33078         zap until-condition docs
33080         zap until-condition
33082         rename thread-blocker to thread--blocker
33084         remove binding_symbol
33086         fix style of threadp, mutexp, and condition-variable-p
33088         make thread_check_current_buffer return bool
33090         add a comment before flush_stack_call_func
33092         fix whitespace_regexp warning
33094 2013-08-26  Eli Zaretskii  <eliz@gnu.org>
33096         Fix MS-Windows build.
33098          src/callproc.c:
33099          src/emacs.c:
33100          src/filelock.c:
33101          src/process.c:
33102          src/sysdep.c:
33103          src/w32.c: Reshuffle Windows-specific headers to avoid errors with
33104          redefinition of fd_set etc.
33105          src/process.c: Don't use num_pending_connects when
33106          NON_BLOCKING_CONNECT is not defined.
33107          src/sysselect.h: Move definitions of FD_* macros and of SELECT_TYPE
33108          here from w32.h.
33109          src/w32proc.c (sys_select): Adjust the argument types to what
33110          thread.h expects.
33112          nt/inc/sys/socket.h: Include stdint.h.  Include sysselect.h instead
33113          of w32.h.
33115 2013-08-26  Tom Tromey  <tromey@redhat.com>
33117         use record_unwind_protect_void, avoid warning
33119         implement --enable-threads and a thread-less mode
33121 2013-08-25  Tom Tromey  <tromey@redhat.com>
33123         merge from trunk
33125 2013-08-20  Tom Tromey  <tromey@redhat.com>
33127         fix up some merge errors in process.c
33129         remove a dead function
33130         clean up a fixme I added in create_pty during the merge
33132 2013-08-20  Tom Tromey  <tromey@redhat.com>
33134         merge from trunk
33136 2013-07-26  Tom Tromey  <tromey@redhat.com>
33138         merge from trunk
33140 2013-07-13  Tom Tromey  <tromey@redhat.com>
33142         Merge from trunk
33144 2013-07-12  Tom Tromey  <tromey@redhat.com>
33146         Use thread_alive_p in a couple more spots
33148 2013-07-07  Tom Tromey  <tromey@redhat.com>
33150         fix xfree bug in run_thread
33152         this fixes run_thread to account for the dummy slot
33153         in specpdl
33155 2013-07-07  Tom Tromey  <tromey@redhat.com>
33157         merge from trunk
33159         this merges frmo trunk and fixes various build issues.
33160         this needed a few ugly tweaks.
33161         this hangs in "make check" now
33163 2013-07-06  Tom Tromey  <tromey@redhat.com>
33165         add assertion to flush_stack_call_func
33167         functions called via flush_stack_call_func are assumed
33168         to return with the global lock held again, and with
33169         current_thread reset.  this assertion verifies part of this
33171 2013-07-06  Tom Tromey  <tromey@redhat.com>
33173         call init_primary_thread from init_threads
33175 2013-07-05  Tom Tromey  <tromey@redhat.com>
33177         avoid SAFE_ALLOCA
33179         avoid SAFE_ALLOCA in xgselect.c.
33180         in this code it is just as easy to always use malloc;
33181         and it avoids thread-switching problems, as the safe-alloca
33182         stuff implicitly refers to the current thread
33184 2013-07-05  Tom Tromey  <tromey@redhat.com>
33186         avoid current_thread sometimes
33188         this tweaks thread.c to use 'self' instead of current_thread
33189         in a couple spots.  this is clearer and more robust
33191 2013-07-05  Tom Tromey  <tromey@redhat.com>
33193         initialize saved_value
33195         initialize the saved_value field in all needed cases
33196         also, add an assertion to do_one_unbind
33198 2013-07-04  Tom Tromey  <tromey@redhat.com>
33200         fix buglet in test case
33202 2013-07-04  Tom Tromey  <tromey@redhat.com>
33204         unlink thread later
33206         unlink thread from global list later
33207         also remove some unnecessary destruction code
33209 2013-07-04  Tom Tromey  <tromey@redhat.com>
33211         introduce thread_alive_p macro
33213         This introduces the thread_alive_p macro and changes
33214         thread-alive-p to use it.  This is a minor cleanup.
33215         It also changes all-threads to ignore dead threads.
33217 2013-07-03  Tom Tromey  <tromey@redhat.com>
33219         Don't call unbind_for_thread_switch in run_thread
33221         This removes the call to unbind_for_thread_switch from run_thread.
33222         This isn't necessary because acquire_global_lock does it properly.
33224 2013-07-03  Tom Tromey  <tromey@redhat.com>
33226         remove unused field from struct thread_state
33228         Fix a comment.
33230 2013-06-13  Tom Tromey  <tromey@redhat.com>
33232         merge from trunk
33234 2013-06-06  Tom Tromey  <tromey@redhat.com>
33236         fix a few latent issues in the thread patch
33238         * we called unbind_for_thread_switch unconditionally, but this
33239           is wrong if the previous thread exited
33240         * likewise, exiting a thread should clear current_thread
33241         * redundant assignment in run_thread
33242         * clean up init_threads - no need to re-init the primary thread
33244         This patch still sometimes causes weird hangs in "make check".
33245         However, I think that is a kernel bug, since Emacs enters the zombie
33246         state but its parent process hangs in wait.  This shouldn't happen.
33248 2013-06-04  Tom Tromey  <tromey@redhat.com>
33250         update eval.c to make it build again after the merge
33252 2013-06-03  Tom Tromey  <tromey@redhat.com>
33254         merge from trunk; clean up some issues
33256 2013-03-18  Tom Tromey  <tromey@redhat.com>
33258         don't let kill-buffer kill a buffer if it is current in any thread
33260 2013-03-18  Tom Tromey  <tromey@redhat.com>
33262         fix process bugs
33264         Fix some process-related bugs, mostly thinkos from the conversion to
33265         recording fd state as flags.
33266         This now passes the test suite without hanging.
33268 2013-03-17  Tom Tromey  <tromey@redhat.com>
33270         merge from trunk
33272 2013-03-08  Tom Tromey  <tromey@redhat.com>
33274         merge from trunk
33276 2013-01-16  Tom Tromey  <tromey@redhat.com>
33278         merge from trunk
33280 2013-01-06  Tom Tromey  <tromey@redhat.com>
33282         merge from trunk
33284 2012-12-23  Tom Tromey  <tromey@redhat.com>
33286         mention let bindings and lack of other ways to rewind
33288 2012-12-17  Tom Tromey  <tromey@redhat.com>
33290         Remove bit accidentally left over from the merge
33292         merge from trunk
33294 2012-09-04  Tom Tromey  <tromey@redhat.com>
33296         merge from trunk
33298         link from thread docs to match data
33300 2012-08-27  Tom Tromey  <tromey@redhat.com>
33302         cannot thread-join the current thread
33304         fix test suite for condition-variable-p name change
33306         add tests for variable bindings
33308 2012-08-25  Tom Tromey  <tromey@redhat.com>
33310         minor update to thread-join docs
33312 2012-08-24  Tom Tromey  <tromey@redhat.com>
33314         minor documentation updates
33316 2012-08-23  Tom Tromey  <tromey@redhat.com>
33318         document until-condition
33320         first draft of threads documentation
33322         rename condition-variablep to condition-variable-p
33324         document process-thread and set-process-thread
33326 2012-08-20  Tom Tromey  <tromey@redhat.com>
33328         pass the thread name to the OS if possible
33330         use prctl to pass the thread name to the OS, if possible
33332 2012-08-20  Tom Tromey  <tromey@redhat.com>
33334         add convenience macros with-mutex and until-condition
33336         with-mutex is a safe way to run some code with a mutex held.
33337         until-condition is a safe way to wait on a condition variable.
33339 2012-08-20  Tom Tromey  <tromey@redhat.com>
33341         Merge from trunk
33343 2012-08-19  Tom Tromey  <tromey@redhat.com>
33345         another docstring fixlet
33347         minor docstring fixup
33349         add condition-mutex and condition-name
33351         ensure name of a thread is a string
33353         ensure name of a mutex is a string
33355         use NILP
33357 2012-08-19  Tom Tromey  <tromey@redhat.com>
33359         condition variables
33361         This implements condition variables for elisp.
33362         This needs more tests.
33364 2012-08-19  Tom Tromey  <tromey@redhat.com>
33366         comment fixes
33368 2012-08-19  Tom Tromey  <tromey@redhat.com>
33370         refactor systhread.h
33372         This refactors systhread.h to move the notion of a "lisp mutex"
33373         into thread.c.  This lets us make make the global lock and
33374         post_acquire_global_lock static.
33376 2012-08-17  Tom Tromey  <tromey@redhat.com>
33378         write docstrings for the thread functions
33380         declare unbind_for_thread_switch and rebind_for_thread_switch in lisp.h
33382 2012-08-15  Tom Tromey  <tromey@redhat.com>
33384         add test case for I/O switching
33386 2012-08-15  Tom Tromey  <tromey@redhat.com>
33388         process changes
33390         This changes wait_reading_process_output to handle threads better.  It
33391         introduces a wrapper for select that releases the global lock, and it
33392         ensures that only a single thread can select a given file descriptor
33393         at a time.
33395         This also adds the thread-locking feature to processes.  By default a
33396         process can only have its output accepted by the thread that created
33397         it.  This can be changed using set-process-thread.  (If the thread
33398         exits, the process is again available for waiting by any thread.)
33400         Note that thread-signal will not currently interrupt a thread blocked
33401         on select.  I'll fix this later.
33403 2012-08-15  Tom Tromey  <tromey@redhat.com>
33405         Prepare process.c for threads by not having global select masks.
33406         The next step is to make it so selects can choose fds by thread.
33408 2012-08-15  Tom Tromey  <tromey@redhat.com>
33410         fix a latent bug in process.c
33412         * src/process.c (wait_reading_process_output): Check Writeok bits,
33413         not write_mask.
33415 2012-08-15  Tom Tromey  <tromey@redhat.com>
33417         This adds thread-blocker, a function to examine what a thread is
33418         blocked on.  I thought this would be another nice debugging addition.
33420         This adds names to mutexes.  This seemed like a nice debugging
33421         extension.
33423         This adds some tests of the threading code.
33425 2012-08-15  Tom Tromey  <tromey@redhat.com>
33427         This supplies the mutex implementation for Emacs Lisp.
33429         A lisp mutex is implemented using a condition variable, so that we can
33430         interrupt a mutex-lock operation by calling thread-signal on the
33431         blocking thread.  I did things this way because pthread_mutex_lock
33432         can't readily be interrupted.
33434 2012-08-15  Tom Tromey  <tromey@redhat.com>
33436         This adds most of the thread features visible to emacs lisp.
33438         I roughly followed the Bordeaux threads API:
33440         http://trac.common-lisp.net/bordeaux-threads/wiki/ApiDocumentation
33442         ... but not identically.  In particular I chose not to implement
33443         interrupt-thread or destroy-thread, but instead a thread-signaling
33444         approach.
33446         I'm still undecided about *default-special-bindings* (which I did not
33447         implement).  I think it would be more emacs-like to capture the let
33448         bindings at make-thread time, but IIRC Stefan didn't like this idea
33449         the first time around.
33451         There are one or two semantics issues pointed out in the patch where I
33452         could use some advice.
33454 2012-08-15  Tom Tromey  <tromey@redhat.com>
33456         This turns thread_state into a pseudovector and updates various bits
33457         of Emacs to cope.
33459 2012-08-15  Tom Tromey  <tromey@redhat.com>
33461         This introduces some new functions to handle the specpdl.  The basic
33462         idea is that when a thread loses the interpreter lock, it will unbind
33463         the bindings it has put in place.  Then when a thread acquires the
33464         lock, it will restore its bindings.
33466         This code reuses an existing empty slot in struct specbinding to store
33467         the current value when the thread is "swapped out".
33469         This approach performs worse than my previously planned approach.
33470         However, it was one I could implement with minimal time and
33471         brainpower.  I hope that perhaps someone else could improve the code
33472         once it is in.
33474 2012-08-15  Tom Tromey  <tromey@redhat.com>
33476         This introduces the low-level system threading support.  It also adds
33477         the global lock.  The low-level support is a bit over-eager, in that
33478         even at the end of the present series, it will not all be used.  I
33479         think thiat is ok since I plan to use it all eventually -- in
33480         particular for the emacs lisp mutex implementation.
33482         I've only implemented the pthreads-based version.  I think it should
33483         be relatively clear how to port this to other systems, though.
33485         I'd also like to do a "no threads" port that will turn most things
33486         into no-ops, and have thread-creation fail.  I was thinking perhaps
33487         I'd make a future (provide 'threads) conditional on threads actually
33488         working.
33490         One other minor enhancement available here is to make it possible to
33491         set the name of the new thread at the OS layer.  That way gdb, e.g.,
33492         could display thread names.
33494 2012-08-15  Tom Tromey  <tromey@redhat.com>
33496         This parameterizes the GC a bit to make it thread-ready.
33498         The basic idea is that whenever a thread "exits lisp" -- that is,
33499         releases the global lock in favor of another thread -- it must save
33500         its stack boundaries in the thread object.  This way the boundaries
33501         are always available for marking.  This is the purpose of
33502         flush_stack_call_func.
33504         I haven't tested this under all the possible GC configurations.
33505         There is a new FIXME in a spot that i didn't convert.
33507         Arguably all_threads should go in the previous patch.
33509 2012-08-15  Tom Tromey  <tromey@redhat.com>
33511         This introduces a thread-state object and moves various C globals
33512         there.  It also introduces #defines for these globals to avoid a
33513         monster patch.
33515         The #defines mean that this patch also has to rename a few fields
33516         whose names clash with the defines.
33518         There is currently just a single "thread"; so this patch does not
33519         impact Emacs behavior in any significant way.
33521 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33523         Merge from origin/emacs-25
33525         eeecac7 Fix minor quoting problems in doc strings
33527 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33529         Merge from origin/emacs-25
33531         35ce3fb Don't assume window-point and point are the same
33533 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33535         Merge from origin/emacs-25
33537         ba2847f ; * lisp/vc/ediff-util.el (ediff-janitor): Fix last change.  ...
33538         8b43f97 * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
33539         c20035c ; * doc/emacs/programs.texi (Man Page): Fix last change.
33540         93d8346 Improve indexing of 'man'
33542 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33544         Merge from origin/emacs-25
33546         d31298d Fix documentation of `window-combination-resize'
33547         2086f4c Typo fixes in elisp manual
33549 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33551         Merge from origin/emacs-25
33553         3980903 ; Update ChangeLog.2, etc/AUTHORS and ldef-boot.el for Emacs ...
33554         5878abf Fix 'expand-file-name' during startup on MS-Windows
33556 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33558         Merge from origin/emacs-25
33560         9a857b9 * admin/authors.el (authors-renamed-files-alist): Addition.
33561         6d27423 Tweak refcard note about documentation location
33562         e46a134 Improve treatment of Fortran's "class is"
33564 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33566         Merge from origin/emacs-25
33568         93c0f51 Handle TeX comments when making new paragraph
33569         e0884f1 Restore keystroke echo in 'C-q'
33570         a6213ce Improve documentation of 'current-word'
33571         0828126 Fix a typo in an Eshell defcustom
33572         2e361c7 Minor copyedits of electric-pair-mode
33573         7499ee8 ; Minor copyedit in the Emacs manual
33574         45b652b Fix documentation of 'invocation-directory'
33575         7f43d7c * admin/authors.el (authors-aliases): Add an entry.
33576         ba48880 ; Fix pl-refcard.tex
33578 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33580         Merge from origin/emacs-25
33582         7287e96 ; * src/lread.c (openp): Correct an inaccuracy in commentary.
33584 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33586         Merge from origin/emacs-25
33588         3d63b48 Update ChangeLog files and authors.el
33589         9d30264 Fix menu bindings of Dired 'A' and 'Q' commands
33590         a725592 Avoid errors in shr-pixel-column due to dedicated windows
33591         3138598 Update format-time-string documentation
33593 2016-12-07  Sam Steingold  <sds@gnu.org>
33595         delete-trailing-whitespace: handle read-only text in buffer
33597         * lisp/simple.el (region-modifiable-p): New function.
33598         (delete-trailing-whitespace): Us it to avoid trying to delete read-only text.
33600 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33602         Fix minor quoting problems in doc strings
33604 2016-12-07  Paul Eggert  <eggert@cs.ucla.edu>
33606         Fix --enable-gcc-warnings --with-ns on Fedora
33608         * src/Makefile.in (NON_OBJC_CFLAGS): New macro.
33609         (ALL_OBJC_CFLAGS): Use it.
33610         (EMACS_CFLAGS): New macro, with most of the old ALL_CFLAGS.
33611         (ALL_CFLAGS, ALL_OBJC_FLAGS): Use it.
33613 2016-12-07  Michael Albinus  <michael.albinus@gmx.de>
33615         Fix problems in quoting Tramp file names
33617         * lisp/net/tramp.el (tramp-get-remote-tmpdir): Add also hop to result.
33618         (tramp-unquote-shell-quote-argument): New defun.
33619         (tramp-shell-quote-argument):
33620         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band)
33621         (tramp-make-copy-program-file-name):
33622         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
33623         (tramp-smb-handle-file-acl, tramp-smb-handle-set-file-acl)
33624         (tramp-smb-shell-quote-argument): Use it.
33626 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33628         ibuffer-map-deletion-lines: Re-included it
33630         It was deleted in previous commit, but it's referenced
33631         by the macro 'define-ibuffer-op'.
33632         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Reinclude it.
33634 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33636         ibuffer-unmark-all: simplify code
33638         * lisp/ibuffer.el (ibuffer-map-deletion-lines): Delete it.
33639         (ibuffer-unmark-all): Simplify code.
33641 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33643         define-ibuffer-filter: Discard wrong filters
33645         * lisp/ibuf-macs.el (define-ibuffer-filter): Do not store
33646         in 'ibuffer-filtering-qualifiers' a wrong filter (Bug#25042).
33647         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25042): Add test.
33649 2016-12-07  Philipp Stephani  <p.stephani2@gmail.com>
33651         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
33653         so that it matches the actual implementation.
33654         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
33656 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33658         ibuffer-decompose-filter-group avoid unwanted side effects
33660         * lisp/ibuf-ext.el (ibuffer-delete-alist): Remove it.
33661         (ibuffer-remove-alist): New defun; it supersedes 'ibuffer-delete-alist'.
33662         All callers changed (Bug#25058).
33663         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25058): Add test.
33665 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33667         ibuffer-unmark-backward: Unmark the region when is active
33669         * lisp/ibuffer.el (ibuffer-unmark-backward):
33670         Use 'ibuffer-get-region-and-prefix'; call 'ibuffer-unmark-forward'
33671         with the region boundary as the first 2 arguments (Bug#24987).
33673 2016-12-07  Nicolas Petton  <nicolas@petton.fr>
33675         Docstring improvement for seq-some (bug#25129)
33677         * lisp/emacs-lisp/seq.el (seq-some): Make the docstring less confusing
33678           regarding the returned value.
33680 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33682         dired-unmark-backward: Unmark the region when is active
33684         * lisp/dired.el (dired-unmark-backward): Call 'dired-unmark' with
33685         a non-nil second argument (Bug#24986).
33687 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33689         New test file for ediff
33691         Fix previous commit.
33692         * test/lisp/vc/ediff-ptch-tests.el: New test.
33694 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33696         ediff-context-diff-label-regexp: Detect the end of second file
33698         * lisp/vc/ediff-ptch.el (ediff-context-diff-label-regexp): Skip
33699         '\n' in file names (Bug#25010).
33700         * test/lisp/vc/ediff-ptch-tests.el: New file.
33701         (ibuffer-test-bug25010): Add test for Bug#25010.
33703 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33705         ibuffer-decompose-filter: Avoid side effects on error
33707         * lisp/ibuf-ext.el (ibuffer-decompose-filter):
33708         Update 'ibuffer-filtering-qualifiers' only if there is no error (Bug#24997).
33709         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997):
33710         Update test result as pass.
33712 2016-12-07  Tino Calancha  <tino.calancha@gmail.com>
33714         ibuffer: compare marks with EQ
33716         * lisp/ibuffer.el:
33717         (ibuffer-update-title-and-summary)
33718         (ibuffer-redisplay-current)
33719         (ibuffer-buffer-name-face, ibuffer-unmark-all)
33720         (ibuffer-count-deletion-lines, ibuffer-buffer-names-with-mark):
33721         Use 'eq' instead of 'char-equal' when comparing mark characters
33722         (Bug#25000).
33723         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000):
33724         Update test result as pass.
33726 2016-12-07  Christopher Genovese  <genovese@cmu.edu>
33728         ibuffer-saved-filters: Remove extra nesting level
33730         Fix Bug#25049.
33731         * lisp/ibuf-ext.el (ibuffer-saved-filters): Remove extra
33732         nesting level; add transparent setter to adjust old-format values;
33733         update doc string.
33734         (ibuffer-save-filters): Remove extra level of nesting
33735         in ibuffer-saved-filters values when saving new filters.
33736         (ibuffer-old-saved-filters-warning): New variable with
33737         clickable message with repair options to be displayed
33738         as a warning if 'ibuffer-repair-saved-filters' detects
33739         a format mismatch.
33740         (ibuffer-repair-saved-filters): Add new command to check and
33741         repair saved filters format.
33742         (ibuffer-included-in-filter-p, ibuffer-decompose-filter):
33743         Change access of saved filter data (cadr->cdr) to account
33744         for reduced nesting.
33745         * test/lisp/ibuffer-tests.el (ibuffer-save-filters):
33746         New test; check that filters are saved in the proper format.
33748 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
33750         Clean out some IRIX cruft
33752         * etc/MACHINES: Remove obsolete discussion of IRIX.
33753         * src/process.c (allocate_pty) [__sgi]: Remove SGI-specific code.
33754         (create_process) [HAVE_PTYS]: Don't worry about IRIX.
33755         * src/syntax.c (scan_sexps_forward): Remove obsolete comment.
33756         * src/unexelf.c [__sgi]: Don't include <syms.h>.
33757         (unexec) [__sgi]: Remove SGI-specific code.
33759 2016-12-06  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
33761         Simplify FUNCTIONP implementation
33763         * src/bytecode.c (exec_byte_code):
33764         * src/image.c (parse_image_spec):
33765         Prefer FUNCTIONP (x) to !NILP (Ffunctionp (x)).
33766         * src/eval.c (FUNCTIONP): Move here ...
33767         * src/lisp.h: ... from here.  No longer inline, as that
33768         bloats the text and does not help speed (at least on my platform).
33769         (functionp): Remove this name, since callers use FUNCTIONP.
33771 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
33773         Don't assume window-point and point are the same
33775         The function `cursor-sensor--detect' calls `bobp' to decide whether to
33776         check properties at (1- (window-point)).  However, (window-point) may be
33777         at beginning of buffer, even if (point) is not.  In this case an
33778         `args-out-of-range' error will be signaled (Bug#25104).
33780         * lisp/emacs-lisp/cursor-sensor.el (cursor-sensor--detect): Check the
33781         value of (window-point) against (point-min), rather than (bobp) to
33782         decide if (1- (window-point)) is accessible.
33784 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
33786         Give test-completion's PREDICATE the hashtable key
33788         For hashtable entries with symbol keys, `test-completion' would convert
33789         the key to a string before calling PREDICATE, unlike `try-completion'
33790         and `all-completions'.
33792         * src/minibuf.c (Ftest_completion): Pass original key from hashtable.
33794 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
33796         Give test-completion's PREDICATE full alist entry
33798         Since 2016-06-26 "Fix test-completion with completion-regexp-list", when
33799         calling test-completion with an alist collection, the predicate was
33800         recieving the string value instead of the alist entry (Bug#24966).
33802         * src/minibuf.c (Ftest_completion): Don't modify the found element, just
33803         test STRING against `completion-regexp-list'.
33804         * test/src/minibuf-tests.el: New tests for `try-completion',
33805         `all-completions', and `test-completion'.
33807 2016-12-06  Noam Postavsky  <npostavs@gmail.com>
33809         Fix ert-tests when running compiled
33811         * test/lisp/emacs-lisp/ert-tests.el (ert-test-deftest): Don't test for
33812         specific macroexpansion, just check result of evaluation.
33813         (ert-test-record-backtrace): Don't hardcode representation of closure in
33814         expected backtrace, this lets the test succeed even when the test code
33815         is compiled.
33817         * lisp/emacs-lisp/ert.el (ert--expand-should-1): Also pass
33818         `byte-compile-macro-environment' to `macroexpand', this allows the
33819         `should' macro to properly handle macroexpansion of macros that were
33820         defined in the same file when it's being compiled (Bug #17851).
33822 2016-12-06  Glenn Morris  <rgm@gnu.org>
33824         Make "g" in vc push/pull buffers re-push/pull
33826         * lisp/vc/vc-bzr.el (vc-bzr--pushpull):
33827         * lisp/vc/vc-git.el (vc-git--pushpull):
33828         * lisp/vc/vc-hg.el (vc-hg--pushpull):
33829         Set compile-command so that "g" works.  (Bug#11446)
33831 2016-12-06  Paul Eggert  <eggert@cs.ucla.edu>
33833         Change two _Noreturn functions to return void
33835         This is a bit clearer than _Noreturn functions that (do not)
33836         return a non-void type.
33837         * src/callproc.c (call_process) [MSDOS]:
33838         Use 'status' local to record status.
33839         (child_setup): Return CHILD_SETUP_TYPE.
33840         * src/data.c, src/lisp.h (wrong_type_argument): Return void.
33841         All callers changed.
33842         * src/lisp.h (CHILD_SETUP_TYPE): New macro.
33844 2016-12-05  Paul Eggert  <eggert@cs.ucla.edu>
33846         Fix GPG bug introduced by Oct file-missing change
33848         Problem with visiting nonexistent .gpg file
33849         reported by Herbert J Skuhra.
33850         * lisp/epa-file.el (epa-file--find-file-not-found-function):
33851         (epa-file-insert-file-contents, epa-file-write-region):
33852         Signal file-missing or file-error instead of epa-error.
33854 2016-12-05  Glenn Morris  <rgm@gnu.org>
33856         Tweak recent flymake change
33858         * lisp/progmodes/flymake.el (flymake-report-fatal-status):
33859         Avoid double message when flymake-log-level >= 0.
33860         * doc/misc/flymake.texi (Customizable variables):
33861         No longer mention flymake-gui-warnings-enabled.
33863 2016-12-05  Katsumi Yamaoka  <yamaoka@jpl.org>
33865         Make TAB and M-TAB run widget-forward and widget-backward (bug#25091)
33867         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Avoid `shr-next-link'
33868         and `shr-previous-link' so TAB and M-TAB run `widget-forward' and
33869         `widget-backward' instead (bug#25091).
33871 2016-12-05  Michael Albinus  <michael.albinus@gmx.de>
33873         Remove compat code in Tramp
33875         * lisp/net/tramp.el (tramp-parse-time-months): Remove.
33877         * lisp/net/tramp-compat.el (top): Require parse-time.
33879         * lisp/net/tramp-smb.el (tramp-smb-read-file-entry):
33880         Use `parse-time-months'.
33882 2016-12-05  Martin Rudalics  <rudalics@gmx.at>
33884         Don't try to split side windows in ibuffer (Bug#25115)
33886         * lisp/ibuffer.el (ibuffer-confirm-operation-on): Don't try to
33887         split a side window (Bug#25115).
33889 2016-12-04  Paul Eggert  <eggert@cs.ucla.edu>
33891         * src/lisp.h: Update comment to kick -Og down the road.
33893 2016-12-04  Mark Oteiza  <mvoteiza@udel.edu>
33895         More image-dired refactoring
33897         * lisp/image-dired.el: Remove TODO comment. This appears to have been
33898         implemented in 5d7433a "image-dired: Signal an error before calling a
33899         missing executable".
33900         (image-dired-cmd-create-standard-thumbnail-command): Use %p specifier.
33901         Add :version.
33902         (image-dired-display-thumbs, image-dired-create-thumbs): Use dolist and
33903         when. Remove superfluous call to image-dired-thumb-name. Move single nil
33904         binding and setq into dolist form.
33906 2016-12-04  Michael Albinus  <michael.albinus@gmx.de>
33908         Implement quoting the local part of a remote file name
33910         * doc/emacs/files.texi (Quoted File Names):
33911         * etc/NEWS: Mention quoting the local part of a remote file name.
33913         * lisp/net/tramp.el (tramp-dissect-file-name): Check with
33914         `tramp-tramp-file-p'.
33915         (tramp-quoted-name-p, tramp-quote-name, tramp-unquote-name):
33916         New defsubst.
33917         (tramp-handle-substitute-in-file-name)
33918         (tramp-handle-make-auto-save-file-name): Handle quoted files.
33919         (tramp-shell-quote-argument): Unquote argument.
33921         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename):
33922         Handle quoted files.
33924         * test/lisp/net/tramp-tests.el (tramp--test-expensive-test): New defvar.
33925         (tramp--test-make-temp-name): New argument QUOTED.
33926         (tramp-test01-file-name-syntax)
33927         (tramp-test02-file-name-dissect)
33928         (tramp-test04-substitute-in-file-name)
33929         (tramp-test05-expand-file-name, tramp-test07-file-exists-p)
33930         (tramp-test08-file-local-copy)
33931         (tramp-test09-insert-file-contents)
33932         (tramp-test10-write-region, tramp-test11-copy-file)
33933         (tramp-test12-rename-file, tramp-test13-make-directory)
33934         (tramp-test14-delete-directory, tramp-test15-copy-directory)
33935         (tramp-test16-directory-files)
33936         (tramp-test17-insert-directory)
33937         (tramp-test18-file-attributes)
33938         (tramp-test19-directory-files-and-attributes)
33939         (tramp-test20-file-modes, tramp-test21-file-links)
33940         (tramp-test22-file-times, tramp-test23-visited-file-modtime)
33941         (tramp-test24-file-name-completion, tramp-test25-load)
33942         (tramp-test26-process-file, tramp-test27-start-file-process)
33943         (tramp-test28-shell-command, tramp-test30-vc-registered)
33944         (tramp-test31-make-auto-save-file-name)
33945         (tramp--test-check-files)
33946         (tramp-test35-asynchronous-requests): Test also quoted file names.
33947         (tramp--test-shell-command-to-string-asynchronously): Rename.
33948         (tramp-test29-environment-variables): Use it.
33950 2016-12-04  Tino Calancha  <tino.calancha@gmail.com>
33952         Fix typo in dired-omit-case-fold-p
33954         * lisp/dired-x.el (dired-omit-case-fold-p):
33955         Write 'file-name-case-insensitive-p' instead of
33956         'file-name-case-sensitive-p'.
33957         Add declaration of 'file-name-case-insensitive-p'.
33959 2016-12-04  Simen Heggestøyl  <simenheg@gmail.com>
33961         Add HTML5 attributes for the input element
33963         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 attributes
33964         for the input element.
33966 2016-12-03  Glenn Morris  <rgm@gnu.org>
33968         Obsolete sc-load-hook in favor of eval-after-load
33970         * lisp/mail/supercite.el (sc-load-hook): Make obsolete.
33971         * doc/misc/sc.texi (Getting Connected, Filling Cited Text):
33972         No longer mention sc-load-hook.
33974 2016-12-03  Glenn Morris  <rgm@gnu.org>
33976         Obsolete calendar-load-hook in favor of eval-after-load
33978         * lisp/calendar/calendar.el (calendar-load-hook): Make obsolete.
33979         (calendar): Doc fix - no longer mention calendar-load-hook.
33980         * doc/emacs/cal-xtra.texi (Calendar Customizing):
33981         No longer mention calendar-load-hook.
33982         * doc/lispintro/emacs-lisp-intro.texi (X11 Colors):
33983         Replace calendar-load-hook in example with with-eval-after-load.
33985 2016-12-03  Glenn Morris  <rgm@gnu.org>
33987         Fix markup in read-multiple-choice doc (Bug#25102)
33989         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Doc fix.
33991 2016-12-03  Glenn Morris  <rgm@gnu.org>
33993         Stop flymake using dialog boxes for errors (Bug#16622)
33995         * lisp/progmodes/flymake.el (flymake-gui-warnings-enabled):
33996         Mark as obsolete.
33997         (flymake-display-warning): Turn into an obsolete alias.
33998         (flymake-report-fatal-status): Just use message for a warning that
33999         was formerly displayed by default.
34001 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
34003         Clean up keymap and menu code in image-dired
34005         A function to populate these maps is not necessary, just define the maps
34006         once and for all.
34007         * lisp/image-dired.el (image-dired-show-all-from-dir): Make prompt
34008         clearer and in the spirit of dired's.
34009         (image-dired-define-display-image-mode-keymap):
34010         (image-dired-define-thumbnail-mode-keymap): Remove.
34011         (image-dired-thumbnail-mode-map):
34012         (image-dired-thumbnail-mode-line-up-map):
34013         (image-dired-thumbnail-mode-tag-map): Assimilate all define-key and mode
34014         menu code from the aforementioned removed functions.  Reorder so that
34015         the definitions are inherited properly.
34016         (image-dired-display-current-image-sized): Fix erroneous message.
34017         (image-dired-thumbnail-mode):
34018         (image-dired-display-image-mode): Remove defunct call.
34020 2016-12-03  Michael Albinus  <michael.albinus@gmx.de>
34022         Mention `file-name-case-insensitive-p' as magic file name
34024         * doc/lispref/files.texi (Magic File Names):
34025         Mention `file-name-case-insensitive-p'.
34027         * doc/lispref/variables.texi (Connection Local Variables):
34028         Fix typo.
34030 2016-12-03  Mark Oteiza  <mvoteiza@udel.edu>
34032         Clean up uses of cl-foo in image-dired
34034         Both instances here are just emulating cl-find-if.
34035         * lisp/image-dired.el: Use cl-lib at compile time.
34036         (image-dired-dired-toggle-marked-thumbs): Don't need let* at the top.
34037         Replace the cl-foo instances with equivalent cl-loops.
34039 2016-12-03  Eli Zaretskii  <eliz@gnu.org>
34041         Avoid compilation warnings in nt/*.c files
34043         * nt/cmdproxy.c (fail, vfprintf, fprintf, printf, warn)
34044         (console_event_handler): Add prototypes.
34045         (canon_filename, skip_space, skip_nonspace, get_next_token)
34046         (batch_file_p, search_dir, make_absolute, try_dequote_cmdline)
34047         (spawn, get_env_size): Now static.
34048         * nt/ddeclient.c (DdeCallback): Provide prototype.
34049         * nt/addpm.c (DdeCallback): Provide prototype.
34050         (add_registry): Now static.
34052 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
34054         Display window before calculating width
34056         * lisp/image-dired.el (image-dired-display-thumbs): Display the buffer
34057         before calling image-dired-line-up and friends, which in turn calculate
34058         the window width. Otherwise, the thumbnail layout will be wrong in
34059         a side-by-side split.
34061 2016-12-02  Mark Oteiza  <mvoteiza@udel.edu>
34063         Use pop-to-buffer-same-window
34065         * lisp/image-dired.el (image-dired-dired-with-window-configuration):
34066         (image-dired-dired-edit-comment-and-tags): Instead of switch-to-buffer,
34067         use pop-to-buffer-same-window cf. Bug#22244.
34068         (image-dired-forward-image, image-dired-backward-image): Ignore unused.
34070 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
34072         Document watchpoints
34074         * doc/lispref/debugging.texi (Variable Debugging):
34075         * doc/lispref/variables.texi (Watching Variables): New section.
34076         * etc/NEWS: Add entry for watchpoints
34078 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
34080         Add tests for watchpoints
34082         * test/src/data-tests.el (data-tests-variable-watchers):
34083         (data-tests-local-variable-watchers): New tests.
34085 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
34087         Ensure redisplay using variable watcher
34089         This replaces looking up the variable name in redisplay--variables when
34090         setting it.
34092         * lisp/frame.el: Replace redisplay--variables with add-variable-watcher
34093         calls.
34094         * src/xdisp.c (Fset_buffer_redisplay): Rename from maybe_set_redisplay,
34095         set the redisplay flag unconditionally.
34096         (Vredisplay__variables): Remove it.
34097         * src/data.c (set_internal): Remove maybe_set_redisplay call.
34099 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
34101         Add function to trigger debugger on variable write
34103         * lisp/emacs-lisp/debug.el (debug-on-variable-change):
34104         (debug--variable-list):
34105         (cancel-debug-on-variable-change): New functions.
34106         (debugger-setup-buffer): Add watchpoint clause.
34108 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
34110         Show watchpoints when describing variables
34112         * src/data.c (Fget_variable_watchers): New function.
34113         * lisp/help-fns.el (describe-variable): Use it to detect watching
34114         functions.
34116 2016-12-02  Noam Postavsky  <npostavs@gmail.com>
34118         Add lisp watchpoints
34120         This allows calling a function whenever a symbol-value is changed.
34122         * src/lisp.h (lisp_h_SYMBOL_TRAPPED_WRITE_P):
34123         (SYMBOL_TRAPPED_WRITE_P): New function/macro.
34124         (lisp_h_SYMBOL_CONSTANT_P): Check for SYMBOL_NOWRITE specifically.
34125         (enum symbol_trapped_write): New enumeration.
34126         (struct Lisp_Symbol): Rename field constant to trapped_write.
34127         (make_symbol_constant): New function.
34129         * src/data.c (Fadd_variable_watcher, Fremove_variable_watcher):
34130         (set_symbol_trapped_write, restore_symbol_trapped_write):
34131         (harmonize_variable_watchers, notify_variable_watchers): New functions.
34133         * src/data.c (Fset_default): Call `notify_variable_watchers' for trapped
34134         symbols.
34135         (set_internal): Change bool argument BIND to 3-value enum and call
34136         `notify_variable_watchers' for trapped symbols.
34138         * src/data.c (syms_of_data):
34139         * src/data.c (syms_of_data):
34140         * src/font.c (syms_of_font):
34141         * src/lread.c (intern_sym, init_obarray):
34142         * src/buffer.c (syms_of_buffer): Use make_symbol_constant.
34144         * src/alloc.c (init_symbol):
34145         * src/bytecode.c (exec_byte_code): Use SYMBOL_TRAPPED_WRITE_P.
34146         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable):
34147         (Fmake_variable_frame_local):
34148         * src/eval.c (Fdefvaralias, specbind): Refer to Lisp_Symbol's
34149         trapped_write instead of constant.
34150         (Ffuncall): Move subr calling code into separate function.
34151         (funcall_subr): New function.
34153 2016-12-02  Glenn Morris  <rgm@gnu.org>
34155         Starting doc of user options with "*" is long obsolete
34157         * lisp/battery.el (battery-upower-device): Doc fix.
34159 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
34161         Fix bug#25087
34163         * etc/themes/manoj-dark-theme.el: Fix two typos.
34165         (cherry picked from commit 66d6e7e9ecf5e481f8c2c3a4f88411f66c869a6e)
34167 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
34169         Fix docstrings to have a complete sentence in first line
34171         * lisp/dired-x.el (dired-omit-case-fold, dired-omit-case-fold-p): Fix
34172         docstrings.
34174 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
34176         Remove obsolete comments and commented code from dired-x.el
34178         * lisp/dired-x.el (dired-mark-sexp): Remove a query from 1993 and its
34179         1997 answer about whether dired-mark-sexp is used.
34180         * lisp/dired-x.el (dired-buffers-for-dir-exact): Remove this function
34181         commented out since before dired-x.el was added to RCS in 1994.
34183 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
34185         Remove pre-customize dired-x.el documentation
34187         * lisp/dired-x.el (Commentary): Remove USAGE section explaining how to
34188         use dired-x from .emacs.  It is now fully customizable.
34189         * lisp/dired-x.el (dired-guess-shell-alist-user): Remove explanation of
34190         how to set this custom variable in .emacs.  It should be customized.
34192 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
34194         Allow files to be matched case-sensitively in dired-x
34196         * lisp/dired-x.el (dired-mark-unmarked-files): Add an argument which
34197         controls case folding for matching the regex (Bug#18716).
34198         (dired-omit-case-fold): New variable.  Defaults to `t' on case-sensitive
34199         systems, `nil' otherwise.
34200         (dired-mark-omitted, dired-omit-expunge): Use dired-omit-case-fold.
34201         * doc/misc/dired-x.texi, etc/NEWS: Document dired-omit-case-fold.
34203 2016-12-02  Reuben Thomas  <rrt@sc3d.org>
34205         Add support for curly quotation marks to electric-pair-mode
34207         * lisp/elec-pair.el (electric-pair-pairs, electric-pair-text-pairs): Add
34208         entries for left/right single/double quotation marks, from
34209         electric-quote-chars. Note that this is safe for single quotation marks,
34210         unlike with the ASCII apostrophe, since, although the right quotation
34211         mark can be used as an apostrophe, it is the left quotation mark that is
34212         typed to get a pair (Bug#24901).
34214 2016-12-02  Nicolas Petton  <nicolas@petton.fr>
34216         Fix bug#25087
34218         * etc/themes/manoj-dark-theme.el: Fix two typos.
34220 2016-12-02  Michael Albinus  <michael.albinus@gmx.de>
34222         Handle quoted file names in Tramp
34224         * lisp/net/tramp.el (tramp-file-name-handler): Handle also the
34225         case the file name is quoted.  This is not trapped by the
34226         reassigned `tramp-file-name-regexp' anymore.
34228 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
34230         * lisp/battery.el: Add 'battery-upower' -- very fast battery status.
34232 2016-12-02  Evgeny Zajcev  <lg.zevlg@gmail.com>
34234         Support for rawrgb images using imagemagick
34236         * src/image.c (imagemagick_load_image): Set wand size before loading
34237         blob when ':width' and ':height' are provided.
34239         * lisp/image.el (image-format-suffixes): Add 'image/x-rgb'.
34241 2016-12-02  Nikolay Kudryavtsev  <nikolay.kudryavtsev@gmail.com>
34243         Fix 'sql-connect' on first invocation
34245         * lisp/progmodes/sql.el (sql-connect): Reorder code which sets
34246         param-var.  (Bug#19452)
34248 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
34250         * lisp/vc/ediff-util.el (ediff-janitor): Doc fix.  (Bug#25046)
34252 2016-12-02  Eli Zaretskii  <eliz@gnu.org>
34254         Improve indexing of 'man'
34256         * doc/emacs/programs.texi (Man Page): Index 'man', not
34257         'manual-entry', as the latter is an alias for the former.
34258         Suggested by Hong Xu <hong@topbug.net>.  (Bug#25033)
34260 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
34262         Port to Sun C 5.14
34264         Backport from master.  Sun C 5.14 supports C11 but not GCC
34265         extensions, and so refuses to compile Emacs without this patch.
34266         * src/alloc.c (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on
34267         size_t, as in general this macro is restricted to signed types.
34269 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
34271         Fix type typo on Solaris
34273         * src/sysdep.c (system_process_attributes) [SOLARIS2 && HAVE_PROCFS]:
34274         Fix type mismatch, caught by --enable-check-lisp-object-type.
34276 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
34278         Merge from gnulib
34280         This incorporates:
34281         2016-11-27 md4,md5,sha*: tune for recent glibc _STRING_INLINE_unaligned
34282         2016-11-21 snippet/c++defs: Simplify _GL_CXXALIAS_* macros.
34283         * build-aux/snippet/c++defs.h:
34284         * lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
34285         Copy from gnulib.
34287 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
34289         Make struct font_drivers read-only
34291         This simplifies the code a bit, and makes the structs more
34292         shareable and less likely to become corrupt.
34293         * src/alloc.c (cleanup_vector):
34294         * src/font.c (valid_font_driver, font_prepare_cache)
34295         (font_finish_cache, font_get_cache, font_clear_cache)
34296         (register_font_driver, font_update_drivers):
34297         * src/font.h (struct font, struct font_driver_list)
34298         (valid_font_driver):
34299         struct font_drivers are now const.
34300         * src/font.c, src/ftcrfont.c, src/ftfont.c, src/nsfont.m, src/xfont.c:
34301         Omit no-longer-necessary decls.
34302         * src/ftcrfont.c (syms_of_ftcrfont):
34303         * src/ftxfont.c (syms_of_ftxfont):
34304         * src/xftfont.c (syms_of_xftfont):
34305         Omit no-longer-necessary initialization code.
34306         * src/ftcrfont.c (ftcrfont_driver):
34307         * src/ftfont.c (ftfont_driver):
34308         * src/ftxfont.c (ftxfont_driver):
34309         * src/macfont.m (macfont_driver):
34310         * src/nsfont.m (nsfont_driver):
34311         * src/xfont.c (xfont_driver):
34312         * src/xftfont.c (xftfont_driver):
34313         Use C99-style initializer for ease of maintenance, and make it const.
34314         * src/ftcrfont.c, src/ftxfont.c, src/xftfont.c:
34315         Refer to functions like ftfont_text_extents directly.
34316         * src/ftfont.c (ftfont_get_cache, ftfont_list, ftfont_list_family)
34317         (ftfont_has_char, ftfont_encode_char, ftfont_text_extents)
34318         (ftfont_get_bitmap, ftfont_anchor_point, ftfont_otf_capability)
34319         (ftfont_variation_glyphs, ftfont_filter_properties)
34320         (ftfont_combining_capability):
34321         * src/xfont.c (xfont_get_cache):
34322         Now extern, so that other modules’ struct font_drivers can use
34323         them directly.
34324         * src/macfont.m (macfont_descriptor_entity):
34325         * src/nsfont.m (nsfont_open):
34326         Use constant directly; this is clearer.
34328 2016-12-01  Richard Stallman  <rms@gnu.org>
34330         Fix mail-combine-fields
34332         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
34333         avoid losing our place in the search loop.
34335         (cherry picked from commit 5fbba6cceaf843cfca449eb000a0a65243b61808)
34337 2016-12-01  Helmut Eller  <eller.helmut@gmail.com>
34339         Forth related improvements for etags
34341         Generate correct tags names for things like "(foo)".
34342         Previously "(foo" created.
34344         Fix a bug where a tag for "-bar" was created when encountering things
34345         like "create-bar".
34347         Recognize more words from the Forth-2012 Standard.
34349         * lib-src/etags.c (Forth_words): Check for whitespace after defining
34350         words.  Create tag with make_tag instead of get_tag to avoid notiname
34351         which isn't appropriate for Forth.
34353         * test/manual/etags/forth-src/test-forth.fth: Add some test cases.
34354         * test/manual/etags/ETAGS.good_1:
34355         * test/manual/etags/ETAGS.good_2:
34356         * test/manual/etags/ETAGS.good_3:
34357         * test/manual/etags/ETAGS.good_4:
34358         * test/manual/etags/ETAGS.good_5:
34359         * test/manual/etags/ETAGS.good_6:
34360         * test/manual/etags/CTAGS.good: Adapt to the changes in etags.c and
34361         new test cases.
34363 2016-12-01  Eli Zaretskii  <eliz@gnu.org>
34365         Fix bugs with buffer-local tags tables
34367         * lisp/progmodes/etags.el (visit-tags-table): After
34368         'visit-tags-table-buffer' returns, retrieve the value of
34369         'tags-file-name' from the buffer we started in.  Force
34370         recomputation of 'tags-completion-table' next time it is used,
34371         since the list of tags table has changed.
34372         (visit-tags-table-buffer): Accept an additional optional argument
34373         CBUF, the buffer in which to start processing, and switch to that
34374         buffer if CBUF is non-nil.  All callers changed to supply a
34375         non-nil CBUF when they call 'visit-tags-table-buffer' in a loop.
34376         Doc fix.
34377         (tags-completion-table): Accept an optional argument, the buffer
34378         for which to build 'tags-completion-table', and build that
34379         buffer's completion table.
34380         (tags-lazy-completion-table): Pass the current buffer to
34381         'tags-completion-table'.
34382         (tags-file-name): Don't say in the doc string that setting this
34383         variable directly is enough; say that 'visit-tags-table' should be
34384         used for that.  (Bug#158)  (Bug#17326)  (Bug#23164)
34386         * doc/emacs/maintaining.texi (Select Tags Table): Delete the
34387         advice to set 'tags-file-name' directly.
34389         * test/lisp/progmodes/etags-tests.el: New tests.
34391 2016-12-01  Martin Rudalics  <rudalics@gmx.at>
34393         Fix documentation of `window-combination-resize'
34395         * src/window.c (Vwindow_combination_resize): Fix doc-string.
34396         * doc/lispref/windows.texi (Recombining Windows): Fix
34397         documentation of `window-combination-resize'.
34399 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
34401         * src/lisp.h (LISP_INITIALLY_ZERO): Remove.
34403         All uses replaced by LISPSYM_INITIALLY.
34405 2016-12-01  Paul Eggert  <eggert@cs.ucla.edu>
34407         Make Cairo safer for --enable-gcc-warnings
34409         * src/image.c (xcolor_to_argb32, pbm_load, jpeg_load_body, gif_load):
34410         Avoid overflow warnings about ‘0xff << 24’.
34411         (xpm_load, gif_load): Avoid unnecessary casts.
34412         (gif_load): Fewer ifdefs.
34414 2016-11-30  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
34416         Fix Condition in kbd_buffer_store_buffered_event (bug#19547).
34418         * src/keyboard.c (kbd_buffer_store_buffered_event): Should be NILP and not
34419         !NILP.
34421 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
34423         Fix previous commit
34425         * lisp/vc/diff-mode.el (diff-refine-hunk): Make sure to go to beginning
34426         of hunk before calling `diff-hunk-style'.
34428 2016-11-29  Noam Postavsky  <npostavs@gmail.com>
34430         * lisp/vc/diff-mode.el (diff-refine-hunk): Remove redundant variable.
34432 2016-11-29  Glenn Morris  <rgm@gnu.org>
34434         Use archive-mode for .cbr files
34436         * lisp/files.el (auto-mode-alist): Add cbr.  (Bug#24994)
34438 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
34440         Pacify Sun C 5.14
34442         * src/lisp.h (enum Lisp_Save_Type): Put SAVE_UNUSED,
34443         SAVED_INTEGER, SAVE_FUNCPOINTER, SAVE_POINTER, and SAVE_OBJECT
34444         into this enum rather than into an anonymous enum.  This avoids
34445         diagnostics from Sun C 5.14 and is a bit clearer anyway.
34447 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
34449         Adjust lwlib to recent config.h change
34451         * lwlib/lwlib-Xaw.c: Include <stdlib.h> for 'abort' (Bug#24506).
34453 2016-11-29  Paul Eggert  <eggert@cs.ucla.edu>
34455         * src/eval.c (clobbered_eassert): Check E's syntax.
34457 2016-11-29  Michael Albinus  <michael.albinus@gmx.de>
34459         Improve user retrieval from auth-source in Tramp
34461         * lisp/net/tramp.el (tramp-read-passwd, tramp-clear-passwd):
34462         Use user for auth-source request only in case it exists.
34464 2016-11-29  Katsumi Yamaoka  <yamaoka@jpl.org>
34466         shr.el: Don't render a normal table twice
34468         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
34469         Don't render a table if it is called for the first time,
34470         IOW, recognize it to never be invalid (bug#25051).
34472 2016-11-29  Bogdan Creanga  <bogdan.creanga@gmail.com>  (tiny change)
34474         Typo fixes in elisp manual
34476         * doc/lispref/sequences.texi: Add missing '4' in result (Bug#25047).
34477         * doc/lispref/strings.texi (Text Comparison): Avoid duplicate
34478         definitions of 'string-prefix-p' and 'string-suffix-p'.
34479         * doc/lispref/symbols.texi (Definitions): Pluralize 'definitions'.
34481 2016-11-28  Dima Kogan  <Dmitriy.Kogan@jpl.nasa.gov>
34483         Improve diff-mode navigation/manipulation
34485         This is Bug #17544.
34487         Navigation and use of diff buffers had several annoying corner cases
34488         that this patch fixes.  These corner cases were largely due to
34489         inconsistent treatment of file headers.  Say you have a diff such as
34490         this:
34492          --- aaa
34493          +++ bbb
34494          @@ -52,7 +52,7 @@
34495          hunk1
34496          @@ -74,7 +74,7 @@
34497          hunk2
34498          --- ccc
34499          +++ ddd
34500          @@ -608,6 +608,6 @@
34501          hunk3
34502          @@ -654,7 +654,7 @@
34503          hunk4
34505         The file headers here are the '---' and '+++' lines.  With the point on
34506         such a line, hunk operations would sometimes refer to the next hunk and
34507         sometimes to the previous hunk.  Most of the time it would be the
34508         previous hunk, which is not what the user would expect.  This patch
34509         consistently treats such headers as the next hunk.  So with this patch,
34510         if the point is on the '--- ccc' line, the point is seen as referring to
34511         hunk3.
34513         Specific behaviors this fixes are:
34515         1. It should be possible to place the point in the middle of a diff
34516         buffer, and press M-k repeatedly to kill hunks in the order they appear
34517         in the buffer.  With the point on hunk1, M-k M-k would kill hunk1 then
34518         hunk2.  With the point on hunk3, it would kill hunk3 then hunk4; this is
34519         fine.  However, with the point on hunk2, it'd kill hunk2 then hunk1.
34520         This is fixed by this patch.
34522         2. Similarly, it should be possible to apply hunks in order.  Previously
34523         with the point at the start, C-c C-a would apply the hunk1, then move
34524         the point to the first @@ header, and thus C-c C-a would try to apply
34525         the same hunk again.
34527         * lisp/vc/diff-mode.el (diff--wrap-navigation): New function to add better
34528         navigation logic to diff-{hunk,file}-{next,prev}.
34529         (diff-hunk-next, diff-hunk-prev):
34530         (diff-file-next, diff-file-prev): Better navigation logic if
34531         skip-hunk-start is true, which happens when called interactively.
34532         (diff-bounds-of-hunk, diff-find-source-location):
34533         (diff-apply-hunk, diff-current-defun, diff-refine-hunk): Small tweaks to
34534         improve hunk navigation.
34536 2016-11-28  Noam Postavsky  <npostavs@gmail.com>
34538         Upcase Path and ComSpec in process-environment
34540         Since 2016-07-18 "Keep w32 environment settings internal only", the
34541         upcasing of environment variables "Path" and "ComSpec" occurred after
34542         initializing process-environment.  This meant that Lisp code trying to
34543         override "PATH" environment had no effect (Bug #24956).
34545         * src/w32.c (init_environment): Upcase the "Path" and "ComSpec" entries
34546         in Vprocess_environment.
34548 2016-11-28  Philipp Stephani  <phst@google.com>
34550         Guard terminal parameter in XTerm mouse mode
34552         It has been observed (in the HTerm terminal emulator) that the
34553         event stored in the 'xterm-mouse-last-down' terminal parameter gets
34554         overwritten during a mouse drag operation, causing Emacs to attempt to
34555         synthesize the non-existing <drag-mouse-0> event.  Copy the event into
34556         the terminal parameter to protect against such modifications.
34558         * lisp/xt-mouse.el (xterm-mouse-translate-1): Guard against modification
34559         of input event list.
34561 2016-11-28  Paul Eggert  <eggert@cs.ucla.edu>
34563         Fix template for module functions
34565         Reported by Syohei YOSHIDA (Bug#24932).
34566         * modules/modhelp.py (TEMPLATES):
34567         c_func’s 2nd arg is ptrdiff_t, not int.
34569 2016-11-27  Paul Eggert  <eggert@cs.ucla.edu>
34571         Pacify gcc -Wswitch.
34573         * src/keyboard.c (kbd_buffer_store_buffered_event):
34574         Move initialization into default case.
34576 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
34578         Reuse already existing lisp symbols for ignore_event (bug#19547).
34580         * lisp/subr.el (while-no-input-ignore-events): Use them instead.
34581         * src/keyboard.c (kbd_buffer_store_buffered_event):
34582         Use help-echo for HELP_EVENT, iconify-frame for ICONIFY_EVENT,
34583         and make-frame-visible for DEICONIFY_EVENT.
34584         (syms_of_keyboard): Remove unneeded symbols.
34586 2016-11-27  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
34588         Allow configuring which event throw-on-input should ignore (bug#19547).
34590         * src/keyboard.c (kbd_buffer_store_buffered_event):
34591         Translate event to corresponding symbol from `while-no-input-ignore-events`
34592         and check them with Fmemq.
34593         (syms_of_keyboard): Declare new lisp variable `while-no-input-ignore-events`
34594         and its symbols.
34596         * lisp/subr.el (while-no-input-ignore-events): Add default values.
34598         * doc/lispref/commands.texi (Event Input Misc):
34599         Document while-no-input-ignore-events.
34600         * etc/NEWS: Same.
34602 2016-11-26  Tino Calancha  <tino.calancha@gmail.com>
34604         ash, lsh avoid code duplication
34606         See discussion in:
34607         https://lists.gnu.org/r/emacs-devel/2016-11/msg00469.html
34608         * src/data.c (ash_lsh_impl): New function.
34609         (ash, lsh): Use it.
34611 2016-11-26  Simen Heggestøyl  <simenheg@gmail.com>
34613         Add will change module to CSS property list
34615         * lisp/textmodes/css-mode.el (css-property-alist)
34616         (css-value-class-alist): Add new property and value class from CSS
34617         Will Change Module.
34619 2016-11-26  Paul Eggert  <eggert@cs.ucla.edu>
34621         Don't access pointers to freed storage in regex.c
34623         Remove __BOUNDED_POINTERS__ code, which does not work with
34624         -fcheck-pointer-bound and which has undefined behavior anyway.
34625         Problem found when trying to port to gcc -fcheck-pointer-bounds.
34626         (This code was removed from glibc and gnulib regex.c many years ago.)
34627         * src/regex.c (ELSE_EXTEND_BUFFER_HIGH_BOUND): Remove.
34628         (EXTEND_BUFFER): Use a more-portable approach that avoids
34629         undefined behavior due to inspecting pointers to freed storage.
34631 2016-11-25  Paul Eggert  <eggert@cs.ucla.edu>
34633         Port build to gcc -fcheck-pointer-bounds
34635         This does not let Emacs run, just build.
34636         * lib-src/etags.c (main):
34637         * lib-src/profile.c (main):
34638         Use return, not exit.
34639         * src/bytecode.c (BYTE_CODE_THREADED) [__CHKP__]:
34640         Do not define, as -fcheck-pointer-bounds is incompatible with taking
34641         addresses of labels.
34642         * src/menu.c (Fx_popup_dialog): Use eassume, not eassert,
34643         to pacify gcc -fcheck-pointer-bounds -Wnull-dereference.
34645 2016-11-25  Tino Calancha  <tino.calancha@gmail.com>
34647         * lisp/emacs-lisp/subr-x.el (hash-table-keys, hash-table-values): Use cl-loop.
34649 2016-11-25  Simen Heggestøyl  <simenheg@gmail.com>
34651         * lisp/rot13.el: Use lexical-binding
34653 2016-11-25  Mark Oteiza  <mvoteiza@udel.edu>
34655         Add "using" to cl-loop debug spec (Bug#24750)
34657         * lisp/emacs-lisp/cl-macs.el (cl-loop): Add element to account for
34658         "using" hash table clause.
34660 2016-11-25  Hong Xu  <hong@topbug.net>  (tiny change)
34662         Allow user control of progress messages in cpp.el
34664         * lisp/progmodes/cpp.el (cpp-message-min-time-interval): New defcustom.
34665         (cpp-progress-time): Use 'cpp-message-min-time-interval'.  Improve
34666         the doc string.
34667         (cpp-highlight-buffer): Use 'cpp-progress-message' instead of
34668         'message' to print messages.  (Bug#24861)
34670 2016-11-25  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
34672         New input method 'polish-prefix'
34674         * lisp/leim/quail/latin-pre.el ("polish-prefix"): New input
34675         method.  (Bug#24967)
34677         * etc/NEWS: Mention the new input method.
34679 2016-11-25  Damien Cassou  <damien@cassou.me>
34681         * lisp/isearch.el: Add 'provide'.  (Bug#25026)
34683 2016-11-25  Philippe Vaucher  <philippe.vaucher@gmail.com>
34685         Add missing 'provide's in preloaded packages
34687         * lisp/composite.el:
34688         * lisp/replace.el:
34689         * lisp/textmodes/text-mode.el: Add provide statement.  (Bug#24985)
34691 2016-11-24  Alan Mackenzie  <acm@muc.de>
34693         Handle correctly an (undocumented) bare mode in hack-local-variables.
34695         lisp/files.el (hack-local-variables-prop-line): When a file's first line
34696         contains only a mode specification without the string "mode:", return the mode
34697         symbol only when `handle-mode' is t.
34699 2016-11-23  Dima Kogan  <dima@secretsauce.net>
34701         Clarify ediff-directories prompt
34703         * lisp/vc/ediff-mult.el (ediff-filegroup-action):
34704         * lisp/vc/ediff.el (ediff-directories,ediff-directory-revisions,
34705         ediff-directories3, ediff-merge-directories,
34706         ediff-merge-directories-with-ancestor, ediff-merge-directory-revisions,
34707         ediff-merge-directory-revisions-with-ancestor): Clarify prompt message for
34708         filename filter in interactive ediff. The new message makes it clear what is
34709         being filtered
34711 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
34713         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug24997): Add test for Bug#24997.
34715 2016-11-23  Ulf Jasper  <ulf.jasper@web.de>
34717         Fix Bug#24199.
34719         * lisp/calendar/icalendar.el (icalendar--do-create-ical-alarm): Quote
34720           bracket in doc string (make checkdoc happy).
34721           (icalendar-import-buffer),
34722           (icalendar-import-buffer),
34723           (icalendar--convert-ical-to-diary),
34724           (icalendar--add-diary-entry): Rename argument diary-file to
34725           diary-filename (make checkdoc happy).
34726           (icalendar--convert-recurring-to-diary): Take care of byday-clause
34727           in monthly recurring events.  Actually fix Bug#24199.
34729         * test/lisp/calendar/icalendar-tests.el (icalendar-import-bug-24199): New.
34731 2016-11-23  Tino Calancha  <tino.calancha@gmail.com>
34733         * test/lisp/ibuffer-tests.el (ibuffer-test-Bug25000): Add test for Bug25000.
34735 2016-11-22  Philipp Stephani  <phst@google.com>
34737         Comint: new user option for C-c M-r and C-c M-s
34739         This option allows the user to specify where to place point after these
34740         commands.
34742         * lisp/comint.el (comint-move-point-for-matching-input): New user option.
34743         (comint-previous-matching-input-from-input): Use user option.
34745 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
34747         Add tramp-eshell-directory-change to eshell-first-time-mode-hook
34749         * lisp/net/tramp.el (tramp-eshell-directory-change): Add it also to
34750         `eshell-first-time-mode-hook'.
34752 2016-11-22  Michael Albinus  <michael.albinus@gmx.de>
34754         Dump also connection local variables in Tramp bug reports
34756         * lisp/net/tramp-cmds.el (tramp-bug, tramp-append-tramp-buffers):
34757         Dump also connection local variables.
34759 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
34761         Make sure elided long buffer names have ellipses added (Bug#24972)
34763         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form): Restore the
34764         string concat, and chop "strvar" less the width of the ellipsis.
34765         (ibuffer-compile-make-substring-form): Add space as padding, to fix
34766         off-by-one in alignment.
34768 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
34770         Buffer-menu-no-header: Detect a fake header
34772         * lisp/buff-menu.el (Buffer-menu-no-header): Use
34773         'tabulated-list-header-overlay-p' (Bug#24855).
34775 2016-11-21  Tino Calancha  <tino.calancha@gmail.com>
34777         buff-menu: Add command to unmark all buffers
34779         Bind 'U' in buff-menu, bs and electric-buff-menu to commands
34780         to unmark all buffers (Bug#24880).
34781         * lisp/emacs-lisp/tabulated-list.el (tabulated-list-header-overlay-p):
34782         New predicate; return non-nil if tabulated-list has a fake header.
34783         * lisp/buff-menu.el (Buffer-menu-unmark-all-buffers):
34784         New command; remove all flags that use a particular mark from all the lines.
34785         Bind it to 'M-DEL'.
34786         (Buffer-menu-unmark-all):
34787         New command; remove all flags from all the lines.  Bind it to 'U'.
34788         (Buffer-menu-marker-char, Buffer-menu-del-char): New variables.
34789         (Buffer-menu-delete, Buffer-menu-mark): Use them.
34790         (Buffer-menu-mode-map): Update menus.
34791         (Buffer-menu-mode): Update mode doc.
34792         * lisp/bs.el (bs-unmark-all, bs-unmark-previous): New commands.
34793         (bs-mode-map): Bind them to 'U' and '<backspace>' respectively.
34794         (bs-mode): Update mode doc.
34795         * lisp/ebuff-menu.el (electric-buffer-menu-mode-map):
34796         Bind Buffer-menu-unmark-all to 'U' and Buffer-menu-unmark-all-buffers
34797         to 'M-DEL'.
34798         (bs--down, bs-down, bs--up, bs-up, bs-unmark-current, bs-mark-current):
34799         Use point instead of cursor in doc string.
34800         (electric-buffer-list): Update mode doc.
34801         * doc/emacs/buffers.texi (Several Buffers): Mention Buffer-menu-unmark-all
34802         and Buffer-menu-unmark-all-buffers.
34804 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
34806         Revert "* lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure."
34808         This reverts commit 10efaf718c5258af0ba62077cf4e2aaf9fb90227.
34810 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
34812         Port htmlfontify to cl-lib
34814         * lisp/htmlfontify.el: (hfy-box-to-border-assoc, hfy-box-to-style):
34815         (hfy-decor, hfy-face-to-style-i, hfy-face-at, hfy-merge-adjacent-spans):
34816         (hfy-fontify-buffer, htmlfontify-string, hfy-mark-tag-names): Replace
34817         instances of cl aliases with their cl-lib counterparts.
34819 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
34821         * lisp/htmlfontify.el (hfy-force-fontification): Use font-lock-ensure.
34823 2016-11-21  Paul Eggert  <eggert@cs.ucla.edu>
34825         Fix another CANNOT_DUMP problem
34827         Reported by Robert Pluim in:
34828         https://lists.gnu.org/r/emacs-devel/2016-11/msg00468.html
34829         * src/emacs.c (might_dump) [CANNOT_DUMP]: Move enum decl from here ...
34830         * src/lisp.h: ... to here.
34832 2016-11-21  Mark Oteiza  <mvoteiza@udel.edu>
34834         Add further consideration to string-width (Bug#24972)
34836         * lisp/ibuffer.el (ibuffer-compile-make-eliding-form):
34837         (ibuffer-compile-make-substring-form): Use truncate-string-to-width.
34839 2016-11-21  Katsumi Yamaoka  <yamaoka@jpl.org>
34841         Don't collect strings existing out of <tr>...</tr>
34843         * lisp/net/shr.el (shr-collect-extra-strings-in-table):
34844         Don't collect strings existing out of <tr>...</tr> to avoid
34845         duplication with what `shr-tag-table' renders.
34847 2016-11-20  Katsumi Yamaoka  <yamaoka@jpl.org>
34849         * lisp/gnus/gnus-mh.el (gnus-summary-save-in-folder): Slightly change
34850         the last commit.
34852 2016-11-20  Mike Kupfer  <m.kupfer@acm.org>
34854         Add a variable to pass additional options to rcvstore
34856         * lisp/gnus/gnus-mh.el (gnus-rcvstore-options): New variable.
34857         (gnus-summary-save-in-folder): Include gnus-rcvstore-options in
34858         the arguments that are passed to rcvstore.
34860         cf. <nntp://news.gmane.org/gmane.emacs.gnus.general/87263>
34861         and followups, i.e., ding mailing list.
34863 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
34865         Fix undefined refs on some GNU/Linux hosts
34867         Problem reported by Ken Raeburn in:
34868         https://lists.gnu.org/r/emacs-devel/2016-11/msg00463.html
34869         * src/emacs.c (heap_bss_diff) [CANNOT_DUMP]: Remove, as this is
34870         not needed in the CANNOT_UNDUMP case.  All uses removed.  This
34871         removes unwanted references to my_endbss and my_endbss_static,
34872         which are not optimized away on some platforms.
34874 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
34876         Make CANNOT_DUMP work better on GNU/Linux
34878         Clean up some of the bitrot affecting the CANNOT_DUMP code.  This
34879         lets the build succeed again, and fixes the testing framework so
34880         that most test cases now pass.  About twenty test cases still
34881         fail, though, and we still have Bug#24974.
34882         * configure.ac (CANNOT_DUMP): Now empty if CANNOT_DUMP.
34883         (SYSTEM_MALLOC): Now true if CANNOT_DUMP.  There should no longer
34884         be any point to messing with a private memory allocator unless
34885         Emacs is dumping.
34886         * src/alloc.c (alloc_unexec_pre, alloc_unexec_post, check_pure_size):
34887         * src/image.c (reset_image_types):
34888         * src/lastfile.c (my_endbss, _my_endbss, my_endbss_static):
34889         Do not define if CANNOT_DUMP.
34890         * src/emacs.c (might_dump) [CANNOT_DUMP]: Now always false and local.
34891         (daemon_pipe) [!WINDOWSNT]: Now static.
34892         * test/Makefile.in (mostlyclean): Remove *.tmp files.
34893         (make-test-deps.mk): Elide CANNOT_DUMP chatter.
34895 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
34897         * src/xdisp.c (block_buffer_flips, unblock_buffer_flips): Now static.
34899 2016-11-20  Paul Eggert  <eggert@cs.ucla.edu>
34901         Pacify --enable-gcc-warnings CANNOT_DUMP=yes
34903         * src/editfns.c (dump_tz_string) [CANNOT_DUMP || !HAVE_TZSET]:
34904         Do not define.  If defining, do it in a smaller scope.
34906 2016-11-20  Mark Oteiza  <mvoteiza@udel.edu>
34908         * lisp/ibuffer.el (ibuffer-compile-format): Use string-width instead of length
34910 2016-11-20  Eli Zaretskii  <eliz@gnu.org>
34912         Fix redrawing non-selected frame after resize on MS-Windows
34914         * src/xdisp.c (redisplay_internal): If all the frames were
34915         successfully updated, reset the "garbaged" flag of each frame, to
34916         make sure it doesn't stay set.
34918         * src/w32term.c (w32_read_socket): Don't clear the frame if it's
34919         "garbaged", since expose_frame won't redraw the foreground then.
34920         (Bug#24642)
34922 2016-11-20  Michael Albinus  <michael.albinus@gmx.de>
34924         Add file-local-name
34926         * doc/lispref/files.texi (Magic File Names): Add `file-local-name'.
34927         (Unique File Names): Use it.
34929         * etc/NEWS: Mention `file-local-name'.
34931         * lisp/files.el (file-local-name): New defun.
34932         (file-expand-wildcards):
34933         * lisp/eshell/em-tramp.el (eshell/su, eshell/sudo):
34934         * lisp/eshell/esh-ext.el (eshell-remote-command):
34935         * lisp/eshell/esh-proc.el (eshell-gather-process-output):
34936         * lisp/org/ob-core.el (org-babel-local-file-name):
34937         * lisp/progmodes/gud.el (gud-common-init, gud-format-command):
34938         * lisp/progmodes/python.el (python-shell-send-file):
34939         * lisp/shell.el (shell):
34940         * lisp/vc/ediff-diff.el (ediff-same-file-contents):
34941         * lisp/vc/vc-git.el (vc-git-checkin): Use it.
34943 2016-11-20  Tino Calancha  <tino.calancha@gmail.com>
34945         * lisp/ibuffer.el (ibuffer-formats): Mention locked column in doc string.
34947 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
34949         * src/editfns.c (format-time-string): Mention %q in doc string.
34951 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
34953         Document format-time-string %q
34955         * doc/lispref/os.texi (Time Parsing):
34956         * etc/NEWS: Document new %q functionality taken from gnulib.
34958 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
34960         Merge from gnulib
34962         This incorporates:
34963         2016-11-15 sys_time: add gnulib::timeval for C++
34964         2016-11-14 snippet/c++defs: fix real-floating arg functions in C++ mode
34965         2016-11-13 strftime: don't use __THROW
34966         2016-11-12 strftime: tune %q
34967         2016-11-12 Merge strftime.c changes from glibc
34968         2016-11-09 manywarnings: fix -Wno-missing-field-initializers detection
34969         2016-11-05 strftime,strptime: support %q to represent the quarter
34971         The glibc changes in turn incorporate the following strftime.c changes:
34972         2015-10-20 Convert misc function definitions to prototype style
34973         2015-09-26 [BZ #18985] out of range data to strftime() causes segfault
34974         2010-01-09 Add support for XPG7 testing
34975         2009-10-30 Implement Burmese language locale for Myanmar
34976         2008-06-13 [BZ #6612] pass reference to tzset_called around
34977         2007-10-16 [BZ #5184] Add tzset_called argument
34979         * build-aux/snippet/c++defs.h, lib/strftime.c, lib/sys_time.in.h:
34980         * m4/manywarnings.m4: Copy from gnulib.
34982 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
34984         Merge from origin/emacs-25
34986         07f45d7 ; Spelling fix
34987         1a210f0 * admin/release-process: Update versions and blocking bug num...
34988         36bafc9 Improve documentation of functions that accept time values
34990         # Conflicts:
34991         #       admin/release-process
34992         #       src/editfns.c
34994 2016-11-19  Paul Eggert  <eggert@cs.ucla.edu>
34996         Merge from origin/emacs-25
34998         4af5981 Add a comment in generated refcards about the source
34999         ef880a5 ; * etc/refcards/calccard.tex: Remove obsolete comment.
35000         4887e7c js-mode: Fix indent problem after a regexp
35001         e992ac0 Fix sluggish display of symbols in UTF-8 language environment
35002         1fc101b Don't confuse how Texinfo outputs @var with the input
35003         91aa5d1 * doc/lispref/display.texi (Scroll Bars): * doc/lispref/frame...
35004         f758fcd * doc/emacs/cmdargs.texi (Initial Options): Copyedit for --da...
35005         5b0cddd More fixes in copyright notices in etc/refcards/
35006         f994c20 Update copyright text in refcards
35007         9ad2ae7 Fix Outline command names
35008         26c3554 Send text received by bracketed paste to process
35009         db0b58d Correct the statement about programming modes always running ...
35010         78aece4 Improve documentation of 'occur'
35011         eb364fd Do call debugger on failed cl-assert
35012         3ef4ee8 Avoid infloop in python
35013         8da810f Don't refer to obsolete FEATURE-unload-hook
35014         4f478ca Improve documentation of dabbrevs
35015         7272e5d * lisp/chistory.el (list-command-history): Doc fix.  (Bug#24890)
35016         89b7482 * lisp/simple.el (set-mark-command): Doc fix.  (Bug#24890)
35017         3b199f7 Improve documentation of some Help commands
35018         93d3a0e Fix documentation of yes-or-no prompts
35019         af04919 Fix documentation of partial completion style
35020         ed80184 Fix documentation of the mode line on emacsclient frames
35021         e6be855 Fix description of 'C-z' in User manual
35022         16f7007 Improve and clarify documentation of Outline Mode
35023         31d93aa Add Emacs version number to nt/README.W32
35024         0b6b815 Fix python-mode hideshow regexp
35025         dc152c5 Modernize usage of 'macOS' in doc and comments
35026         84c5343 Prefer comments /* like this */ in C code
35027         bb61e50 * doc/lispref/loading.texi (Autoload): Better link (Bug#24845).
35028         3ef86fd Clarify documentation of face attribute functions
35029         de51d59 ; * nt/README.W32: Minor copyedits.
35030         db436e9 Don't call debug on failed cl-assert
35032         # Conflicts:
35033         #       doc/emacs/cmdargs.texi
35034         #       etc/NEWS
35035         #       etc/PROBLEMS
35036         #       lisp/auth-source.el
35037         #       lisp/net/tramp-sh.el
35039 2016-11-19  Mark Oteiza  <mvoteiza@udel.edu>
35041         Port RefTeX to cl-lib
35043         * lisp/textmodes/reftex-auc.el:
35044         * lisp/textmodes/reftex-cite.el: Use cl-lib.
35045         (reftex-do-citation, reftex-create-bibtex-file): Substitute cl-lib
35046         macros.
35047         * lisp/textmodes/reftex-dcr.el: Use cl-lib.
35048         (reftex-view-regexp-match): Substitute cl-lib macro.
35049         * lisp/textmodes/reftex-global.el: Use cl-lib.
35050         (reftex-find-duplicate-labels, reftex-renumber-simple-labels):
35051         (reftex-translate): Substitute cl-lib macros.
35052         * lisp/textmodes/reftex-index.el: Use cl-lib.
35053         (reftex-index, reftex-index-select-tag, reftex-index-mode-map):
35054         (reftex-index-next-phrase, reftex-index-phrases-info):
35055         (reftex-query-index-phrase): Substitute cl-lib macros.
35056         * lisp/textmodes/reftex-parse.el: Use cl-lib.
35057         (reftex-parse-from-file, reftex-where-am-I, reftex-what-macro):
35058         (reftex-nth-arg, reftex-init-section-numbers, reftex-section-number):
35059         Substitute cl-lib macros.
35060         * lisp/textmodes/reftex-ref.el: Use cl-lib.
35061         (reftex-uniquify-label, reftex-offer-label-menu): Substitute cl-lib
35062         macros.
35063         * lisp/textmodes/reftex-sel.el: Use cl-lib.
35064         (reftex-select-shared-map): Set keymap parent to special-mode-map.
35065         Flatten loop and remove digits and hyphen definitions from the map.
35066         (reftex-select-label-mode-map):
35067         (reftex-select-bib-mode-map): Use cl-lib macro, and flatten other loop.
35068         (reftex-insert-docstruct, reftex-select-unmark): Use cl-lib macros.
35069         * lisp/textmodes/reftex-vars.el (reftex-vref-is-default): Use
35070         cl-pushnew.
35071         * lisp/textmodes/reftex.el: Use cl-lib.
35072         (reftex-docstruct-symbol): Use cl-incf.
35073         (reftex-ref-style-toggle): Replace add-to-list with append.
35074         (reftex-compile-variables): Use cl-lib macros, and functions with
35075         compiler macros. cl-first is just an alias.
35076         (reftex-parse-args, reftex-scanning-info-available-p):
35077         (reftex-select-external-document, reftex-get-file-buffer-force): Use
35078         cl-lib macros.
35079         (reftex-isearch-minor-mode): Replace add-to-list with append.
35081 2016-11-19  Tino Calancha  <tino.calancha@gmail.com>
35083         ibuffer-exchange-filters: Simplify code
35085         * lisp/ibuf-ext.el (ibuffer-exchange-filters): Use cl-rotatef.
35087 2016-11-19  Eli Zaretskii  <eliz@gnu.org>
35089         Implement getrlimit and setrlimit for MS-Windows
35091         * src/w32heap.c (getrlimit, setrlimit): New functions.
35092         Include w32.h.
35093         * src/emacs.c (main): Use 'rlim_t', not 'long', for values that
35094         should be compatible with 'struct rlimit' members.
35096         * nt/inc/sys/resource.h: New header file.
35098         * nt/mingw-cfg.site (ac_cv_func_getrlimit, ac_cv_func_setrlimit):
35099         Set to "yes".
35101 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
35103         Move key mappings into reftex-mode-map defvar
35105         * lisp/textmodes/reftex.el (reftex-mode-map): Assimilate top-level
35106         key mappings.
35107         (reftex-reset-mode): Just use dolist.
35109 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
35111         Derive reftex-index-mode from special-mode
35113         * lisp/textmodes/reftex-index.el (reftex-index-mode-map): Flatten
35114         loop.  Remove digit keys and hyphen, as reftex-index-mode is derived
35115         from special-mode now.
35116         (reftex-index-mode): Derive from special-mode.
35117         (reftex-index-phrases-mode-map): Flatten loop. Fix erroneous docstring.
35119 2016-11-18  Mark Oteiza  <mvoteiza@udel.edu>
35121         Clean up reftex-toc-mode-map
35123         * lisp/textmodes/reftex-toc.el: Remove cl.
35124         (reftex-toc-mode-map): Flatten loop.  Remove mapping digit keys and
35125         hyphen, as reftex-toc-mode is derived from special-mode nowadays.
35127 2016-11-18  Philipp Stephani  <phst@google.com>
35129         Prevent dubious argument lists
35131         See Bug#24912 and Bug#24913.
35133         * src/eval.c (funcall_lambda): Detect more dubious argument lists.
35134         * lisp/emacs-lisp/bytecomp.el (byte-compile-check-lambda-list): Detect
35135         more dubious argument lists.
35136         * test/src/eval-tests.el (eval-tests--bugs-24912-and-24913): Add unit
35137         test.
35139 2016-11-18  Tino Calancha  <tino.calancha@gmail.com>
35141         Add test suite for buff-menu.el
35143         * test/lisp/buff-menu-tests.el: New file.
35144         (buff-menu-24962): Add test for Bug#24962.
35146 2016-11-18  Wojciech Gac  <wojciech.s.gac@gmail.com>  (tiny change)
35148         Add cyrillic-tuvan input method
35150         * lisp/leim/quail/cyrillic.el ("cyrillic-tuvan"): New input
35151         method.  (Bug#24942)
35153         * etc/NEWS: Mention addition of 'cyrillic-tuvan' input method.
35155 2016-11-18  Alexander Gramiak  <agrambot@gmail.com>
35157         Extend 'indent-relative' when its arg is non-nil
35159         * lisp/indent.el (indent-relative-maybe): New obsolete alias.
35160         (indent-relative-first-indent-point): Renamed from
35161         'indent-relative-maybe'.
35162         (indent-relative): Now accepts an additional optional argument.
35163         The first argument was renamed to FIRST-ONLY.  Doc fix.  Support
35164         the additional arg.  (Bug#24766)
35166 2016-11-17  Dmitry Gutov  <dgutov@yandex.ru>
35168         Add example for bug#24854
35170         * test/manual/indent/js.js: Add example for bug#24854.
35172 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
35174         Port registry.el the rest of the way to cl-lib
35176         This file already is using cl-lib functions at runtime; eieio ultimately
35177         loads cl-lib, which explains why doing so wasn't an issue.
35178         * lisp/registry.el: Require cl-lib.
35179         (registry-db, registry--match, registry-search, registry-delete):
35180         (registry-insert, registry-reindex): Replace cl macros with cl-lib ones.
35181         (registry-collect-prune-candidates): Replace cl function with cl-lib one.
35183 2016-11-17  Mark Oteiza  <mvoteiza@udel.edu>
35185         Fix arglist in python.el (Bug#24762)
35187         * lisp/progmodes/python.el: Remove unneeded second args.
35188         (python-define-auxiliary-skeleton): DOC arg should be &optional.
35190 2016-11-17  Simen Heggestøyl  <simenheg@gmail.com>
35192         Add tests for rot13.el
35194         * lisp/rot13.el (rot13): Docstring correction.
35196         * test/lisp/rot13-tests.el: New file with tests for rot13.el.
35198 2016-11-17  Michael Albinus  <michael.albinus@gmx.de>
35200         Fix Bug#24947 (Tramp + ido)
35202         * lisp/ido.el (ido-read-internal): Prevent eager Tramp connection.
35204         * lisp/net/tramp.el (tramp-handle-file-name-case-insensitive-p):
35205         Run remote tests only if a connection is established only.  (Bug#24947)
35207 2016-11-16  Ken Brown  <kbrown@cornell.edu>
35209         Unbreak the build on Darwin (Bug#24957)
35211         * src/fileio.c (file_name_case_insensitive_p) [DARWIN_OS]: Fix
35212         mistakes in recent commit.
35214 2016-11-16  Nicolas Petton  <nicolas@petton.fr>
35216         Do not use map.el in seq-tests.el
35218         * test/lisp/emacs-lisp/seq-tests.el: Do not use map.el.  map.el was
35219         introduced in Emacs 25.1, but seq.el is also available in GNU ELPA for
35220         Emacs 24.5.
35222 2016-11-16  Tino Calancha  <tino.calancha@gmail.com>
35224         Update parameter :version to 26.1 in several defcustom
35226         Following defcustom where added or modified for 25.2 release.
35227         In fact all these changes belong to 26.1 release.
35228         * lisp/battery.el (battery-linux-sysfs-regexp)
35229         * lisp/comint.el (comint-password-prompt-regexp)
35230         * lisp/dired.el (dired-always-read-filesystem)
35231         * lisp/image.el (image-scaling-factor)
35232         * lisp/ibuf-ext.el (ibuffer-never-search-content-name)
35233         (ibuffer-never-search-content-mode)
35234         * lisp/mouse.el (mouse-select-region-move-to-beginning)
35235         * lisp/net/net-utils.el (iwconfig-program, iwconfig-program-options)
35236         (netstat-program, route-program, route-program-options)
35237         * lisp/net/sieve-manage.el (sieve-manage-default-stream)
35238         * lisp/progmodes/grep.el (grep-save-buffers)
35239         * lisp/vc/add-log.el (change-log-directory-files)
35240         * lisp/url/url-vars.el (url-user-agent)
35241         * lisp/vc/vc-hg.el (vc-hg-symbolic-revision-styles)
35242         (vc-hg-use-file-version-for-mode-line-version)
35243         (vc-hg-parse-hg-data-structures)
35244         * lisp/wdired.el (wdired-create-parent-directories)
35245         * lisp/faces.el (homoglyph, nobreak-hyphen, read-multiple-choice-face)
35246         * lisp/gnus/gnus-art.el (gnus-article-encrypt-protocol)
35247         (gnus-button-url-regexp)
35248         * lisp/window.el (switch-to-buffer-preserve-window-point)
35249         * lisp/ibuffer.el (ibuffer-formats, ibuffer-locked-char)
35250         (ibuffer-locked-buffer)
35251         * lisp/textmodes/flyspell.el (flyspell-sort-corrections-function)
35252         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break)
35253         * lisp/gnus/message.el (message-user-fqdn)
35254         * lisp/simple.el (shell-command-dont-erase-buffer)
35255         (extended-command-suggest-shorter)
35256         * lisp/net/shr.el (shr-use-fonts)
35257         * lisp/files.el (mounted-file-systems, kill-emacs-query-functions)
35259 2016-11-15  Glenn Morris  <rgm@gnu.org>
35261         Add --new-daemon, which runs in the foreground and does not fork
35263         This is intended for modern init systems such as systemd,
35264         which manage many of the traditional aspects of daemon behavior
35265         themselves.  (Bug#2677)
35266         * src/emacs.c (daemon_type): New integer.
35267         (usage, standard_args): Add --old-daemon and --new-daemon.
35268         (main): Handle --old-daemon and --new-daemon arguments.
35269         Restrict all the forking and complicated daemon stuff to old-daemon.
35270         (Fdaemon_initialized): Handle new-style daemon.
35271         * src/lisp.h (IS_DAEMON, DAEMON_RUNNING) [!WINDOWNT]:
35272         Replace daemon_pipe with daemon_type.
35273         * doc/emacs/cmdargs.texi (Initial Options):
35274         * doc/emacs/glossary.texi (Glossary):
35275         * doc/emacs/misc.texi (Emacs Server):
35276         * doc/lispref/display.texi (Window Systems):
35277         * doc/lispref/os.texi (Startup Summary): Related doc updates.
35278         * etc/NEWS: Mention this.
35279         * etc/emacs.service: Use Type=simple and --new-daemon.
35281 2016-11-15  Glenn Morris  <rgm@gnu.org>
35283         * src/emacs.c (usage_message): Mention named daemon.  (Bug#24949)
35284         * doc/man/emacs.1.in: Likewise.
35286 2016-11-15  Ken Brown  <kbrown@cornell.edu>
35288         Simplify case-insensitivity checks on Mac OS X
35290         * src/fileio.c (file_name_case_insensitive_p): Try skipping the
35291         Darwin code and instead using pathconf with _PC_CASE_SENSITIVE.
35292         Leave in two alternatives conditionally compiled based on
35293         DARWIN_OS_CASE_SENSITIVE_FIXME in case pathconf doesn't work.
35295         * etc/PROBLEMS: Mention the possible problem with pathconf on
35296         Mac OS X.
35298 2016-11-15  Glenn Morris  <rgm@gnu.org>
35300         * src/emacs.c (sort_args): Warn about multiple matches.
35302 2016-11-15  Michael Albinus  <michael.albinus@gmx.de>
35304         Implement file name handler for `file-name-case-insensitive-p'
35306         * doc/lispref/files.texi (Truenames): `file-name-case-insensitive-p'
35307         is also applicable for remote hosts.
35309         * lisp/net/tramp.el (tramp-methods): Improve docstring.
35310         (tramp-file-name-for-operation): Add `file-name-case-insensitive-p'.
35311         (tramp-handle-file-name-case-insensitive-p): New defun.
35313         * lisp/net/tramp-smb.el (tramp-methods) <smb>:
35314         Add `tramp-case-insensitive' entry.
35316         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist)
35317         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
35318         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist)
35319         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
35320         <file-name-case-insensitive-p>: Add handler.  (Bug#22300, Bug#24441)
35322 2016-11-15  Mark Oteiza  <mvoteiza@udel.edu>
35324         Nix more uses of default-FOO variables (Bug#24946)
35326         * lisp/cedet/semantic/util-modes.el (semantic-stickyfunc-mode):
35327         Check for header-line-format instead.
35328         * lisp/emulation/viper.el (viper-load-custom-file): Reference
35329         major-mode instead.
35330         * lisp/mail/feedmail.el (feedmail-fill-to-cc-fill-column): Use
35331         fill-column instead.
35333 2016-11-15  Simen Heggestøyl  <simenheg@gmail.com>
35335         Complete the name of PostgreSQL databases
35337         * lisp/progmodes/sql.el (sql-postgres-login-params): Complete database
35338         name.
35339         (sql-postgres-list-databases): New function returning a list of
35340         available PostgreSQL databases.
35342         * test/lisp/progmodes/sql-tests.el: New file with tests for sql.el.
35344 2016-11-14  Sam Steingold  <sds@gnu.org>
35346         add `vc-git-print-log-follow' and use it in `vc-git-print-log'
35348         When `vc-git-print-log-follow' is true and all files are
35349         non-directory, pass "--follow" to "git log".
35350         This works around bug#8756 and bug#16422.
35352 2016-11-14  Sam Steingold  <sds@gnu.org>
35354         `toggle-truncate-lines' obsoletes `gnus-summary-toggle-truncation'
35356         vc-git-print-log: pass "--follow" to "log" to handle renamed files
35358 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
35360         Revert "Improve case-insensitive checks (Bug#24441)"
35362         This reverts commit 2f5e0b1bf7b0ac4f450847db34d599a072020600.
35363         I see no reason for removing code, documentation, and comments
35364         in the original commit.
35366 2016-11-14  Wilson Snyder  <wsnyder@wsnyder.org>
35368         Update verilog-mode.el
35370         * lisp/progmodes/verilog-mode.el (verilog-read-decls)
35371         (verilog-calc-1): Fix "default clocking" indentation and
35372         preventing AUTOs from working, bug1084.  Reported by Alan Morgan.
35373         (verilog-diff-report): Fix `verilog-diff-report'
35374         not returning bad status on differences, bug1087.  Reported by
35375         Eric Jackowski.
35376         (verilog-auto-inst-param-value)
35377         (verilog-auto-inst-param-value-type, verilog-read-sub-decls)
35378         (verilog-read-sub-decls-expr, verilog-read-sub-decls-gate)
35379         (verilog-read-sub-decls-line, verilog-read-sub-decls-sig)
35380         (verilog-read-sub-decls-type): When
35381         `verilog-auto-inst-param-value-type' is set, which is now the
35382         default, AUTOINPUT etc will now substitute parameter types from
35383         submodules, bug1061.  Reported by Brad Dobbie.
35384         (verilog-auto-reset, verilog-backward-case-item)
35385         (verilog-extended-case-re, verilog-read-always-signals-recurse):
35386         Fix indentation of randcase, bug1072. Reported by David Rogoff.
35387         (verilog-read-sub-decls-expr)
35388         (verilog-sig-multidim-string): Fix AUTOINST ordering of dimensions
35389         in generated comments, bug1057. Reported by Kaushal Modi.
35390         (verilog-auto-wire-comment, verilog-insert-definition):
35391         Add `verilog-auto-wire-comment' to suppress wire comments. Reported by
35392         Eric Jackowski.
35393         (verilog-extended-complete-re): Fix indentation
35394         of class static functions, bug1053. Reported by Gregory
35395         Czajkowski.
35396         (verilog-module-filenames): Support tramp for
35397         finding verilog modules. Reported by Nevada Sanchez.
35399 2016-11-14  Paul Eggert  <eggert@cs.ucla.edu>
35401         Improve case-insensitive checks (Bug#24441)
35403         * doc/lispref/files.texi (Truenames): Simplify documentation,
35404         to avoid giving too much platform-specific information that
35405         may not be accurate anyway.
35406         * src/fileio.c (file_name_case_insensitive_p): Use pathconf with
35407         _PC_CASE_SENSITIVE if _PC_CASE_INSENSITIVE is not available.
35408         Otherwise if one approach fails (e.g., with errno == EINVAL), fall
35409         back on an alternative rather than returning false.  Try skipping
35410         the Darwin code, as it (1) no longer seems to be needed and (2)
35411         does not seem to match the Apple documentation.  Leave in two
35412         alternatives conditionally compiled based on
35413         DARWIN_OS_CASE_SENSITIVE_FIXME in case (1) or (2) is incorrect.
35415 2016-11-14  Eli Zaretskii  <eliz@gnu.org>
35417         Fix documentation changes of connection-local variables
35419         * etc/NEWS: Fix last change.
35420         * doc/lispref/variables.texi (Connection Local Variables): Minor fixes.
35421         * doc/lispref/elisp.texi (Top): Update the master menu.
35423 2016-11-14  Michael Albinus  <michael.albinus@gmx.de>
35425         Implement connection-local variables
35427         * doc/lispref/variables.texi (Connection Local Variables): New section.
35429         * etc/NEWS: Mention connection-local variables.
35431         * lisp/files-x.el (enable-connection-local-variables)
35432         (connection-local-variables-alist, connection-local-class-alist)
35433         (connection-local-criteria-alist): New defvars.
35434         (connection-local-get-classes)
35435         (connection-local-get-class-variables): New defsubst.
35436         (connection-local-set-classes)
35437         (connection-local-set-class-variables)
35438         (hack-connection-local-variables)
35439         (hack-connection-local-variables-apply): New defuns.
35440         (with-connection-local-classes): New defmacro.
35442         * lisp/net/tramp.el (tramp-set-connection-local-variables): New defun.
35444         * lisp/net/tramp-adb.el (tramp-adb-maybe-open-connection):
35445         * lisp/net/tramp-gvfs.el (tramp-gvfs-maybe-open-connection):
35446         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
35447         * lisp/net/tramp-smb.el (tramp-smb-maybe-open-connection): Use it.
35449         * test/lisp/files-x-tests.el: New file.
35451 2016-11-14  Tino Calancha  <tino.calancha@gmail.com>
35453         tabulated-list: extend truncation into next align-right column
35455         See discussion on:
35456         https://lists.gnu.org/r/emacs-devel/2016-10/msg01101.html
35457         * lisp/emacs-lisp/tabulated-list.el
35458         (tabulated-list--near-rows): New variable.
35459         (tabulated-list-print, tabulated-list-set-col): Use it.
35460         (tabulated-list--col-local-max-widths): New defsubst.
35461         (tabulated-list-print-col): Use it.  If the next column is
35462         align-right, and has some space left then don't truncate to width,
35463         use some of the available space from the next column.
35465 2016-11-13  Katsumi Yamaoka  <yamaoka@jpl.org>
35467         * lisp/net/shr.el (shr-collect-extra-strings-in-table): Fix indentation.
35469         * lisp/net/shr.el (shr-tag-table): Avoid duplication of images.
35470         (shr-collect-extra-strings-in-table): Render images as well.
35472 2016-11-13  Ken Brown  <kbrown@cornell.edu>
35474         Use the new 'file-name-case-insensitive-p' function
35476         * lisp/international/mule.el (auto-coding-alist-lookup):
35477         * lisp/files.el (file-truename):
35478         (abbreviate-file-name, set-auto-mode, file-relative-name):
35479         * lisp/emacs-lisp/package.el (package-untar-buffer): Use
35480         'file-name-case-insensitive-p' instead of 'system-type' to test
35481         case-insensitivity.
35483 2016-11-13  Glenn Morris  <rgm@gnu.org>
35485         Include a systemd user unit file.  (Bug#16507)
35487         * etc/emacs.service: New file.
35488         * doc/emacs/misc.texi (Emacs Server): Mention systemcl --user.
35489         * Makefile.in (libdir): New, set by configure.
35490         (systemdunitdir): New variable.
35491         (install-etc, uninstall): Handle the emacs.service file.
35493 2016-11-13  Paul Eggert  <eggert@cs.ucla.edu>
35495         Port --enable-gcc-warnings to Ubuntu 16.10
35497         * src/gmalloc.c: Include <stdlib.h>, so it declares
35498         hybrid_aligned_alloc (the definiens of the aligned_alloc macro),
35499         so that GCC doesn't complain that hybrid_aligned_alloc is
35500         defined without being declared.
35502 2016-11-13  Ken Brown  <kbrown@cornell.edu>
35504         Silence tramp warning
35506         * lisp/net/tramp.el (tramp-file-name-for-operation): Add
35507         'file-name-case-insensitive-p' as a known file primitive.
35508         (Bug#24936)
35510 2016-11-12  Ken Brown  <kbrown@cornell.edu>
35512         Check case-sensitivity when renaming files
35514         * src/fileio.c (file_name_case_insensitive_p)
35515         (Ffile_name_case_insensitive_p):  New functions.
35516         (Frename_file): Allow renames that simply change case when the
35517         FILE argument is on a case-insensitive filesystem.  (Bug#24441)
35519         * lisp/dired-aux.el (dired-do-create-files): Use
35520         'file-name-case-insensitive-p' instead of 'system-type' to check
35521         for case-insensitivity.  (Bug#24441)
35523         * doc/lispref/files.texi (Truenames): Document
35524         'file-name-case-insensitive-p'.
35526 2016-11-12  Ken Brown  <kbrown@cornell.edu>
35528         Unbreak the build on Cygwin
35530         * configure.ac (system_malloc) [CYGWIN]: Unset.
35532 2016-11-11  Mark Oteiza  <mvoteiza@udel.edu>
35534         Update chart.el
35536         * lisp/emacs-lisp/chart.el (chart-mode): Derive from special-mode.
35537         (chart-draw): Wrap in with-silent-modifications.  Instead of inserting a
35538         fixed number of newlines, use window-height.
35539         (chart-bar):
35540         (chart-trim): Use dolist.
35541         (chart-file-count): The previous implementation was buggy and missed
35542         extensions.  Use file-name-extension instead to detect file extensions.
35543         Also use dolist and cl-incf to reduce verbosity.
35545 2016-11-11  Katsumi Yamaoka  <yamaoka@jpl.org>
35547         * lisp/net/shr.el (shr--preferred-image): Add CR to whitespace regexps.
35548         (shr-collect-extra-strings-in-table):
35549         Render extra tables in an invalid html as well.
35551 2016-11-10  Katsumi Yamaoka  <yamaoka@jpl.org>
35553         * lisp/net/shr.el (shr--preferred-image): Ignore whitespace (bug#24893).
35555 2016-11-09  Eli Zaretskii  <eliz@gnu.org>
35557         Resurrect 'memory-limit' on MS-Windows
35559         * nt/mingw-cfg.site (ac_cv_func_sbrk): Set to "yes", otherwise
35560         'memory-limit' will produce a trivial and useless result on Windows.
35562 2016-11-09  Mark Oteiza  <mvoteiza@udel.edu>
35564         Update quickurl.el
35566         * lisp/net/quickurl.el (quickurl-format-function):
35567         (quickurl-sort-function): Use named function.
35568         (quickurl-list-mode-map): Remove lines that are extraneous now that the
35569         parent mode is special-mode.
35570         (quickurl-format-url, quickurl-sort-urls): New functions.
35571         (quickurl-read, quickurl): Use defun, as no cl-defun feature appears to
35572         be used.
35573         (quickurl-list-mode): Derive from special-mode.  Nix setting
35574         buffer-read-only: special-mode does that.
35575         (quickurl-list-populate-buffer): Use dolist instead.
35576         (quickurl-list-quit): Use quit-window.  It looks like this was written
35577         before the quit-window rewrite.  quit-window is very useful now.
35579 2016-11-09  Michael Albinus  <michael.albinus@gmx.de>
35581         Refine multi-hop specs in Tramp
35583         * lisp/net/tramp.el (tramp-tramp-file-p): Suppress "/:" and "/c:".
35585         * test/lisp/net/tramp-tests.el
35586         (tramp-test01-file-name-syntax): Multi-hop specs don't need a
35587         method.  "/h:" is allowed on non MS Windows.
35589 2016-11-08  Daniel Colascione  <dancol@dancol.org>
35591         Avoid infloop in python
35593         Fix bug#24905
35595         * lisp/progmodes/python.el (python-info-docstring-p): Improve
35596         infloop avoidance: replace (bobp) with generic test for
35597         forward progress.
35598         * test/lisp/progmodes/python-tests.el (python-bob-infloop-avoid): Add
35599         test for bug#24905
35601 2016-11-08  Daniel Colascione  <dancol@dancol.org>
35603         Make gnus/message.el work correctly under lexical binding
35605         * lisp/gnus/message.el (message-send-mail): Rename `arg' to
35606         `_' to shut up the byte compiler.
35607         (sha1-maximum-internal-length, smtpmail-smtp-server)
35608         (smtpmail-smtp-service): add missing defvars
35610 2016-11-08  Michael Albinus  <michael.albinus@gmx.de>
35612         Fix Bug#24889
35614         * lisp/net/tramp.el (tramp-file-name-regexp): Make it a
35615         defvar.  Fix docstring.
35616         (tramp-completion-file-name-handler-alist): Fix docstring.
35617         (tramp-register-file-name-handlers): Reassign
35618         `tramp-file-name-regexp' to the car of
35619         `tramp-file-name-structure'.  (Bug#24889)
35621 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
35623         Port to FreeBSD 11 AMD
35625         Problem reported by Ashish Shukla (Bug#24892).  I tested
35626         this on FreeBSD 11 x86-64 with HAVE_SBRK manually undefined.
35627         * configure.ac (system_malloc): Set to 'yes' if there is no sbrk.
35628         (sbrk): Check whether it exists.
35629         * src/alloc.c (my_heap_start) [!GNU_LINUX]:
35630         Do not define, since this function is now used only on GNU/Linux,
35631         and sbrk might not exist on other platforms.
35632         (malloc_initialize_hook) [!GNU_LINUX]:
35633         Do not call my_heap_start, since its side effect will never be used.
35634         (Fmemory_limit) [!HAVE_SBRK]: Do not call sbrk.
35635         * src/unexelf.c (unexec) [!HAVE_SBRK]: Assume that nothing like
35636         sbrk exists.
35638 2016-11-08  Paul Eggert  <eggert@cs.ucla.edu>
35640         Port emacsclient to FreeBSD 11 etc.
35642         * lib-src/emacsclient.c: Include <string.h>.  This is needed on
35643         platforms like FreeBSD 11 that use code involving strlen etc., and
35644         because <config.h> no longer includes string.h.
35646 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
35648         Prescribe history for read-regexp in query-replace
35650         In the fix for bug#24580, the history argument for read-regexp was
35651         removed erroneously; read-regexp's history argument defaults to
35652         regexp-history, not minibuffer-history.
35653         * lisp/replace.el (query-replace-read-from): Tell read-regexp to use
35654         minibuffer-history.  Fixes bug#24873.
35656 2016-11-07  Mark Oteiza  <mvoteiza@udel.edu>
35658         Remove obsolete default-FOO variables
35660         * etc/NEWS: Indicate the removed variables.
35661         * lisp/emacs-lisp/edebug.el (edebug-outside-mark): Fix comment.
35662         * lisp/subr.el (default-mode-line-format, default-header-line-format):
35663         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
35664         (default-truncate-lines, default-left-margin, default-tab-width):
35665         (default-case-fold-search, default-left-margin-width):
35666         (default-right-margin-width, default-left-fringe-width):
35667         (default-right-fringe-width, default-fringes-outside-margins):
35668         (default-scroll-bar-width, default-vertical-scroll-bar):
35669         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
35670         (default-fringe-indicator-alist, default-fringe-cursor-alist):
35671         (default-scroll-up-aggressively, default-scroll-down-aggressively):
35672         (default-fill-column, default-cursor-type):
35673         (default-cursor-in-non-selected-windows):
35674         (default-buffer-file-coding-system, default-major-mode):
35675         (default-enable-multibyte-characters): Remove obsolete declarations.
35676         * src/buffer.c (default-mode-line-format, default-header-line-format):
35677         (default-line-spacing, default-abbrev-mode, default-ctl-arrow):
35678         (default-truncate-lines, default-left-margin, default-tab-width):
35679         (default-case-fold-search, default-left-margin-width):
35680         (default-right-margin-width, default-left-fringe-width):
35681         (default-right-fringe-width, default-fringes-outside-margins):
35682         (default-scroll-bar-width, default-vertical-scroll-bar):
35683         (default-indicate-empty-lines, default-indicate-buffer-boundaries):
35684         (default-fringe-indicator-alist, default-fringe-cursor-alist):
35685         (default-scroll-up-aggressively, default-scroll-down-aggressively):
35686         (default-fill-column, default-cursor-type):
35687         (default-cursor-in-non-selected-windows):
35688         (default-buffer-file-coding-system, default-major-mode):
35689         (default-enable-multibyte-characters): Remove.
35690         * src/fileio.c (choose_write_coding_system): Fix comment.
35691         * src/lisp.h (DEFVAR_BUFFER_DEFAULTS): Remove.
35693 2016-11-07  Eli Zaretskii  <eliz@gnu.org>
35695         Improve the tutorial
35697         * etc/tutorials/TUTORIAL: Minor copyedits.  (Bug#24890)
35698         * etc/tutorials/TUTORIAL.he: Follow suit.
35700 2016-11-06  Paul Eggert  <eggert@cs.ucla.edu>
35702         Restore file descriptor limit in subprocesses
35704         Problem reported by Philipp Stephani (Bug#24869).
35705         * src/callproc.c (child_setup) [!DOS_NT]:
35706         Call restore_nofile_limit in the child.
35707         * src/process.c (nofile_limit) [HAVE_SETRLIMIT]: New static var.
35708         (restore_nofile_limit): New function.
35709         (init_process_emacs) [HAVE_SETRLIMIT]: Set the new var.
35711 2016-11-06  Mark Oteiza  <mvoteiza@udel.edu>
35713         Remove some subr.el functions obsoleted in 22.1
35715         * etc/NEWS: Document removed functions.  Also mention the "face"
35716         variables that have been removed recently.
35717         * lisp/subr.el (window-dot, set-window-dot, read-input, show-buffer):
35718         (eval-current-buffer, string-to-int, insert-string, makehash): Remove.
35720 2016-11-05  Paul Eggert  <eggert@cs.ucla.edu>
35722         Prefer comments /* like this */ in C code
35724 2016-11-05  Johan Bockgård  <bojohan@gnu.org>
35726         * lisp/subr.el (copy-tree): Handle vector in cdr. (Bug#24876)
35728 2016-11-05  Nick Terrell  <nickrterrell@gmail.com>  (tiny change)
35730         Support zstd compressed files
35732         * lisp/jka-cmpr-hook.el (jka-compr-compression-info-list): Add
35733         zstd compression info: <http://facebook.github.io/zstd/>.
35734         (jka-compr-mode-alist-additions): Handle .tzst suffix for zstd
35735         compressed tar archives.  (Bug#24853)
35737 2016-11-05  Eli Zaretskii  <eliz@gnu.org>
35739         Enlarge DUMPED_HEAP_SIZE
35741         * src/w32heap.c (DUMPED_HEAP_SIZE) [_WIN64 || WIDE_EMACS_INT]:
35742         Enlarge to 21MB.  Reported by Richard Copley <rcopley@gmail.com>.
35744 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
35746         Update from gnulib
35748         This incorporates:
35749         2016-11-03 intprops: port to older XL C
35750         * lib/intprops.h: Copy from gnulib.
35752 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
35754         Merge from origin/emacs-25
35756         acae275 ; Spelling fixes
35757         d8fac73 Update README for precompiled windows Emacs.
35758         23570fd Clarify documentation of 'vc-responsible-backend' wrt symlinks
35759         f708cb2 Clarify doc string of 'transpose-sexps'
35760         cd05b1d Fix docstring of 'browse-url-firefox-new-window-is-tab'
35761         bdc89eb Improve documentation of 'font-lock-remove-keywords'
35762         4a0c590 Fix documentation of the command summary key
35763         0221b7a Mark relocation workarounds with REL_ALLOC
35765 2016-11-04  Paul Eggert  <eggert@cs.ucla.edu>
35767         Merge from origin/emacs-25
35769         dbb3410 python.el: Fix detection of native completion in Python 3 (bu...
35770         91c97b6 * Makefile.in (install-arch-indep): Skip etc/refcards/emacsve...
35771         9c1cb8d * lisp/subr.el (set-transient-map): Exit for unbound events (...
35772         9c247d2 Update category-table for Chinese characters
35773         43986d1 Inhibit buffer relocation during regex searches
35774         fee4cef Revert fixes to allocation of regex matching
35776 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
35778         Fix references to long obsoleted functions/aliases
35780         * doc/lispintro/emacs-lisp-intro.texi (Miscellaneous):
35781         * doc/misc/cl.texi (Conditionals):
35782         * doc/misc/speedbar.texi (Major Display Modes): Use string-to-number,
35783         not string-to-int.
35784         * lisp/emulation/viper.el (viper-go-away): Use major-mode, not
35785         default-major-mode.
35786         * lisp/textmodes/reftex-toc.el (reftex-toc-visit-location): show-window
35787         here is not a function call, but shorten the binding names anyways.
35788         Also, use pop-to-buffer-same-window instead of switch-to-buffer cf
35789         Bug#22244.
35790         * lisp/textmodes/sgml-mode.el (html-tag-alist): Use read-string, not
35791         read-input.
35793 2016-11-04  Mark Oteiza  <mvoteiza@udel.edu>
35795         * lisp/emacs-lisp/pcase.el (pcase-dolist): Add a docstring.
35797 2016-11-04  Katsumi Yamaoka  <yamaoka@jpl.org>
35799         * lisp/net/shr.el (shr-collect-extra-strings-in-table) New function
35800         that gathers extra strings in an invalid html.  (bug#24831)
35801         (shr-tag-table): Use it.
35803 2016-11-04  Vasilij Schneidermann  <v.schneidermann@gmail.com>
35805         Add 'x-ctrl-keysym' support on X window system
35807         * src/xterm.c (x_x_to_emacs_modifiers, x_emacs_to_x_modifiers):
35808         Support 'x-ctrl-keysym'.
35809         (syms_of_xterm): DEFSYM "ctrl" and put a proper modifier-value
35810         property on it.
35811         <x-ctrl-keysym>: New DEFVAR_LISP.
35812         <x-alt-keysym, x-hyper-keysym, x-meta-keysym, x-super-keysym>: Doc
35813         fix.  (Bug#24822)
35815         * etc/NEWS: Mention the addition of 'x-ctrl-keysym'.
35817         * doc/lispref/os.texi (X11 Keysyms): Document 'x-ctrl-keysym'.
35819 2016-11-04  Alexander Gramiak  <agrambot@gmail.com>
35821         Improve autoload error reporting
35823         * src/eval.c (Fautoload_do_load): Include the absolute file name
35824         in the error message.
35826 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
35828         Stop force parameter of whitespace-report-region having global effect
35830         * lisp/whitespace.el (whitespace-report-region): Force parameter
35831         previously changed whitespace-style globally.  Fix this, and use
35832         whitespace-active-style, to take account of any changes the user may
35833         have made.  Simplify the documentation: the force parameter simply
35834         forces all classes of whitespace problem to be considered.
35835         (Bug#24745)
35837 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
35839         Document use of `tab-width'
35841         * lisp/whitespace.el: When talking about `8 or more spaces', mention
35842         `tab-width' instead of 8.  (Bug#24745)
35844 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
35846         Make whitespace-report-region respect current settings
35848         * lisp/whitespace.el (whitespace-report-region): Make it respect
35849         whitespace-style, including any additions made by the force parameter.
35850         This means that the function does not return t unless a whitespace
35851         problem that the user cares about is reported.  (Bug#24745)
35853 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
35855         Fix whitespace-space-after-tab-regexp
35857         * lisp/whitespace.el (whitespace-space-after-tab-regexp)
35858         (whitespace-regexp): Match all the spaces after tabs for highlighting,
35859         not just the first tab-width.  Fix whitespace-space-after-tab::space
35860         version so that it requires at least tab-width spaces, not just 1.
35861         (Bug#24745)
35863 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
35865         Remove duplicate documentation
35867         * lisp/whitespace.el: Remove duplicate documentation from the Commentary
35868           section which duplicate and in some places contradict (due to being
35869           out of date) the docstrings (Bug#24745).
35871 2016-11-03  Reuben Thomas  <rrt@sc3d.org>
35873         Fix bob/eob checks
35875         * lisp/whitespace.el (whitespace-empty-at-bob-regexp)
35876         (whitespace-empty-at-eob-regexp, whitespace-cleanup): Make `empty' checks
35877         work at beginning & end of buffer in whitespace-report-region, and only
35878         there (i.e. they will never match in regions that don't include the
35879         start or end of the buffer).  (Bug#24745)
35881 2016-11-03  Tino Calancha  <tino.calancha@gmail.com>
35883         (thing-at-point 'list) return nil if no list at point
35885         * lisp/thingatpt.el (thing-at-point-bounds-of-list-at-point):
35886         Check first if we are at the beginning of a top-level sexp (Bug#24627).
35887         If point is inside a comment or string, look for a list out of the
35888         comment/string.
35889         Escape '[' in doc string.
35890         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): Update
35891         expected test result as pass.
35893 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
35895         Remove antlr face aliases obsoleted in 22.1
35897         * lisp/progmodes/antlr-mode.el: Remove obsolete aliases
35898         (antlr-default-face, antlr-keyword-face, antlr-syntax-face):
35899         (antlr-ruledef-face, antlr-tokendef-face, antlr-ruleref-face):
35900         (antlr-tokenref-face, antlr-literal-face):
35901         (antlr-literal-face): Remove.
35902         (antlr-font-lock-additional-keywords): Use face symbols instead.
35904 2016-11-02  Daniel Colascione  <dancol@dancol.org>
35906         Revert "Disable bracketed paste in a terminal in char mode"
35908         This change causes regressions, and besides, disabling BPM frame-wide
35909         for the sake of one buffer is the wrong solution.
35911         This reverts commit cf566b46a6cf85c6d54d0b0db80e32ed6ae8d1ca.
35913 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
35915         Revert change to eww-suggest-uris
35917         The introduced append is ugly and can yield '(nil); doing delq on it
35918         would be hacks on hacks.
35919         * lisp/net/eww.el: Require cl-lib at run time.
35920         (eww-suggest-uris): Restore eww-current-url, reverting previous change.
35921         (eww): Remove erroneous append.
35922         (eww-open-in-new-buffer): Check if the return from eww-suggested-uris is
35923         equal to eww-current-url, which is nil anyways if we are not in an EWW
35924         buffer.
35926 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
35928         Add eww-open-in-new-buffer to EWW
35930         * doc/misc/eww.texi (Basic): Document new command and key.
35931         * etc/NEWS: Mention new key and its purpose.
35932         * lisp/net/eww.el (eww-suggest-uris): Remove eww-current-url.
35933         (eww): Append (eww-current-url) to the prompt defaults.
35934         (eww-open-in-new-buffer): New command.
35935         (eww-mode-map): Bind it and add a menu item.
35937 2016-11-02  Mark Oteiza  <mvoteiza@udel.edu>
35939         Migrate auth-source to cl-lib
35941         * lisp/auth-source.el: Use cl-lib.
35942         (auth-source-read-char-choice, auth-source-backend-parse-parameters):
35943         (auth-source-search): Replace cl calls with cl-lib ones.
35944         (auth-source-netrc-cache):
35945         (auth-source-forget+): Use cl-do-symbols instead.
35946         (auth-source-specmatchp, auth-source-netrc-parse):
35947         (auth-source-netrc-search, auth-source-netrc-create):
35948         (auth-source-netrc-saver, auth-source-secrets-listify-pattern):
35949         (auth-source-secrets-search, auth-source-secrets-create):
35950         (auth-source-macos-keychain-search, auth-source--decode-octal-string):
35951         (auth-source-macos-keychain-search-items, auth-source-plstore-search):
35952         (auth-source-plstore-create): Replace cl calls with cl-lib ones.
35954 2016-11-01  Lars Ingebrigtsen  <larsi@gnus.org>
35956         Don't segfault on timed-out TLS connections
35958         * src/process.c (finish_after_tls_connection): Check that the
35959         file descriptor is still alive before proceeding (bug#24811).
35960         Also clean up the code slightly.
35962 2016-11-01  Eli Zaretskii  <eliz@gnu.org>
35964         Support 'TARGETS' in clipboard selections on MS-Windows
35966         * src/w32select.c (Fw32_selection_targets): New function.
35968         * lisp/term/w32-win.el (w32--get-selection): Call
35969         'w32-selection-targets' to obtain the list of data formats
35970         available in the clipboard.
35972 2016-11-01  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
35974         Fix documentation for 'eudc-options-file'
35976         * doc/misc/eudc.texi (The Server Hotlist): Update the default
35977         value of 'eudc-options-file'.
35979 2016-11-01  Tibor Csögör  <tibi@tiborius.net>
35981         Fix documentation of 'eudc-inline-expansion-format'
35983         * doc/misc/eudc.texi (Inline Query Expansion): Fix the default value of
35984         'eudc-inline-expansion-format'. (Bug#24840)
35986 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
35988         Turn on lexical-binding in some more libs
35990         * lisp/calendar/icalendar.el:
35991         * lisp/emacs-lisp/regexp-opt.el:
35992         * lisp/emacs-lisp/timer.el:
35993         * lisp/gnus/message.el:
35994         * lisp/hex-util.el: Turn on lexical-binding.
35996 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
35998         Turn on lexical-binding in some net libs
36000         * lisp/net/dbus.el: Turn on lexical-binding.
36001         (dbus-list-hash-table, dbus-list-known-names):
36002         (dbus-introspect-get-node-names, dbus-introspect-get-interface-names):
36003         (dbus-introspect-get-method-names, dbus-introspect-get-signal-names):
36004         (dbus-introspect-get-property-names):
36005         (dbus-introspect-get-argument-names, dbus-get-all-properties):
36006         (dbus-property-handler, dbus-get-all-managed-objects):
36007         (dbus-managed-object-handler): Replace add-to-list with push. Add
36008         nreverse in some places where the APPEND argument of add-to-list was
36009         used.
36010         * lisp/net/network-stream.el: Turn on lexical-binding.
36011         * lisp/net/newsticker.el: Turn on lexical-binding.
36012         * lisp/net/shr.el: Turn on lexical-binding.
36013         (shr-make-placeholder-image): Remove unused variable binding.
36014         (shr-inspect-table): Replace ignored bindings with underscore.
36016 2016-10-31  Mark Oteiza  <mvoteiza@udel.edu>
36018         Turn on lexical-binding in some url libs
36020         * lisp/url/url-auth.el:
36021         * lisp/url/url-expand.el:
36022         * lisp/url/url-future.el:
36023         * lisp/url/url-parse.el:
36024         * lisp/url/url-util.el: Turn on lexical-binding.
36026 2016-10-31  Johan Bockgård  <bojohan@gnu.org>
36028         * lisp/emacs-lisp/cl-macs.el (cl-symbol-macrolet): Fix debug spec
36030         (Bug#24733)
36032 2016-10-30  Alan Mackenzie  <acm@muc.de>
36034         Handle chars of syntax word which are also flagged as comment delimiters
36036         src/syntax.c (scan_sexps_forward): When chars of syntax word are also flagged
36037         as the start/end of two char comment delimiters, recognize a comment delimiter
36038         in preference to a portion of a word.  This fixes bug #24767.
36040 2016-10-29  Daniel Colascione  <dancol@dancol.org>
36042         Speed up initialization by preferring /dev/urandom to GnuTLS
36044         * src/sysdep.c (init_random): Try /dev/urandom before GnuTLS.
36046 2016-10-29  José L. Doménech  <domenechjosel@gmail.com>
36048         Quote file names in dired compression commands
36050         * lisp/dired-aux.el (dired-do-compress-to): Change the string
36051         used as shell command for compression by quoting the filenames
36052         used for input and output (Bug #24620).
36054 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
36056         Avoid errors in posn-at-point for large images
36058         * src/keyboard.c (Fposn_at_point): If pos-visible-in-window-p
36059         returns a 6-member list for a partially visible glyph, pass the
36060         sum of Y and RTOP to posn-at-x-y, since that's where the visible
36061         portion of that glyph begins on display.  (Bug#24804)  (Bug#21832)
36062         (Bug#23809)
36064 2016-10-29  Eli Zaretskii  <eliz@gnu.org>
36066         Unbreak MS-Windows build
36068         * src/w32term.c (XCreateGC): Second argument is now HWND, and its
36069         name is "wignore".
36070         (x_set_cursor_gc, x_set_mouse_face_gc)
36071         (x_draw_glyph_string_background, x_draw_glyph_string_bg_rect)
36072         (x_draw_image_glyph_string, x_draw_stretch_glyph_string): Don't
36073         use s->window, which doesn't exist anymore.
36075         * src/w32term.h (XCreateGC): Adjust prototype.
36077 2016-10-28  Daniel Colascione  <dancol@dancol.org>
36079         Add double-buffering support to reduce flicker
36081         * src/dispextern.h (struct glyph_string): Remove window member
36082         (block_buffer_flips, unblock_buffer_flips)
36083         (buffer_flipping_blocked_p): Declare.
36085         * src/xterm.h (struct x_display_info): New member supports_xdbe.
36086         (struct x_output): New members draw_desc and need_buffer_flip.
36087         (FRAME_X_DRAWABLE, FRAME_X_RAW_DRAWABLE)
36088         (FRAME_X_DOUBLE_BUFFERED_P)
36089         (FRAME_X_NEED_BUFFER_FLIP): New macros.
36090         (set_up_x_back_buffer, tear_down_x_back_buffer)
36091         (initial_set_up_x_back_buffer): Declare.
36093         * src/xterm.c: Include Xdbe.h.
36094         (x_begin_cr_clip, x_fill_rectangle, x_draw_rectangle)
36095         (x_draw_vertical_window_border, x_update_end)
36096         (x_setup_relief_color, x_draw_relief_rect)
36097         (x_draw_fringe_bitmap, x_shift_glyphs_for_insert)
36098         (x_scroll_run, x_draw_hollow_cursor, x_draw_bar_cursor): Use
36099         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
36100         variables appropriately; substitute calls to XClearArea with
36101         x_clear_area, which DTRT for double buffering.
36102         (x_clear_window, x_clear_area): In double-buffering mode, use
36103         rect-drawing X functions instead of XClearWindow and
36104         XClearArea, which always operate on the front buffer.
36105         (show_back_buffer): New function.
36106         (XTframe_up_to_date): Call show_back_buffer when done.
36107         (x_clear_frame, x_clear_frame_area): Remove obsolete calls to
36108         gtk_widget_queue_draw to refresh scroll bars; scroll bars are
36109         now independent X windows.
36110         (handle_one_xevent): Call font_drop_xrender_surfaces when
36111         XftDraw might need regenerating; perform buffer flip when
36112         responding to Expose events; issue front-buffer clearing
36113         commands as stopgap while we wait for redisplay.
36114         Call flush_dirty_back_buffers.
36115         (x_make_frame_visible): Un-bitrot comment; move XSETFRAME
36116         earlier in function.
36117         (x_free_frame_resources): Call tear_down_x_back_buffer when
36118         destroying frame.
36119         (x_term_init): Attempt to initialize double buffer extension.
36120         (x_flip_and_flush): New function.
36121         (x_redisplay_interface): Point to x_flip_and_flush instead of
36122         x_flip directly.
36123         (flush_dirty_back_buffers): New function.
36124         (x_create_terminal): Register buffer_flipping_unblocked_hook.
36126         * src/xftfont.c (xftfont_drop_xrender_surfaces): Use
36127         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
36128         (xftfont_draw): Call x_mark_frame_dirty.
36129         (xftfont_drop_xrender_surfaces): New function.
36130         (syms_of_xftfont): Register it.
36132         * src/xfont.c (xfont_draw): Use FRAME_X_DRAWABLE instead of
36133         FRAME_X_WINDOW.
36135         * src/xfns.c: Include Xdbe.h.
36136         (x_set_inhibit_double_buffering, set_up_x_back_buffer)
36137         (Fx_double_buffered_p): New functions.
36138         (x_window): Call initial_set_up_x_back_buffer.
36139         (x_make_gc): Use FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
36140         (Fx_create_frame): Configure `inhibit-double-buffering'
36141         frame parameter.
36142         (x_create_tip_frame): Call initial_set_up_x_back_buffer.
36143         (x_frame_parm_handlers): Register
36144         x_set_inhibit_double_buffering.
36145         (syms_of_xfns): Register Sx_double_buffered_p.
36146         (x_mark_frame_dirty): Define.
36148         * src/xfaces.c (x_create_gc): Use FRAME_X_DRAWABLE instead of
36149         FRAME_X_WINDOW.
36151         * src/xdisp.c (remember_mouse_glyph, init_glyph_string): Use
36152         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW.
36153         (redisplay_internal): Restart redisplay if a frame is garbaged
36154         during updating; explain why. Block buffer flips
36155         during redisplay.
36156         (redisplay_preserve_echo_area): Block buffer flip during call
36157         to redisplay_internal.
36158         (buffer_flip_blocked_depth): New variable.
36159         (block_buffer_flips, unblock_buffer_flips)
36160         (buffer_flipping_blocked_p): New functions.
36161         (init_glyph_string): Stop setting window member of struct
36162         glyph_string.
36164         * src/w32fns.c (w32_frame_parm_handlers): Add placeholder for
36165         x_set_inhibit_double_buffering.
36167         * src/termhooks.h (struct terminal): Add
36168         buffer_flipping_unblocked_hook.
36170         * src/nsfns.m (ns_frame_parm_handlers): Add placeholder for
36171         x_set_inhibit_double_buffering.
36173         * src/image.c (x_create_bitmap_from_data)
36174         (x_create_bitmap_from_file, x_create_x_image_and_pixmap)
36175         (Create_Pixmap_From_Bitmap_Data)
36176         (x_create_bitmap_from_xpm_data, xpm_load, gs_load): Use
36177         FRAME_X_DRAWABLE instead of FRAME_X_WINDOW; rename local
36178         variables appropriately.
36180         * src/gtkutil.c: Include Xdbe.h.
36181         (xg_get_widget_from_map): Forward declare.
36182         (xg_clear_under_internal_border): Remove obsolete calls to
36183         refresh scroll bars.
36184         (xg_create_frame_widgets): Call initial_set_up_x_back_buffer.
36185         (xg_free_frame_widgets): Call tear_down_x_back_buffer; reset
36186         FRAME_X_DRAWABLE as well as FRAME_X_WINDOW and for the
36187         same reason.
36188         (xg_set_background_color): Set scroll bar background colors.
36189         (xg_finish_scroll_bar_creation): New function with common
36190         logic of xg_create_scroll_bar, xg_create_horizontal_scroll_bar. Force
36191         scroll bars to be real X11 windows.
36192         (xg_create_scroll_bar, xg_create_horizontal_scroll_bar): Call
36193         xg_finish_scroll_bar_creation.
36194         (xg_update_scrollbar_pos, xg_update_horizontal_scrollbar_pos):
36195         Remove obsolete calls to refresh scroll bars; fix comments.
36197         * src/ftxfont.c (ftxfont_get_gcs, ftxfont_draw_bitmap,
36198         (ftxfont_draw_background): Use FRAME_X_DRAWABLE instead of
36199         FRAME_X_WINDOW.
36201         * src/frame.c (frame_parms): Add table entry for new
36202         `inhibit-double-buffering' frame parameter
36203         (syms_of_frame): Register Qinhibit_double_buffering.
36205         * src/font.h (struct font_driver): Add new `flush_frame_caches' hook.
36206         (font_drop_xrender_surfaces): Declare.
36208         * src/font.c (font_drop_xrender_surfaces): New function.
36210         * src/Makefile.in (XDBE_LIBS, XDBE_CFLAGS): Substitute.
36212         * etc/NEWS: Mention use of double buffering
36214         * doc/lispref/frames.texi (Management Parameters): Document
36215         `inhibit-double-buffering' frame parameters.
36216         (Visibility of Frames): Document `x-double-buffered-p'.
36218         * configure.ac: Check for the X double buffer extension
36220 2016-10-28  Michael Albinus  <michael.albinus@gmx.de>
36222         Improve result of `auth-source-search' in Tramp
36224         * lisp/net/tramp.el (tramp-read-passwd): Require :secret and
36225         :user in result of `auth-source-search'.
36227 2016-10-27  Mark Oteiza  <mvoteiza@udel.edu>
36229         Fix avl-tree alias docstrings
36231         * lisp/emacs-lisp/avl-tree.el (avl-tree--node-branch):
36232         (avl-tree-stack-p, avl-tree-create):
36233         (avl-tree-compare-function): Add calling convention to docstrings.
36235 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
36237         Update from gnulib
36239         This incorporates:
36240         2016-10-16 qsort_r: Fix macrology for platforms that lack the function.
36241         2016-10-13 stdint: port SIZE_MAX to glibc s390
36242         2016-10-11 maint: remove stray space after "." in AC_DEFINE comment.
36243         * lib/gnulib.mk: Regenerate.
36244         * lib/stdlib.in.h, m4/st_dm_mode.m4, m4/stdint.m4, m4/stdlib_h.m4:
36245         * m4/utimes.m4: Copy from gnulib.
36247 2016-10-27  Paul Eggert  <eggert@cs.ucla.edu>
36249         electric-quote-chars fixups
36251         * lisp/electric.el (electric-quote-chars): Check types and safety
36252         more carefully.
36253         (electric-quote-post-self-insert-function): Use more-mnemonic locals.
36254         Omit no-longer-necessary runtime error diagnostic.
36256 2016-10-27  Göktuğ Kayaalp  <self@gkayaalp.com>
36258         New user variable 'electric-quote-chars'
36260         * doc/emacs/text.texi (Quotation Marks), etc/NEWS: Document this.
36261         * lisp/electric.el (electric-quote-chars): New defcustom.
36262         (electric-quote-post-self-insert-function): Use it.
36264 2016-10-27  Tino Calancha  <tino.calancha@gmail.com>
36266         Add more tests for Bug#24627
36268         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627):
36269         Add tests for 'list-at-point'.
36271 2016-10-26  Filipp Gunbin  <fgunbin@fastmail.fm>
36273         * lisp/shell.el (shell--unquote&requote-argument): Match data misuse
36275         * lisp/shell.el (shell--unquote&requote-argument): Fix
36276         off-by-one thinko.  Don't use match data after a failed string-match.
36278 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
36280         * src/xwidget.c (webkit_js_to_lisp): Now static.
36282 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36284         xwidget: Map "previous-line" and "next-line" to scroll
36286         * lisp/xwidget.el: Map "previous-line" and "next-line" to scrolling
36287         procedures.
36289 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36291         xwidget: Bind "beginning-of-buffer" and "end-of-buffer"
36293         * lisp/xwidget.el: Rebind "beginning-of-buffer" and "end-of-buffer" to
36294         "xwidget-webkit-scroll-top" and "xwidget-webkit-scroll-bottom",
36295         respectively.
36296         (xwidget-webkit-scroll-top,
36297         xwidget-webkit-scroll-bottom): New procedures.
36299 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36301         Implement zoom for WebKit widget.
36303         * src/xwidget.c (xwidget-webkit-zoom): New procedure.
36304         * lisp/xwidget.el: Bind "+" and "-" to zoom in and out, respectively.
36305         (xwidget-webkit-zoom): Declare procedure.
36306         (xwidget-webkit-zoom-in, xwidget-webkit-zoom-out): New procedures.
36308 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36310         Dynamically resize WebKit widget.
36312         * lisp/xwidget.el (xwidget-webkit-auto-adjust-size,
36313         xwidget-webkit-adjust-size-in-frame): New procedures.
36314         (xwidget-webkit-new-session): Remove hint to resize widget with `a'.
36315         (xwidget-webkit-adjust-size-dispatch): Resize current webkit widget.
36316         (xwidget-webkit-adjust-size-to-window): Make non-interactive,
36317         add widget and window as arguments.
36318         (xwidget-webkit-callback): Use xwidget-webkit-adjust-size-to-window.
36320 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36322         Let initial WebKit view fill window
36324         * lisp/xwidget.el (xwidget-webkit-new-session): Change default size of
36325         WebKit widget to window size.
36327 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36329         xwidget: Remove title hack.
36331         * src/xwidget.c (xwidget-webkit-get-title): Remove procedure.
36332         * lisp/xwidget.el (xwidget-webkit-get-title,
36333         xwidget-webkit-execute-script-rv): Remove procedures.
36335 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36337         xwidget: Get URL asynchronously.
36339         * lisp/xwidget.el (xwidget-webkit-current-url): Kill URL in callback.
36341 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36343         xwidget: Get selection with asynchronous JavaScript
36345         * lisp/xwidget.el (xwidget-webkit-get-selection): Add PROC argument to
36346         process selection.
36347         (xwidget-webkit-copy-selection-as-kill): Kill selection in callback.
36349 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36351         xwidget: Add function to find element by CSS selector
36353         * lisp/xwidget.el (xwidget-webkit-show-element): New procedure.
36355 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36357         xwidget: Simplify functions to scroll to elements
36359         * lisp/xwidget.el (xwidget-webkit-show-named-element,
36360         xwidget-webkit-show-id-element,
36361         xwidget-webkit-show-id-or-named-element): Simplify functions by
36362         scrolling exclusively with JavaScript.
36364 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36366         xwidget: Get title via asynchronous JavaScript.
36368         * lisp/xwidget.el (xwidget-webkit-callback): Get document title
36369         asynchronously.
36371 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36373         xwidget: Do not use `xwidget-execute-script-rv' to insert string
36375         * lisp/xwidget.el (xwidget-webkit-insert-string): Obtain JavaScript
36376         return value via callback instead of using
36377         `xwidget-webkit-execute-script-rv'.
36379 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36381         Remove scrolled window container around WebKit widget
36383         The WebKit widget can scroll on its own and does not need to wrapped
36384         with a scrolled window container.
36386         * src/xwidget.h: Remove struct member widgetscrolledwindow_osr.
36387         * src/xwidget.c: Remove widgetscrolledwindow_osr.
36388         (xwidget-set-adjustment): Remove.
36389         (xwidget-resize): Resize Webkit widget last.
36390         * lisp/xwidget.el (xwidget-set-adjustment): Remove.
36391         (xwidget-webkit-scroll-up, xwidget-webkit-scroll-down,
36392         xwidget-webkit-scroll-forward, xwidget-webkit-scroll-backward):
36393         Implement scrolling via JavaScript.
36395 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36397         xwidget: Pass JavaScript return value to optional callback procedure
36399         * lisp/xwidget.el (xwidget-webkit-execute-script): Accept optional
36400         callback argument.
36401         (xwidget-webkit-callback): Handle "javascript-callback" event type.
36402         * src/xwidget.c (xwidget-webkit-execute-script): Accept optional
36403         argument FUN, a Lisp procedure to execute on the JavaScript return
36404         value.
36405         (store_xwidget_js_callback_event, webkit_javascript_finished_cb,
36406         webkit_js_to_lisp): New procedures.
36408 2016-10-25  Ricardo Wurmus  <rekado@elephly.net>
36410         xwidget: Use WebKit2 API
36412         * configure.ac: Check for webkit2gtk-4.0.
36413         * src/xwidget.c: Adjust to use WebKit2 API.
36414         * lisp/xwidget.el (xwidget-webkit-callback): Adjust matches for
36415         `xwidget-event-type'.
36417 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
36419         Merge from origin/emacs-25
36421         4c3f738 Comment for bug#24793
36423 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
36425         Merge from origin/emacs-25
36427         96ac0c3 Yet another fix for using pointers into buffer text
36428         1047496 Another fix for using pointer to buffer text
36429         3121992 Fix Bug#24478
36431 2016-10-25  Paul Eggert  <eggert@cs.ucla.edu>
36433         Merge from origin/emacs-25
36435         ee04aed Fix handling of buffer relocation in regex.c functions
36436         71ca4f6 Avoid relocating buffers while libxml2 reads its text
36437         1b3fc8a ; Remove redundant code in gmalloc.c
36438         9afea93 Attempt to catch reads from a buffer that is relocated
36440 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
36442         Minor fix in the documentation of seq-random-elt
36444         * doc/lispref/sequences.texi (Sequence Functions): Remove false
36445           sentence.
36447 2016-10-25  Eli Zaretskii  <eliz@gnu.org>
36449         Minor copyedits in documentation of 'seq-random-elt'
36451         * doc/lispref/sequences.texi (Sequence Functions): Fix markup in
36452         last change.  Use 2 spaces between sentences.
36454 2016-10-25  Nicolas Petton  <nicolas@petton.fr>
36456         * lisp/emacs-lisp/seq.el (seq-random-elt): Fix docstring.
36458 2016-10-25  Damien Cassou  <damien@cassou.me>
36460         Add seq-random-elt to seq.el
36462         * lisp/emacs-lisp/seq.el (seq-random-elt): Add function to return a
36463           random element from it's sequence parameter.
36465         * test/lisp/emacs-lisp/seq-tests.el (test-seq-random-elt-take-all
36466           test-seq-random-elt-return-nil): Test the new function
36468         * doc/lispref/sequences.texi: Document the new function
36470 2016-10-24  Ken Brown  <kbrown@cornell.edu>
36472         * configure.ac: Stop using mmap for buffers on Cygwin.
36474 2016-10-24  Nicolas Petton  <nicolas@petton.fr>
36476         * lisp/emacs-lisp/seq.el (seq-let): Fix debug spec (Bug#24738)
36478 2016-10-24  Karl Chen  <Karl.Chen@quarl.org>
36480         Don't prompt user when killing Flymake processes
36482         * lisp/progmodes/flymake.el (flymake-start-syntax-check-process):
36483         Don’t prompt the user when killing Flymake processes.
36485         * doc/misc/flymake.texi (Starting the syntax check process):
36486         Document new behavior.
36488 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
36490         * src/regex.c (re_search_2): Use UNINIT, not IF_LINT.
36492         This finishes the merge of the recent emacs-25 regex changes into
36493         master.
36495 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
36497         Merge from origin/emacs-25
36499         50fa7d6 ;* src/w32heap.c: Fix typo and wording of the comments.
36500         6f1325e electric-quote mode no longer worries about coding
36501         c2a1792 * src/regex.c (re_search_2): Make new code safe for -Wjump-mi...
36502         f6134bb Port to GCC 6.2.1 + --enable-gcc-warnings
36503         b2ba630 Explain how to debug emacsclient lisp errors
36504         9da53e2 Let describe-function work for lambda again
36505         5c2da93 Fix kill-line's docstring
36506         ad66b3f Fix handling of allocation in regex matching
36507         5a26c9b * lisp/electric.el (electric-quote-mode): Improve doc (Bug#24...
36508         3877c91 vc-region-history: Search just on lines intersecting the region
36509         8988327 Fix documentation of 'alist-get'
36510         b6998ea * src/regex.h (re_match_object): Improve commentary.
36512         # Conflicts:
36513         #       etc/NEWS
36514         #       lisp/help-fns.el
36516 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
36518         Merge from origin/emacs-25
36520         8ad0d7d ; Fix quoting in etc/NEWS
36521         6b9dee1 Change Tramp version to "2.2.13.25.2"
36522         62f2684 * lisp/emacs-lisp/autoload.el (update-directory-autoloads): F...
36523         b2f32e4 Don't scan compiled module files for autoloads
36524         9a758b4 Fix Bug#24698
36525         baa8ba4 * lisp/subr.el (start-process): Doc fix.  (Bug#24693)
36526         e535ca4 Fix display of vc-dir CVS file statuses in subdirectories
36527         12da149 Update URL of MS-Windows optional DLLs
36528         2331056 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
36529         a4285bc * lisp/simple.el (process-menu-mode, list-processes--refresh)...
36530         b0c447e * lisp/ibuf-ext.el (ibuffer-do-shell-command-file): Fix non-f...
36531         cf3c19b * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (B...
36533         # Conflicts:
36534         #       doc/misc/trampver.texi
36535         #       etc/NEWS
36536         #       lisp/net/tramp-sh.el
36537         #       lisp/net/trampver.el
36539 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
36541         Merge from origin/emacs-25
36543         b73f466 * lisp/cus-start.el (exec-path): Handle nil elements.  (Bug#2...
36544         55ebb70 Catch the imenu-unavailable error in sh-mode completion table
36545         993acb5 ; Minor fix for last change in characters.el
36546         30c4bb5 More char-width fixes
36547         4eb4463 Fix char-width-table values for some Emoji
36548         528997d Keep point when switching from and to *terminal* buffer
36549         2130005 * INSTALL: Use correct Emacs release number 25.
36550         10835b1 Avoid crashes due to objects read with the #n=object form
36551         4de671d Improve doc string of 'completion-at-point-functions'
36552         ceb46f0 Fix crash in evaluating functions
36553         d8374c4 * src/filelock.c (current_lock_owner): Update comment.
36555 2016-10-23  Paul Eggert  <eggert@cs.ucla.edu>
36557         Merge from origin/emacs-25
36559         2deb20c Port last_marked change to full-program optimizers
36560         27eb668 Adapt GDB scripts to '--enable-check-lisp-object-type' builds
36561         dac64e3 Avoid optimizing out the last_marked[] array
36563 2016-10-22  Noam Postavsky  <npostavs@gmail.com>
36565         Avoid infinite hscrolling in redisplay
36567         * src/xdisp.c (redisplay_internal): Add a counter to avoid horizontal
36568         scrolling (e.g., caused by pre-redisplay-functions) triggering infinite
36569         redisplay (Bug #24633).
36571 2016-10-22  Michael Albinus  <michael.albinus@gmx.de>
36573         Fix error codes in Tramp
36575         * lisp/net/tramp-compat.el (tramp-compat-user-error): New defsubst,
36576         taken from tramp.el.
36577         (tramp-file-missing): New defconst.
36579         * lisp/net/tramp.el (tramp-user-error): Remove it.
36580         (tramp-check-proper-method-and-host)
36581         (tramp-dissect-file-name, tramp-debug-message)
36582         (tramp-handle-shell-command):
36583         * lisp/net/tramp-adb.el (tramp-adb-handle-shell-command):
36584         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler):
36585         Use `tramp-compat-user-error'.
36587         * lisp/net/tramp.el (tramp-handle-insert-file-contents)
36588         (tramp-handle-load):
36589         * lisp/net/tramp-adb.el (tramp-adb-handle-file-local-copy):
36590         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-local-copy)
36591         * lisp/net/tramp-sh.el (tramp-sh-handle-file-local-copy):
36592         * lisp/net/tramp-smb.el (tramp-smb-handle-file-local-copy):
36593         Use `tramp-file-missing'.  (Bug#24714)
36595         * lisp/net/tramp-sh.el (tramp-sh-handle-add-name-to-file):
36596         * lisp/net/tramp-smb.el (tramp-smb-handle-make-symbolic-link):
36597         Use `file-already-exists'.
36599 2016-10-22  Jorgen Schaefer  <contact@jorgenschaefer.de>
36601         Autoload all commands from misc.el
36603         Only two of the commands there were autoloaded, one of which is an
36604         easter egg.
36605         * lisp/misc.el (copy-from-above-command):
36606         * lisp/misc.el (zap-up-to-char):
36607         * lisp/misc.el (mark-beginning-of-buffer):
36608         * lisp/misc.el (mark-end-of-buffer):
36609         * lisp/misc.el (upcase-char):
36610         * lisp/misc.el (forward-to-word):
36611         * lisp/misc.el (backward-to-word):
36612         Add autoload cookie.
36614 2016-10-22  Martin Rudalics  <rudalics@gmx.at>
36616         On terminal frames ignore minibuffer frame parameter (Bug#24758)
36618         * src/frame.c (Fmake_terminal_frame): Don't complain when the
36619         caller asks for a deviant minibuffer setting (Bug#24758).
36621 2016-10-21  Paul Eggert  <eggert@cs.ucla.edu>
36623         New error file-missing
36625         This fixes a recently-introduced bug in delete-directory,
36626         where the code assumes the C locale when determining
36627         whether a file-error corresponds to a missing file (Bug#24714).
36628         * doc/lispref/errors.texi (Standard Errors):
36629         * doc/lispref/files.texi (Changing Files):
36630         * etc/NEWS:
36631         Document this.
36632         * doc/lispref/loading.texi (How Programs Do Loading):
36633         Say "a file-error" rather than "the error file-error" since
36634         it might be a file-missing now.
36635         * lisp/emacs-lisp/bytecomp.el (byte-compile-file):
36636         * lisp/epa-file.el (epa-file--find-file-not-found-function):
36637         (epa-file-insert-file-contents, epa-file-write-region):
36638         * lisp/ffap.el (find-file-at-point, dired-at-point):
36639         * lisp/jka-compr.el (jka-compr-insert-file-contents)
36640         (jka-compr-insert-file-contents):
36641         * lisp/net/ange-ftp.el (ange-ftp-barf-if-not-directory)
36642         (ange-ftp-insert-file-contents, ange-ftp-copy-file-internal):
36643         * lisp/progmodes/etags.el (visit-tags-table):
36644         * lisp/url/url-handlers.el (url-copy-file):
36645         * src/fileio.c (report_file_errno):
36646         Signal file-missing if appropriate.
36647         * lisp/epa-file.el (epa-file-insert-file-contents):
36648         * lisp/jka-compr.el (jka-compr-insert-file-contents):
36649         Don't assume file-error is a leaf in the error hierarchy.
36650         * lisp/files.el (files--force):
36651         * lisp/gnus/nnmaildir.el (nnmaildir--enoent-p):
36652         * lisp/jka-compr.el (jka-compr-insert-file-contents):
36653         Use file-missing to detect whether the file is missing.
36654         * lisp/url/url-handlers.el (url-copy-file):
36655         Signal file-already-exists if appropriate.
36656         * src/fileio.c (syms_of_fileio): Define file-missing.
36658         2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
36660 2016-10-21  Mark Oteiza  <mvoteiza@udel.edu>
36662         Teach browse-url to open man page urls
36664         * lisp/net/browse-url.el (browse-url-man-function): New custom option.
36665         (browse-url): Add a condition to catch links matching "^man:".
36666         (browse-url-man): New function.
36668 2016-10-21  Eli Zaretskii  <eliz@gnu.org>
36670         Improve fontification of footnote references in Info buffers
36672         * lisp/info.el (Info-fontify-node): Don't fontify random numbers
36673         in parentheses as if they were footnote references.  See
36674         https://lists.gnu.org/r/bug-texinfo/2016-10/msg00007.html
36675         for the details.
36677 2016-10-20  Philipp Stephani  <phst@google.com>
36679         Minor fixes to cc-mode-tests.el
36681         See Bug#24747.
36683         * test/lisp/progmodes/cc-mode-tests.el: Rename from cc-mode.el; fix typo in
36684         file-local variable; add comments to make checkdoc happy.
36686 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
36688         * etc/NEWS: Fix typos.  Remove entries backported to Emacs 25.2.
36690 2016-10-20  Michael Albinus  <michael.albinus@gmx.de>
36692         Document, how to suppress iTerm2 shell integration in Tramp
36694         * doc/misc/tramp.texi (Frequently Asked Questions):
36695         Suppress iTerm2 shell integration.
36697 2016-10-20  Tino Calancha  <tino.calancha@gmail.com>
36699         cl-seq: Remove max limit on input sequence length
36701         * lisp/emacs-lisp/cl-seq.el (cl-fill, cl-replace, cl-delete)
36702         (cl--position, cl-nsubstitute, cl-substitute, cl-remove):
36703         Remove limit on maximum length for the input sequence
36704         (#Bug24264).
36705         * test/lisp/emacs-lisp/cl-seq-tests.el: Update test expected result as passed.
36707 2016-10-19  Mark Oteiza  <mvoteiza@udel.edu>
36709         Derive dig-mode from special-mode
36711         * lisp/net/dig.el: Remove unused cl dependency.  Remove top level
36712         mode-class assignment.
36713         (dig-mode-map): Unmap g, as dig has no notion of reverting the buffer.
36714         (dig-mode): Derive from special-mode.
36715         (dig-exit): Use quit-window instead.
36716         (dig): Use pop-to-buffer-same-window.  Remove redundant assignments.
36717         (query-dig): Use pop-to-buffer-same-window.
36719 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
36721         cl-defstruct: Fix debug spec and check of slot options
36723         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Improve checking of slot
36724         option syntax.  Fix debug spec.  (Bug#24700)
36726 2016-10-18  Johan Bockgård  <bojohan@gnu.org>
36728         isearch: Fix bug in defstruct syntax
36730         * lisp/isearch.el (isearch--state): Use correct form of defstruct slot
36731         options.  (Bug#24685)
36733 2016-10-18  Mark Oteiza  <mvoteiza@udel.edu>
36735         Add an option for eshell-input-filter
36737         * etc/NEWS: Document changes.
36738         * lisp/eshell/em-hist.el (eshell-input-filter): Set value to function
36739         symbol.  Change type to a radio for choosing functions.  Refer to both
36740         new functions.
36741         (eshell-input-filter-default): New function.  Same body as the previous
36742         value of eshell-input-filter.
36743         (eshell-input-filter-initial-space): New function.
36745 2016-10-18  Paul Eggert  <eggert@cs.ucla.edu>
36747         delete-directory no longer errors when racing
36749         Problem reported by Glenn Morris for package-test.el (Bug#24714).
36750         * doc/lispref/files.texi (Create/Delete Dirs), etc/NEWS: Document this.
36751         * lisp/files.el (files--force): New function.
36752         (delete-directory): Use it to avoid error in this case.
36754 2016-10-17  Yuri Khan  <yuri.v.khan@gmail.com>  (tiny change)
36756         Support Shift selection in nxml-mode commands
36758         * lisp/nxml/nxml-mode.el (nxml-forward-balanced-item)
36759         (nxml-up-element, nxml-backward-up-element, nxml-down-element)
36760         (nxml-backward-down-element, nxml-forward-element)
36761         (nxml-backward-element, nxml-forward-paragraph)
36762         (nxml-backward-paragraph): Use "^p" as the interactive spec, to
36763         support shift-selection.
36765 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
36767         Simplify some loops and cons
36769         * lisp/net/mailcap.el: Replace cl with cl-lib.
36770         (mailcap--get-user-mime-data, mailcap--set-user-mime-data):
36771         (mailcap-parse-mailcaps, mailcap-parse-mailcap-extras):
36772         (mailcap-possible-viewers): Use push and dolist where possible.
36773         (mailcap-viewer-passes-test): Remove unused binding.
36774         (mailcap-add-mailcap-entry): Use push.
36775         (mailcap-mime-info): Remove unused binding.  Use push.
36776         (mailcap-parse-mimetypes): Use dolist.
36778 2016-10-17  Mark Oteiza  <mvoteiza@udel.edu>
36780         Turn on lexical-binding in auth-source
36782         * lisp/auth-source.el: Turn on lexical-binding.
36783         (auth-source-netrc-parse, auth-source-netrc-normalize):
36784         (auth-source-token-passphrase-callback-function):
36785         (auth-source-netrc-create, auth-source-secrets-search):
36786         (auth-source-macos-keychain-search-items):
36787         (auth-source-plstore-search): Use let instead of lexical-let.
36789 2016-10-17  Martin Rudalics  <rudalics@gmx.at>
36791         Fix frame focus redirection with shared minibuffer windows (Bug#24500)
36793         * src/frame.c (do_switch_frame): Redirect frame focus also when
36794         the frame switched to has its minibuffer window on the selected
36795         frame.
36796         * src/window.c (candidate_window_p): To qualify as candidate
36797         it's not sufficient for the window's frame to just share the
36798         minibuffer window - it must be active as well.
36800 2016-10-17  Eli Zaretskii  <eliz@gnu.org>
36802         Fix time-related data types in 2 editfns.c functions
36804         * src/editfns.c (format_time_string, Fcurrent_time_zone): Pass a
36805         pointer to 'time_t' value to 'emacs_localtime_rz' and 'gmtime_r',
36806         instead of relying on struct timespec's 'tv_sec' member to be of
36807         compatible type.
36809 2016-10-16  Martin Rudalics  <rudalics@gmx.at>
36811         Document atomic windows in Elisp manual (Bug#18170)
36813         * lisp/window.el (display-buffer-in-atom-window): If no `side'
36814         alist entry was specified, use `below' as the doc tells.
36815         * doc/lispref/elisp.texi (Atomic Windows): Add menu entry.
36816         * doc/lispref/windows.texi (Atomic Windows): New section.
36817         (Window Parameters): Update reference.
36819 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36821         New face homoglyph
36823         Suggested by Eli Zaretskii, from a feature request by
36824         Alan Mackenzie (Bug#24468).
36825         * doc/emacs/display.texi (Standard Faces, Text Display):
36826         * etc/NEWS: Document this.
36827         * etc/themes/dichromacy-theme.el, etc/themes/leuven-theme.el:
36828         * etc/themes/light-blue-theme.el, etc/themes/manoj-dark-theme.el:
36829         * etc/themes/tango-dark-theme.el, etc/themes/tango-theme.el:
36830         * etc/themes/wombat-theme.el:
36831         Customize homoglyph to be the same as escape-glyph.
36832         * lisp/cus-theme.el (custom-theme--listed-faces):
36833         Add homoglyph.
36834         * lisp/faces.el (homoglyph): New face.
36835         * lisp/startup.el (startup--setup-quote-display): Use it.
36837 2016-10-16  Paul Eggert  <eggert@cs.ucla.edu>
36839         Port to Ubuntu 16.10, which needs gcc -nopie
36841         * configure.ac (emacs_cv_prog_cc_no_pie): Rename from
36842         emacs_cv_prog_cc_nopie.  All usages changed.  Check for -no-pie in
36843         preference to -nopie (Bug#24682).
36845 2016-10-16  Michael Albinus  <michael.albinus@gmx.de>
36847         Fix bug#24665 in Tramp
36849         * doc/misc/tramp.texi (External methods): Do not confuse
36850         method names.  (Bug#24665)
36852 2016-10-15  Sam Steingold  <sds@gnu.org>
36854         use full time objects (lists) instead of floats when possible
36856         * lisp/midnight.el (midnight-buffer-display-time): Remove
36857         (clean-buffer-list): Use float time only for time comparison
36859 2016-10-15  Sam Steingold  <sds@gnu.org>
36861         Save and restore buffer-display-time
36863         * lisp/desktop.el (desktop-locals-to-save): Add `buffer-display-time'
36864         (desktop-read): Set `desktop-file-modtime' before loading the desktop file
36865         (desktop-create-buffer): Adjust `buffer-display-time' for the downtime
36867 2016-10-15  Philipp Stephani  <phst@google.com>
36869         Disable bracketed paste in a terminal in char mode
36871         In char mode, a terminal doesn't accept bracketed paste events,
36872         therefore we should disable them; see Bug#24639.  To decouple the XTerm
36873         management from term.el, introduce a per-buffer setting to disable
36874         bracketed paste for that buffer.  If bracketed paste is inhiited for at
36875         least one buffer in a terminal, it is disabled for the whole terminal.
36877         * lisp/term/xterm.el (xterm-inhibit-bracketed-paste-mode): New mode to
36878         inhibit XTerm bracketed paste per buffer.
36879         (xterm--buffer-terminals, xterm--update-bracketed-paste)
36880         (xterm--bracketed-paste-possible, xterm--is-xterm): New helper
36881         functions.
36882         (xterm--init-bracketed-paste-mode): Remove unused helper
36883         function.
36884         (terminal-init-xterm): Update bracketed paste status when
36885         initializing an XTerm and on window configuration change.
36887         * lisp/term.el (term-char-mode, term-line-mode): Inhibit XTerm
36888         bracketed paste in char mode.
36890 2016-10-15  Dima Kogan  <dima@secretsauce.net>
36892         Undo the effect of CapsLock when other modifiers are present
36894         * src/keyboard.c (make_lispy_event): Effectively undo the effect
36895         of CapsLock if any modifiers other than Shift are present in a key.
36896         (Bug#24456)
36898 2016-10-15  Simen Heggestøyl  <simenheg@gmail.com>
36900         Add tests for foreign completions in CSS mode
36902         * test/lisp/textmodes/css-mode-tests.el
36903         (css-test-foreign-completions): New test for
36904         `css--foreign-completions'.
36905         (css-test-complete-selector-tag): Rename test.
36906         (css-test-complete-selector-class): New test testing completion of
36907         class names in selectors.
36908         (css-test-complete-selector-id): New test testing completion of IDs in
36909         selectors.
36911 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
36913         Cosmetic change to last mm-url change
36915         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
36916         Tweak last change slightly for more readability.
36918 2016-10-13  Lars Ingebrigtsen  <larsi@gnus.org>
36920         Fix problem with submitting binary data via HTTP forms
36922         * lisp/gnus/mm-url.el (mm-url-encode-multipart-form-data):
36923         Document the parameters, clean up the code, and make uploading
36924         binary data really work (which it didn't if the binary bits
36925         were in the last part of the data).
36927 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
36929         * lisp/time.el (display-time-string-forms): Fix custom type.
36931 2016-10-13  Mark Oteiza  <mvoteiza@udel.edu>
36933         Derive Man and WoMan modes from special-mode
36935         * lisp/man.el (Man-mode-map): Set parent to map composed from both
36936         button-buffer-map and special-mode-map.  Remove redundant bindings.
36937         Fix menu to refer to the quit-window command.
36938         (Man-mode): Derive from special-mode.  Fix docstring.  Remove redundant
36939         buffer-read-only binding.
36940         (Man-quit): Remove.
36941         * lisp/woman.el (woman-really-find-file): Use setq-local.
36942         (woman-mode-map): Refer to woman-mode in docstring.
36943         (woman-mode): Derive from special-mode.  Document woman-mode-map in
36944         docstring.  Use setq-local where possible; imenu-generic-expression is
36945         already buffer-local.
36946         (woman-negative-vertical-space): Replace unused binding with _.
36948 2016-10-13  Philipp Stephani  <phst@google.com>
36950         Fix crash in evaluating functions
36952         See Bug#24673
36954         * src/eval.c (funcall_lambda): Fix crash for bogus functions such
36955         as (closure).
36957         * test/src/eval-tests.el (eval-tests--bug24673): Add test.
36959 2016-10-13  Tino Calancha  <tino.calancha@gmail.com>
36961         Add test for Bug#24627
36963         * test/lisp/thingatpt-tests.el (thing-at-point-bug24627): New test.
36965 2016-10-12  Eli Zaretskii  <eliz@gnu.org>
36967         * lib-src/etags.c (invalidate_nodes): Remove a redundant nullp test.
36969 2016-10-11  Paul Eggert  <eggert@cs.ucla.edu>
36971         Work around Samba bug with ':' in symlink contents
36973         * src/filelock.c (current_lock_owner): When reading the contents
36974         of a lock, treat the UTF-8 for U+F022 as if it were ':' (Bug#24656).
36976 2016-10-11  Stefan Monnier  <monnier@iro.umontreal.ca>
36978         If autoloads buffer is unchanged, mark it as such (bug#23692)
36980         * lisp/emacs-lisp/autoload.el (update-directory-autoloads):
36981         If autoloads buffer is unchanged, mark it as such (bug#23692).
36983 2016-10-11  Michael Albinus  <michael.albinus@gmx.de>
36985         Use "26.1" version string in Tramp, fix some comments
36987         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods):
36988         * lisp/net/tramp-sh.el (tramp-remote-process-environment):
36989         Use "26.1" version string.
36991 2016-10-10  Tino Calancha  <tino.calancha@gmail.com>
36993         form-at-point work for all kind of THINGS
36995         * lisp/thingatpt.el (form-at-point):
36996         Use thing-at-point--read-from-whole-string only if thing-at-point
36997         returns a string (Bug#24605).
36999 2016-10-10  Eli Zaretskii  <eliz@gnu.org>
37001         Fix compilation warnings on MS-Windows
37003         * src/w32.c (_ANONYMOUS_UNION, _ANONYMOUS_STRUCT): Remove
37004         definitions of these macros, which seem to be unneeded and cause
37005         compiler warnings.
37006         * src/fileio.c (NOMINMAX): Avoid compiler warnings about unused
37007         macros.
37008         * src/firstfile.c (dummy_main_reference): Rename from 'dummy' and
37009         make it external, to avoid compiler warning.
37011 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
37013         Spelling and clarity fixes
37015 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
37017         Merge from origin/emacs-25
37019         4f406e9 CC Mode manual: remove reference to former Emacs variable las...
37020         44e402e Allow to disable compaction of font caches
37021         4ff4b66 Allow selection of font for symbols as in Emacs 24.x
37022         c03d44b ; Fix last commit
37023         d4be4f3 ; Fix indexing in lispref manual
37024         ed399f2 ; Minor improvement in documentation of generators
37025         197a6bc Fix horizontal scrolling during Isearch
37026         3566644 Fix infloop in redisplay due to truncated lines and invisible...
37028         # Conflicts:
37029         #       etc/NEWS
37031 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
37033         Merge from origin/emacs-25
37035         c4a5e7e Improve documentation of 'menu-bar-open'
37037 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
37039         Merge from origin/emacs-25
37041         4b347fe Clarify that doc fixes are okay in feature freeze
37042         01669ad Avoid crashes when setting the cursor
37043         f2144ee Restore 'command-debug-status' functionality
37044         ec6e4b9 ; Minor addition to CONTRIBUTE
37046 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
37048         Merge from origin/emacs-25
37050         74b4f13 Document nil args of compare-buffer-substrings
37051         9fc81bc * doc/misc/message.texi (Bcc Warning): Fix markup.
37052         95baa25 * doc/misc/message.texi (Bcc Warning): Document mml-secure-sa...
37054 2016-10-10  Paul Eggert  <eggert@cs.ucla.edu>
37056         Merge from origin/emacs-25
37058         f1247f0 * lisp/frame.el (blink-cursor-delay): Doc fix.  (Bug#24372)
37059         ace7f14 * lisp/gnus/gnus-art.el (gnus-button-handle-library): Fix typo.
37060         bbf1ffd Regexp Functions doc minor fixes
37062 2016-10-08  Philipp Stephani  <phst@google.com>
37064         Don’t consider nested let-alist forms
37066         See Bug#24641.
37068         * lisp/emacs-lisp/let-alist.el (let-alist--deep-dot-search): Don’t
37069         consider symbols in nested ‘let-alist’ forms.
37071         * test/lisp/emacs-lisp/let-alist-tests.el
37072         (let-alist--deep-dot-search--nested): Add a unit test.
37074 2016-10-08  Alain Schneble  <a.s@realize.ch>
37076         Support SIGTRAP in kill emulation on Windows
37078         * src/w32proc.c (sys_kill): Translate SIGTRAP signal into a call to
37079         'DebugBreakProcess' to cause a breakpoint exception to occur in the
37080         specified process.  On Windows versions prior to Windows XP that do
37081         not support 'DebugBreakProcess' return -1 and set errno to ENOTSUP
37082         (as opposed to EINVAL before this change).
37083         * src/w32proc.c: Add typedef for 'DebugBreakProcess' function pointer
37084         and global variable to track state of run-time dynamic linking of this
37085         function.
37087         * etc/NEWS: Add entry to document that 'signal-process' now supports
37088         SIGTRAP.
37090 2016-10-08  Eli Zaretskii  <eliz@gnu.org>
37092         Deprecate 'wp' group and introduce a new group 'text'
37094         * lisp/textmodes/tildify.el (tildify):
37095         * lisp/textmodes/text-mode.el (text-mode-hook):
37096         * lisp/textmodes/table.el (table):
37097         * lisp/textmodes/rst.el (rst):
37098         * lisp/textmodes/refer.el (refer):
37099         * lisp/textmodes/refbib.el (refbib):
37100         * lisp/textmodes/picture.el (picture):
37101         * lisp/textmodes/nroff-mode.el (nroff):
37102         * lisp/textmodes/enriched.el (enriched):
37103         * lisp/textmodes/bib-mode.el (bib):
37104         * lisp/progmodes/ebnf2ps.el (ebnf2ps):
37105         * lisp/nxml/rng-valid.el (relax-ng):
37106         * lisp/view.el (view):
37107         * lisp/ps-print.el (ps-print):
37108         * lisp/printing.el (printing):
37109         * lisp/outline.el (outlines):
37110         * lisp/lpr.el (lpr):
37111         * lisp/delim-col.el (columns): Use 'text' group instead of 'wp'.
37112         * lisp/cus-edit.el (wp): Remove the "text" tag.
37113         (text): New defgroup, inherits from the deprecated 'wp'.
37114         (outlines): Remove, in favor of the definition in outline.el.
37115         (tex): Inherit from 'text'.
37116         Suggested by Drew Adams <drew.adams@oracle.com>.  (Bug#24549)
37118 2016-10-08  Laimonas Vėbra  <laimonas.vebra@yahoo.com>  (tiny change)
37120         Extend dictionary and library-directory handling for Ispell
37122         * lisp/textmodes/ispell.el (ispell-check-version): Allow
37123         overriding LIBDIR via the variable defined by LIBRARYVAR (usually
37124         ISPELL_DICTDIR).
37125         (ispell-valid-dictionary-list): If the -d option to Ispell
37126         specifies an absolute file name, use that regardless of
37127         ispell-library-directory.  (Bug#24439)
37129 2016-10-07  Tassilo Horn  <tsdh@gnu.org>
37131         Fix unescaped \begin{...} in docstring
37133         * lisp/textmodes/reftex-cite.el (reftex-bib-or-thebib): Fix unescaped
37134         \begin{...} in docstring.
37136 2016-10-06  Noah Friedman  <friedman@splode.com>
37138         Update comment.
37140 2016-10-06  Eli Zaretskii  <eliz@gnu.org>
37142         Fix compilation with MinGW runtime 3.22.2 and w32api 3.18.2
37144         * nt/inc/ms-w32.h (_WIN32_WINNT) [!MINGW_W64]: Undefine before
37145         defining to avoid redefinition warnings.
37147         * nt/inc/sys/stat.h (_SYS_STAT_H, _INC_STAT_H): Define, to avoid
37148         inclusion of sys/stat.h from the system headers, which could then
37149         lead to compilation errors due to redefinition of 'struct stat'
37150         etc.  This is needed because latest versions of MinGW runtime
37151         include sys/stat.h from wchar.h.
37153         * src/image.c (__MINGW_MAJOR_VERSION) [WINDOWSNT]: Temporarily
37154         redefine to 4 to avoid conflict between 2 definitions of
37155         MemoryBarrier.  (Bug#24613)
37157 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
37159         * lisp/url/url-parse.el (url-generic-parse-url): Unquote macro URL argument.
37161 2016-10-05  Mark Oteiza  <mvoteiza@udel.edu>
37163         Autoload entry point testcover-start
37165         * lisp/emacs-lisp/testcover.el: Add autoload cookie for
37166         testcover-start.
37168 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
37170         Bump version of ntlm.el to 2.1.0
37172         * lisp/net/ntlm.el: Bump version to 2.1.0.
37174 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
37176         lisp/net/ntlm.el: Fix comment and docstring formatting
37178 2016-10-05  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
37180         lisp/net/ntlm.el: Match Mozilla Type 1 and 3 message behavior
37182         * lisp/net/ntlm.el (ntlm-build-auth-request): Only set
37183         "negotiate domain supplied" bit when a domain is supplied.  Do
37184         not set "negotiate workstation supplied" bit.
37185         (ntlm-build-auth-response): Set domain to empty string by
37186         default.  Set workstation name to "WORKSTATION".  Set flags to
37187         logical and of Type 1 and Type 2 message flags.  Remove four
37188         trailing 0 bytes.  Always set LM response.  Hard-code domain
37189         offset.  Reorder buffer fields.
37191 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
37193         Document return value of `display-buffer-in-side-window'
37195         * doc/lispref/windows.texi (Displaying Buffers in Side Windows):
37196         * lisp/window.el (display-buffer-in-side-window): Describe
37197         return value of `display-buffer-in-side-window'.
37199 2016-10-05  Eli Zaretskii  <eliz@gnu.org>
37201         Improve wording in side windows documentation
37203         * doc/lispref/windows.texi (Displaying Buffers in Side Windows)
37204         (Side Window Options and Functions)
37205         (Frame Layouts with Side Windows): Minor wording improvements.
37207 2016-10-05  Martin Rudalics  <rudalics@gmx.at>
37209         Document and fix some bugs with side windows
37211         Add a documentation for side windows and fix some bugs
37212         found when testing their behavior.  Also add a new window
37213         parameter `no-delete-other-window', a new `display-buffer'
37214         alist member called `window-parameters', and functions to
37215         toggle and reverse side windows on a frame.  Add new function
37216         `window-swap-states' to exchange states of two live windows.
37218         * lisp/window.el (display-buffer-in-atom-window): Use
37219         `split-window-no-error'.
37220         (window-sides-vertical): Maybe change layouts when setting this
37221         variable.
37222         (window-sides-reversed): New option.
37223         (window-sides-slots): Rewrite doc-string and help echoes.
37224         (window-sides-shown): New buffer-local variable set when showing
37225         a buffer in a side window.
37226         (window--sides-inhibit-check): New variable.
37227         (window--sides-reverse-on-frame-p, window-toggle-side-windows)
37228         (window--sides-reverse-all, window--sides-reverse-frame)
37229         (window--sides-reverse-side, window--sides-reverse)
37230         (window--sides-verticalize-frame, window--sides-verticalize)
37231         (window--sides-check-failed): New functions.
37232         (window--side-window-p): Remove function.
37233         (window--major-non-side-window): Rename to `window-main-window',
37234         adjust callers, rewrite doc-string.
37235         (window--major-side-window): Rename to
37236         `window--make-major-side-window-next-to', adjust caller, fix
37237         doc-string.
37238         (display-buffer-in-major-side-window): Rename to
37239         `window--make-major-side-window', adjust
37240         caller, rewrite doc-string.  Make `window-side' and
37241         `window-slot' parameters persistent (Bug#23858).  Don't set
37242         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
37243         (delete-side-window): Remove function.
37244         (display-buffer-in-side-window): Fix doc-string.  Don't set
37245         `delete-window' parameter.  Add `preserve-size' entry to ALIST.
37246         (window--side-check): Rename to window--sides-check.  Rewrite
37247         completely.  Adjust caller.
37248         (window-resize-no-error): Don't describe PIXELWISE argument.
37249         (adjust-window-trailing-edge): Fix bug that disallowed
37250         re-enlarging windows that were too small.
37251         (window-deletable-p): Don't tell that a minibuffer window on a
37252         non-minibuffer-only frame can be deleted.  Fix doc-string.
37253         (delete-window): Handle deleting a side window here (the
37254         `delete-window' parameter is no more set for side windows).
37255         (delete-other-windows): Handle ‘no-delete-other-window'
37256         parameter. Don't treat side windows separately (see discussion
37257         of Bug#24368) but keep optimization that makes the main window
37258         the root window of its frame.
37259         (switch-to-prev-buffer, switch-to-next-buffer): Handle side
37260         windows and buffers shown in side windows separately.
37261         (split-window-no-error): New function.
37262         (window--state-get-1): Use right buffer when storing window
37263         point and start positions and WRITABLE is nil (Bug#24368).
37264         (window--state-put-1): Fix handling of `window-combination-limit'.
37265         Use `split-window-no-error'.
37266         (window--state-put-2): Try to restore windows with preserved
37267         size to their original size.  Fix bug where a fixed window's width
37268         was not preserved.
37269         (window-state-put): When reducing an internal window to a live
37270         one, don't choose a side window.
37271         (window-swap-states): New function.
37272         (window-splittable-p): Don't call `window--side-window-p'.
37273         (window--display-buffer): Handle `window-parameters' ALIST entry.
37274         Minor rewrite.
37275         (display-buffer): Mention `window-parameters' entry in
37276         doc-string.
37277         (display-buffer-at-bottom): Call `split-window-no-error'.
37279         * doc/lispref/elisp.texi (Top): New section "Side Windows".
37280         * doc/lispref/windows.texi (Deleting Windows): Fix descriptions
37281         of `delete-window' and `delete-other-windows' wrt window
37282         parameters and side windows.
37283         (Display Action Functions): Mention `window-parameters' ALIST
37284         entry.
37285         (Side Windows): New section (Bug#18170).
37286         (Window Configurations): Describe new function `window-swap-states'.
37287         (Window Parameters): Say that functions may behave specially when
37288         their homonymous window parameter has been set.  Mention new
37289         parameter `no-delete-other-window'.  Add cross reference for
37290         `window-side' and `window-slot' parameters.
37292 2016-10-04  John Wiegley  <johnw@newartisans.com>
37294         Add documentation note from Alex
37296 2016-10-04  Mark Oteiza  <mvoteiza@udel.edu>
37298         Avoid dynamic binding on a symbol
37300         Instead, bind history in the default minibuffer-history.
37301         Fixes bug#24580.
37302         * lisp/replace.el (query-replace-read-from): Let-bind
37303         minibuffer-history.  Change read-regexp and read-from-minibuffer's
37304         HISTORY arguments to nil so that they use minibuffer-history.
37306 2016-10-03  Stefan Monnier  <monnier@iro.umontreal.ca>
37308         * src/fileio.c (Finsert_file_contents): Fix hook handling (bug#24340)
37310         * src/fileio.c (Finsert_file_contents): Run before-change-hooks before
37311         deleting the old buffer content.
37312         * src/lisp.h (del_range_byte):
37313         * src/insdel.c (del_range_byte): Drop the last argument.
37314         * src/fns.c (Fbase64_encode_region): Adjust accordingly.
37316 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
37318         Ibuffer: 'w' and 'B' default to buffer at current line
37320         See discussion in:
37321         https://lists.gnu.org/r/emacs-devel/2016-09/msg00384.html
37322         * lisp/ibuffer.el (ibuffer--near-buffers): New defun;
37323         return buffers near current line.
37324         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): Use it.
37325         Add argument ARG; if a non-zero integer, return next ARG buffers.
37326         Otherwise return the marked buffers.
37327         If there are not marked buffers, return buffer at current line
37328         without prompting the user.
37329         Use ibuffer-get-marked-buffers instead of ibuffer-map-marked-lines.
37330         Append to kill ring when last command was a kill-region.
37331         (ibuffer-copy-filename-as-kill): Idem.
37332         Simplify the code.
37333         Use ibuffer-buffer-file-name instead of buffer-file-name to
37334         include buffers in Dired mode.
37336 2016-10-03  Tino Calancha  <tino.calancha@gmail.com>
37338         dired-mark-extension: Unmark if called with C-u prefix
37340         See discussion in #Bug2518 and:
37341         https://lists.gnu.org/r/emacs-devel/2016-09/msg00711.html
37342         * lisp/dired-x.el (dired-mark-extension):
37343         Update interactive calls: a prefix arg C-u unmark files;
37344         a prefix C-u C-u prompt for MARKER-CHAR and mark files with it.
37345         (dired-mark-sexp):
37346         Show in the prompt that we are unmarking if called with a prefix argument.
37347         * doc/misc/dired-x.texi (Advanced Mark Commands):
37348         Update documentation for 'dired-mark-extension'.
37350 2016-10-02  Karl Fogel  <kfogel@red-bean.com>
37352         Document yank behavior in the right place
37354         * lisp/simple.el (yank): Document the handling of the
37355         `yank-handled-properties' and `yank-excluded-properties' variables,
37356         and the `yank-handler' text property.
37357         (yank-pop): Refer to `yank' now (bug#286)
37359         * lisp/subr.el (insert-for-yank): Refer to `yank' now.
37360         (insert-for-yank-1): Refer to `insert-for-yank' now.
37362         See this thread for discussion:
37364           https://lists.gnu.org/r/emacs-devel/2016-09/threads.html#00329
37365           From: Karl Fogel
37366           To: Emacs Devel
37367           Subject: Question about intended behavior of 'insert-for-yank-1'.
37368           Date: Mon, 12 Sep 2016 00:17:14 -0500
37369           Message-ID: <874m5lr92d.fsf@red-bean.com>
37371 2016-10-02  Philipp Stephani  <phst@google.com>
37373         Restart blink cursor timers on interval changes
37375         This prevents surprising behavior when timer interval customizations are
37376         only applied whenever the timers happen to be restarted (see Bug#24372).
37378         * lisp/frame.el (blink-cursor--start-idle-timer)
37379         (blink-cursor--start-timer): New functions.
37380         (blink-cursor-start, blink-cursor-check, blink-cursor-mode): Use
37381         the new helper functions.
37382         (blink-cursor-delay, blink-cursor-interval): Restart timers when
37383         the value is changed.
37385 2016-10-01  Philipp Stephani  <phst@google.com>
37387         Use a simple keyword for a non-nil argument
37389         The second argument of `run-with-idle-timer' is Boolean, i.e. only nil
37390         and non-nil values are distinguished.  Passing a number here is
37391         confusing.  Pass a descriptive symbol instead.
37393         * lisp/frame.el (blink-cursor-mode, blink-cursor-check): Use
37394         :repeat symbol instead of number for second argument of
37395         `run-with-idle-timer'
37397 2016-10-01  Philipp Stephani  <phst@google.com>
37399         Make querying to kill processes customizable
37401         Introduce a new customization option, `confirm-kill-processes', that
37402         users can set to nil if they don't want Emacs to nag them about killing
37403         processes.
37405         * lisp/files.el (confirm-kill-processes): New customization option.
37406         (save-buffers-kill-emacs): Use customization option.
37408         * test/lisp/files-tests.el
37409         (files-test--save-buffers-kill-emacs--confirm-kill-processes): Add
37410         test for new customization option.
37412         * doc/emacs/entering.texi (Exiting): Document new user option.
37414         * doc/lispref/processes.texi (Query Before Exit): Document new
37415         user option.
37417         * etc/NEWS: Document new user option.
37419 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
37421         Set :version of 'debugger-stack-frame-as-list'
37423         * lisp/cus-start.el (debugger-stack-frame-as-list): Give value to
37424         the ':version' attribute.
37426 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
37428         Bump Emacs version to 26.0.50
37430         * README:
37431         * configure.ac:
37432         * etc/NEWS:
37433         * etc/refcards/ru-refcard.tex:
37434         * msdos/sed2v2.inp:
37435         * src/msdos.c: Increment Emacs version to 26.0.50.
37436         * etc/NEWS.25: New file, copied from etc/NEWS with post-25.1 stuff
37437         moved to etc/NEWS.
37439 2016-10-01  Eli Zaretskii  <eliz@gnu.org>
37441         Avoid compilation warning on MinGW
37443         * src/w32.c: Include string.h, needed for the prototype of
37444         'strerror', shadowed by 'sys_strerror'.  This avoids a compiler
37445         warning about "no previous prototype".  The string.h header
37446         must be included after ms-w32.h, but before "#undef strerror".
37448 2016-09-30  Alan Third  <alan@idiocy.org>
37450         Fix compatibility with macOS 10.12 pmset (bug#24537)
37452         * lisp/battery.el (battery-pmset): Recognize and ignore battery id if
37453         present in output.
37455 2016-09-30  Paul Eggert  <eggert@cs.ucla.edu>
37457         Limit <config.h>’s includes
37459         This follows up on recent problems with the fact that config.h
37460         includes stdlib.h etc.; some files need to include stdlib.h later.
37461         config.h generally should limit itself to includes that are
37462         universally safe; outside of MS-Windows, only stdbool.h makes
37463         the cut among the files currently included.  So, move the
37464         other includes to just the files that need them (Bug#24506).
37465         * configure.ac (config_opsysfile): Remove, as this generic hook
37466         is no longer needed.
37467         * lib-src/etags.c, src/unexmacosx.c, src/w32.c, src/w32notify.c:
37468         * src/w32proc.c (_GNU_SOURCE):
37469         Remove, as it’s OK for config.h to do this now.
37470         * src/conf_post.h: Include <ms-w32.h>, instead of the generic
37471         config_opsysfile, for simplicity as this old way of configuring is
37472         now done only for the MS-Windows port.  Do not include <ms-w32.h>
37473         if DEFER_MS_W32_H, for the benefit of the few files that want its
37474         effects later.  Do not include <alloca.h>, <string.h>, or
37475         <stdlib.h>.  Other files modified to include these headers as
37476         needed, or to not include headers that are no longer needed.
37477         * src/lisp.h: Include <alloca.h> and <string.h> here, since
37478         some of the inline functions need them.
37479         * src/regex.c: Include <alloca.h> if not emacs.  (If emacs,
37480         we can rely on SAFE_ALLOCA.)  There is no longer any need to
37481         worry about HAVE_ALLOCA_H.
37482         * src/unexmacosx.c: Rely on config.h not including stdlib.h.
37483         * src/w32.c, src/w32notify.c, src/w32proc.c (DEFER_MS_W32_H):
37484         Define before including <config.h> first, and include <ms-w32.h>
37485         after the troublesome headers.
37487 2016-09-30  Vasilij Schneidermann  <v.schneidermann@gmail.com>
37489         New user option 'debugger-stack-frame-as-list'
37491         * src/eval.c (syms_of_eval) <debugger-stack-frame-as-list>: New
37492         variable.
37493         * lisp/cus-start.el (standard): Add debugger-stack-frame-as-list.
37494         * lisp/emacs-lisp/debug.el (debugger-setup-buffer): Adjust
37495         backtrace processing for the value of debugger-stack-frame-as-list.
37496         * lisp/emacs-lisp/edebug.el (edebug-backtrace): Adjust backtrace
37497         processing for the value of debugger-stack-frame-as-list.
37498         * doc/lispref/debugging.texi (Internals of Debugger): Document
37499         debugger-stack-frame-as-list.
37500         * etc/NEWS: Mention 'debugger-stack-frame-as-list'.
37502 2016-09-30  Aurelien Aptel  <aaptel@suse.com>
37504         * src/alloc.c: call only non-null finalizers
37506 2016-09-30  Eli Zaretskii  <eliz@gnu.org>
37508         Avoid compiler warnings in image.c on MS-Windows
37510         * src/image.c (DrawText, g_type_init) [WINDOWSNT]: Avoid compiler
37511         warning about unused macros.
37513 2016-09-30  Paul Rankin  <hello@paulwrankin.com>
37515         * lisp/outline.el (outline-invisible-p): Only return `t' for
37516         the 'outline property.
37518 2016-09-29  Paul Eggert  <eggert@cs.ucla.edu>
37520         Fix problems found by static checking --with-ns
37522         This is for Fedora 24 when configured with --enable-gcc-warnings.
37523         Although it does not fix all the problems, it fixes many of them.
37524         * src/frame.c (XParseGeometry):
37525         * src/nsterm.m (mouseDown:):
37526         Mark locals with UNINIT to pacify --enable-gcc-warnings.
37527         * src/image.c (PIX_MASK_DRAW, DefaultDepthOfScreen):
37528         Remove unused macros.
37529         (slurp_file xbm_scan, xbm_read_bitmap_data, xbm_load_image)
37530         (xbm_file_p, xbm_load, xpm_scan, xpm_make_color_table_v)
37531         (xpm_put_color_table_v, xpm_get_color_table_v)
37532         (xpm_make_color_table_h, xpm_put_color_table_h)
37533         (xpm_get_color_table_h, xpm_load_image, xpm_load)
37534         (pbm_next_char, pbm_scan_number, pbm_load, svg_load)
37535         (svg_load_image):
37536         * src/nsfns.m (x_get_string_resource):
37537         * src/nsimage.m (ns_image_from_XBM):
37538         Fix pointer signedness problems.
37539         * src/image.c (xpm_load_image, x_build_heuristic_mask, pbm_load)
37540         (imagemagick_load_image): Omit unused locals.
37541         * src/nsfns.m (ns_send_types, ns_return_types, ns_drag_types)
37542         (Fx_open_connection):
37543         * src/nsfont.m (ns_antialias_threshold):
37544         Move extern decl to nsterm.h so it can be checked.
37545         * src/nsmenu.m (svcsMenu, dockMenu):
37546         Move to the only file that uses them, so they can be static.
37547         * src/nsterm.h (find_and_call_menu_selection):
37548         * src/nsterm.m (x_set_frame_alpha):
37549         Omit duplicate decls.
37550         * src/nsterm.h (ns_dump_glyphstring): Mark as EXTERNALLY_VISIBLE.
37551         * src/nsfns.m (ns_tooltip, ns_display_info_for_name)
37552         (ns_set_name_as_filename, x_set_menu_bar_lines)
37553         (x_set_tool_bar_lines, x_set_internal_border_width):
37554         * src/nsterm.m (ns_drag_types, ns_draw_text_decoration):
37555         Now static.
37556         * src/nsfns.m (ns_lisp_to_cursor_type, ns_cursor_type_to_lisp):
37557         * src/nsterm.m (ns_free_indexed_color, ns_color_to_lisp):
37558         Remove; unused.
37559         * src/nsfont.m (ns_dump_glyphstring):
37560         * src/nsterm.m (hide_bell, ns_get_color, ns_color_to_lisp)
37561         (ns_clear_frame, keyDown:):
37562         Fix signedness problem with printf arg.
37563         * src/nsterm.h (ns_input_events, ns_finish_events):
37564         * src/nsterm.m (ns_finish_events, hide_bell):
37565         Prototype the decls.
37566         * src/nsterm.m (NSMenuDidBeginTrackingNotification):
37567         Omit unnecessary decl.
37568         (dockMenu):
37569         (mainMenu) [NS_IMPL_COCOA]: Now static, and in this file.
37570         (ns_dumpglyphs_box_or_relief, changeFont:, initFrameFromEmacs:)
37571         (toggleFullScreen:): Use FACE_FROM_ID instead of
37572         FACE_FROM_ID_OR_NULL in contexts where the caller expects the
37573         result to be non-null.
37574         (applicationShouldTerminate:): Fix misleading indentation.
37576 2016-09-28  Mark Oteiza  <mvoteiza@udel.edu>
37578         Turn on more lexical-binding
37580         * lisp/dom.el:
37581         * lisp/faces.el:
37582         * lisp/htmlfontify.el: Turn on lexical-binding.
37583         (htmlfontify-string): Use pushnew instead of add-to-list.
37584         * lisp/info-xref.el:
37585         * lisp/isearch.el:
37586         * lisp/man.el:
37587         * lisp/ps-def.el:
37588         * lisp/ps-print.el:
37589         * lisp/replace.el: Turn on lexical-binding.  Require cl-lib at compile
37590         time.
37591         (multi-occur): Use cl-pushnew instead of add-to-list.
37592         (replace-match-string-symbols): Remove unused lexical variable.
37593         (replace-search, replace-highlight): Fix argument shadowing.
37594         * lisp/sort.el:
37595         * lisp/xml.el: Turn on lexical-binding.
37596         (xml--parse-buffer): Use push instead of add-to-list.
37597         * lisp/xt-mouse.el: Turn on lexical-binding.
37599 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
37601         * admin/notes/bug-triage: Do not mention closed bugs
37603         * admin/notes/bug-triage: Do not mention closed bugs, they are
37604         suppressed by default in debbugs-{gnu,org}.
37606 2016-09-27  Michael Albinus  <michael.albinus@gmx.de>
37608         * etc/PROBLEMS: Remove problem Bug#22814, again.
37610 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
37612         Stick with debbugs-supported tags in triage
37614         * admin/notes/bug-triage: Stick to the tag "unreproducible", which
37615         debbugs supports, rather than suggesting "doneunreproducible" or
37616         "unreproducable".
37618 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
37620         Merge from origin/emacs-25
37622         9fc9988 Improve documentation of 'expand-abbrev' and wrapper hooks
37623         c14a1d4 Minor copyedits of MS-Windows installation instructions
37624         f281924 Fix display of cursor when 'blink-cursor-delay' has small value
37626         # Conflicts:
37627         #       lisp/minibuffer.el
37629 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
37631         Merge from origin/emacs-25
37633         0ae9a81 Document 'timerp'
37634         2c72c46 Improve documentation of overlay priorities
37635         f6fa160 Fix 'dired-compress-files'
37636         2b8c5f0 Update commentary of STRING_CHAR and FETCH_MULTIBYTE_CHAR
37638         # Conflicts:
37639         #       lisp/dired.el
37640         #       src/buffer.h
37641         #       src/character.h
37643 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
37645         Merge from origin/emacs-25
37647         cf9e174 Document the optional zlib library in MS-Windows builds
37648         84eb144 ; * admin/notes/unicode: Mention BidiCharacterTest.txt.
37649         73c67dd Fix tagging of DEFUN by etags
37650         ea1960b Avoid resetting track-mouse by mouse clicks
37651         505fef3 Improve nt/README.W32 instructions
37652         1229cc4 Document that desktop file overrides frame parameters
37653         f0eb70d ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 release
37655         # Conflicts:
37656         #       ChangeLog.2
37657         #       admin/notes/unicode
37658         #       lisp/ldefs-boot.el
37660 2016-09-26  Paul Eggert  <eggert@cs.ucla.edu>
37662         Merge from origin/emacs-25
37664         0ffc9ce Update admin/authors.el
37665         0ad7410 Update Antinews in ELisp manual
37666         ea0f750 Fix comments on window height macros
37667         0bbdeed Fix 'url-http-create-request' when cookies are used
37668         0045998 Fix cross reference in frames.texi
37669         1392894 ; * etc/DEBUG: Minor copyedits.
37670         304a5c8 ; * etc/DEBUG: Improve documentation of getting control to GDB.
37671         56bf7d7 Fix regexp-opt documentation (bug #17862)
37672         803ad6f ; Fix documentation of seq-subseq
37673         ed4530d * lisp/emacs-lisp/gv.el (gv-ref): Fix example of PLACE in doc...
37674         88ea396 ; Spelling fixes
37675         17197d0 Fix tags-query-replace docstring
37676         80a7f8b Clarify documentation of precision in format specs
37677         88a5052 Improve and clarify documentation of subprocesses
37678         89eb09f * etc/PROBLEMS: Mention gnutls-cli 3.5.3 (Bug#24247).
37680         # Conflicts:
37681         #       etc/PROBLEMS
37682         #       src/process.c
37684 2016-09-26  Michael Albinus  <michael.albinus@gmx.de>
37686         * lisp/net/tramp-compat.el (tramp-compat-funcall): Don't use `subrp'.
37688 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
37690         Fix 'dired-mark-extension' with prefix argument
37692         * lisp/dired-x.el (dired-mark-extension): Allow to specify
37693         MARKER-CHAR interactively as a string, not as a character's
37694         codepoint.  (Bug#24518)
37696         * doc/misc/dired-x.texi (Advanced Mark Commands): Document the
37697         behavior when invoked with a prefix arg.
37699 2016-09-24  Simen Heggestøyl  <simenheg@gmail.com>
37701         Support completion of classes and IDs in CSS mode
37703         * lisp/textmodes/css-mode.el (css-class-list-function): New variable
37704         holding the function to call for retrieving completions of class
37705         names.
37706         (css-id-list-function): New variable holding the function to call for
37707         retrieving completions of IDs.
37708         (css--foreign-completions): New function for retrieving completions
37709         from other buffers.
37710         (css--complete-selector): Support completing HTML class names and IDs
37711         from other buffers in addition to completing HTML tags.
37713         * lisp/textmodes/sgml-mode.el (html--buffer-classes-cache): New
37714         variable holding a cache for `html-current-buffer-classes'.
37715         (html--buffer-ids-cache): New variable holding a cache for
37716         `html-current-buffer-ids'.
37717         (html-current-buffer-classes): New function returning a list of class
37718         names used in the current buffer.
37719         (html-current-buffer-ids): New function returning a list of IDs used
37720         in the current buffer.
37721         (html-mode): Set `css-class-list-function' and `css-id-list-function'
37722         to `html-current-buffer-classes' and `html-current-buffer-ids'
37723         respectively.
37725 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
37727         Update test suite files due to removal of test/lisp/legacy
37729         * test/README: Reference file-organization.org.
37730         * test/file-organization.org: Remove the description of files in
37731         the lisp/legacy/ directory.
37733 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
37735         Incorporate syntax-tests in lisp-tests.
37737         * test/lisp/emacs-lisp/lisp-tests.el: Add tests from
37738         test/lisp/legacy/syntax-tests.el.
37739         * test/lisp/legacy/syntax-tests.el: File deleted.
37741 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
37743         Incorporate occur-tests in replace-tests
37745         * test/lisp/replace-tests.el: Add tests from
37746         test/lisp/legacy/occur-tests.el.
37747         * test/lisp/legacy/occur-tests.el: File deleted.
37749 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
37751         Incorporate lexbind-tests.el in bytecomp-test.el
37753         * test/lisp/emacs-lisp/bytecomp-tests.el: Added tests from
37754         test/lisp/legacy/lexbind-tests.el.
37755         * test/lisp/legacy/lexbind-tests.el: File deleted.
37757 2016-09-24  Paul Eggert  <eggert@cs.ucla.edu>
37759         Improve integer overflow handling a bit
37761         * src/charset.c (read_hex): Use INT_LEFT_SHIFT_OVERFLOW for clarity.
37762         The machine code is the same on my platform.
37763         * src/doprnt.c (doprnt):
37764         * src/emacs-module.c (module_funcall):
37765         * src/font.c (font_intern_prop):
37766         * src/keyboard.c (Frecursion_depth):
37767         * src/lread.c (read1):
37768         Use WRAPV macros instead of checking overflow by hand.
37769         * src/editfns.c (hi_time, time_arith, decode_time_components):
37770         * src/emacs-module.c (Fmodule_load):
37771         Simplify by using FIXNUM_OVERFLOW_P.
37772         * src/emacs-module.c: Include intprops.h.
37773         * src/xdisp.c (percent99): New function.
37774         (decode_mode_spec): Use it to simplify overflow avoidance and
37775         formatting of %p and %P.
37777 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
37779         Incorporate core-elisp-tests in lisp-tests
37781         * test/lisp/emacs-lisp/lisp-tests.el: Added tests from
37782         test/lisp/legacy/core-elisp-tests.el.
37783         * test/lisp/legacy/core-elisp-tests.el: File removed.
37785 2016-09-24  Eli Zaretskii  <eliz@gnu.org>
37787         Move coding-tests.el and decoder-test.el to their places
37789         * test/src/coding-tests.el: Added all the tests from
37790         test/lisp/legacy/decoder-tests.el.
37791         * test/lisp/legacy/decoder-tests.el: File deleted.
37793 2016-09-23  Vibhav Pant  <vibhavp@gmail.com>
37795         Use correct TYPE value for displaying error messages in (erc-display-message)
37797 2016-09-23  Eli Zaretskii  <eliz@gnu.org>
37799         Bump the version to 25.2.50
37801         * README:
37802         * configure.ac:
37803         * etc/NEWS:
37804         * msdos/sed2v2.inp: Increment the Emacs version to 25.2.50.
37806 2016-09-22  Tino Calancha  <tino.calancha@gmail.com>
37808         ibuffer-do-view-other-frame: Display each buffer in a new frame
37810         * lisp/ibuffer.el (ibuffer-do-view-1):
37811         When TYPE equals 'other-frame, then display each buffer
37812         in a new frame (Bug#24086).
37814 2016-09-22  Paul Eggert  <eggert@cs.ucla.edu>
37816         Update from gnulib
37818         This incorporates:
37819         2016-09-22 stdint: port to GCC 7
37820         2016-09-22 limits-h, stdint: don't assume extensions
37821         * doc/misc/texinfo.tex, m4/limits-h.m4, m4/stdint.m4: Copy from gnulib.
37823 2016-09-22  Alan Mackenzie  <acm@muc.de>
37825         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Fix coding error
37827 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
37829         Port recent flexmember changes to NetBSD
37831         The NetBSD library supports localtime_rz directly, and without
37832         this change 'configure' omitted the flexmember test that is marked
37833         as conditional on localtime_rz.  Emacs now needs to use
37834         flexmember.m4 even when localtime_rz works.
37835         Problem reported by Thomas Klausner.
37836         * admin/merge-gnulib (GNULIB_MODULES): Add flexmember.
37837         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
37839 2016-09-21  Paul Eggert  <eggert@cs.ucla.edu>
37841         * doc/misc/texinfo.tex: Copy from gnulib.
37843 2016-09-21  Michael Albinus  <michael.albinus@gmx.de>
37845         * lisp/net/tramp.el (tramp-clear-passwd): Call also `auth-source-forget'.
37847 2016-09-20  Paul Eggert  <eggert@cs.ucla.edu>
37849         Use flexmembers on IBM XL C for AIX
37851         This removes a workaround where Emacs did not use flexible
37852         array members when compiled with IBM XL C.  Instead, avoid
37853         the problem by making the aliasing issues more obvious to
37854         this compiler.
37855         * admin/merge-gnulib: Don’t remove m4/flexmember.m4.
37856         * m4/flexmember.m4: Copy from gnulib.
37857         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Remove workaround.
37858         * src/alloc.c (allocate_string_data): Rephrase to avoid aliasing
37859         problem that would otherwise mess up code generated for flexible
37860         array members by IBM XL C for AIX, V12.1.
37861         * src/conf_post.h (FLEXIBLE_ARRAY_MEMBER): Remove; now done
37862         by gnulib code.
37864 2016-09-19  Michael Albinus  <michael.albinus@gmx.de>
37866         Fix a problem with Tramp when the temporary dir isn't C:/Temp on w32
37868         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name): Don't use
37869         `tramp-drop-volume-letter' any longer, it causes collateral
37870         damages.  Reported by Chris Zheng <chriszheng99@gmail.com>.
37872 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
37874         Port January __morecore changes to AIX 7.1
37876         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE, __morecore)
37877         (__after_morecore_hook):
37878         * src/ralloc.c (__morecore):
37879         Declare if DOUG_LEA_MALLOC is not defined, not if HAVE_MALLOC_H is
37880         not defined.  <malloc.h> does not declare these in AIX 7.1.
37882 2016-09-17  Paul Eggert  <eggert@cs.ucla.edu>
37884         Define _GNU_SOURCE in files delaying config.h
37886         Problem reported by Richard Copley in:
37887         https://lists.gnu.org/r/emacs-devel/2016-09/msg00440.html
37888         * src/w32.c, src/w32notify.c, src/w32proc.c (_GNU_SOURCE):
37889         Define early.
37891 2016-09-17  Eli Zaretskii  <eliz@gnu.org>
37893         Update the bidi test code and data
37895         * test/manual/BidiCharacterTest.txt: Import the version from
37896         Unicode Standard 9.0.0.
37897         * test/manual/biditest.el (biditest-generate-testfile): Allow 'x'
37898         in the 4th field of the test data.
37900 2016-09-17  Tino Calancha  <tino.calancha@gmail.com>
37902         ibuffer-do-toggle-read-only: Fix unused argument
37904         * lisp/ibuffer.el (ibuffer-do-toggle-read-only): Call
37905         'read-only-mode' with ARG when its an integer.
37906         Clarify the meaning of ARG in doc string.
37908 2016-09-17  Alan Mackenzie  <acm@muc.de>
37910         Improve accuracy of line/column numbers in byte compiler's warning messages.
37912         * lisp/emacs-lisp/bytecomp.el (byte-compile-set-symbol-position): ensure new
37913         value of byte-compile-last-position is not lower than old value.
37914         (byte-compile-function-warn): call byte-compile-set-symbol-position.
37916 2016-09-17  Michael Albinus  <michael.albinus@gmx.de>
37918         Minor Tramp tweaks
37920         * lisp/net/tramp.el (tramp-get-buffer): Reuse connection
37921         property "process-buffer" if already existing.
37922         (tramp-connectable-p): Suppress debug messages.
37924 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
37926         Define _GNU_SOURCE in unexmacosx.c
37928         Problem reported by Bob Halley in:
37929         https://lists.gnu.org/r/emacs-devel/2016-09/msg00427.html
37930         * src/unexmacosx.c (_GNU_SOURCE): Define if not already defined.
37932 2016-09-16  Alan Mackenzie  <acm@muc.de>
37934         C Mode: Fix mis-fontification of macro invocation as function declaration
37936         This happened with a macro invocation which was followed by a statement block
37937         in braces.
37939         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): CASE 11: distinguish
37940         between contexts nil and top, being less permissive in the former case.
37941         (c-just-after-func-arglist-p): call c-forward-decl-or-cast-1 with context top.
37943 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
37945         Improve the doc string of 'format'
37947         * src/editfns.c (Fformat): Fix ambiguity in the doc string's usage
37948         of a literal period.  (Bug#24407)
37950 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
37952         Improve doc strings in whitespace.el
37954         * lisp/whitespace.el (whitespace-mode, whitespace-newline-mode)
37955         (global-whitespace-mode, global-whitespace-newline-mode): Improve
37956         the doc strings.  (Bug#24413)
37958 2016-09-16  Eli Zaretskii  <eliz@gnu.org>
37960         Improve detectability of 'next-logical-line' and 'previous-logical-line'
37962         * lisp/simple.el (next-line, previous-line): Mention
37963         'next-logical-line' and 'previous-logical-line' in the doc
37964         strings.  (Bug#24443)
37966 2016-09-16  Paul Eggert  <eggert@cs.ucla.edu>
37968         Update from gnulib
37970         This incorporates:
37971         2016-09-16 extensions: fix typo in comment
37972         2016-09-16 stdio: don't redefine __USE_MINGW_ANSI_STDIO
37973         * m4/extensions.m4, m4/stdio_h.m4: Copy from gnulib.
37975 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
37977         Prefer now-standard int width macros
37979         * src/data.c (ULL_WIDTH):
37980         * src/lisp.h (EMACS_INT_WIDTH, BITS_PER_BITS_WORD):
37981         * src/lread.c (read_integer):
37982         * src/term.c (produce_glyphless_glyph):
37983         * src/xterm.c (x_send_scroll_bar_event):
37984         Use *_WIDTH macros instead of CHAR_BIT * sizeof.
37985         * src/data.c (ULL_WIDTH): Rename from BITS_PER_ULL for consistency
37986         with the *_WIDTH standard macros.  All uses changed.
37987         * src/gmalloc.c (INT_BIT): Remove.  All uses replaced with INT_WIDTH.
37988         * src/lisp.h (EMACS_INT_WIDTH): Rename from BITS_PER_EMACS_INT
37989         for consistency with the *_WIDTH standard macros.  All uses changed.
37990         (BITS_PER_CHAR): Remove; all uses replaced by CHAR_BIT.  This must
37991         be the same as CHAR_WIDTH and avoids confusion with Elisp
37992         char-width, which counts columns not bits.
37993         (BITS_PER_SHORT): Remove; all uses replaced by SHRT_WIDTH.
37994         (BITS_PER_LONG): Remove; all uses replaced by LONG_WIDTH.
37995         * src/lread.c: Do not include limits.h since CHAR_BIT is no longer
37996         used directly.
37998 2016-09-15  Paul Eggert  <eggert@cs.ucla.edu>
38000         Update from gnulib
38002         This incorporates:
38003         2016-09-15 stdint: support new _WIDTH macros
38004         2016-09-15 limits-h: new module
38005         2016-09-15 sys_types: avoid glibc 2.25 warnings about major()
38006         2016-09-15 extensions: port to more ISO C TSes
38007         2016-09-13 intprops: new macro TYPE_WIDTH
38008         2016-09-13 extensions: port to recent ISO C TRs
38009         * .gitignore: Add lib/limits.h.
38010         * doc/misc/texinfo.tex, lib/ftoastr.h, lib/intprops.h:
38011         * lib/stdint.in.h, m4/extensions.m4, m4/stdint.m4, m4/stdio_h.m4:
38012         * m4/sys_types_h.m4: Copy from gnulib.
38013         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
38014         * lib/limits.in.h, m4/limits-h.m4: New files, copie from gnulib.
38015         * nt/gnulib.mk: Merge changes from lib/gnulib.mk.
38017 2016-09-15  Michael Albinus  <michael.albinus@gmx.de>
38019         Rework fixing Bug#24432
38021         * lisp/net/tramp.el (tramp-get-buffer): Set connection property
38022         "process-buffer" in order to mark connection as active.
38024         * lisp/net/tramp-cache.el (tramp-get-hash-table)
38025         (tramp-set-connection-property)
38026         (tramp-dump-connection-properties): Do not use "active" property.
38027         (tramp-list-connections): Use "process-buffer" property.
38029         * lisp/net/tramp-cmds.el (tramp-cleanup-connection): Flush process
38030         properties prior deletion of process.
38032 2016-09-14  Johan Bockgård  <bojohan@gnu.org>
38034         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Fix debug spec (Bug#24430).
38036         * lisp/emacs-lisp/edebug.el (defun): Fix debug spec.
38038 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
38040         Avoid compiler warning on MS-Windows due to clone_file
38042         * src/fileio.c (clone_file): Condition on !WINDOWSNT, since the
38043         call to it is not compiled in that build, and having it defined
38044         causes compiler warnings.
38046 2016-09-14  Eli Zaretskii  <eliz@gnu.org>
38048         Avoid aborts in GC due to abort_on_gc
38050         * src/lisp.h:
38051         * src/print.c (Fprin1_to_string):
38052         * src/eval.c (signal_or_quit):
38053         * src/alloc.c (garbage_collect_1): Remove declarations, setting,
38054         and testing the value of abort_on_gc.  It is no longer needed, and
38055         using it causes rare aborts in GC for no good reason.  (Bug#23912)
38057 2016-09-14  Michael Albinus  <michael.albinus@gmx.de>
38059         Fix Bug#24432
38061         * lisp/net/tramp-cache.el (tramp-get-hash-table): Initialize a
38062         connection as inactive.
38063         (tramp-set-connection-property): Make the connection active.
38064         (tramp-dump-connection-properties): Don't save "active" property.
38065         (tramp-list-connections): List only active connections.  (Bug#24432)
38067 2016-09-14  Lars Ingebrigtsen  <larsi@gnus.org>
38069         Don't bug out on all-whitespace URLs
38071         * lisp/net/shr.el (shr-expand-url): Don't bug out on
38072         degenerate all-whitespace URLs.
38074 2016-09-13  Katsumi Yamaoka  <yamaoka@jpl.org>
38076         sieve-manage.el: Rename sieve-manage-ignore-broken-tls
38078         * lisp/net/sieve-manage.el (sieve-manage-ignore-starttls):
38079         Rename from sieve-manage-ignore-broken-tls.  If it is set,
38080         sieve-manage will never use STARTTLS even if the server says
38081         it is capable (but may be broken).
38083 2016-09-13  Paul Eggert  <eggert@cs.ucla.edu>
38085         Port to ISO/IEC TS 18661-1:2014
38087         * src/character.h (CHARACTER_WIDTH): Rename from CHAR_WIDTH.
38088         All uses changed.
38090 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
38092         dired-jump: Expand file-name before dired-goto-file call
38094         Command dired-goto-file requires its argument to be an absolute
38095         file name.  Interactively FILE-NAME is read with read-file-name,
38096         which could return an abbreviated file name (Bug#24409).
38097         * lisp/dired-x.el (dired-jump): Use expand-file-name on FILE-NAME.
38098         Clarify in doc string the meaning of arg FILE-NAME.
38100 2016-09-13  Tino Calancha  <tino.calancha@gmail.com>
38102         Add test for Bug#21454
38104         * test/lisp/legacy/files-tests.el (files-test-bug-21454): New test.
38106 2016-09-12  Katsumi Yamaoka  <yamaoka@jpl.org>
38108         * lisp/net/sieve-manage.el (sieve-manage-ignore-broken-tls): Add :version.
38110 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
38112         sieve.el: Make the buffer to edit unmodified initially (bug#24423)
38114         * lisp/net/sieve.el (sieve-edit-script):
38115         Make the buffer to edit be not modified-p initially (bug#24423).
38117 2016-09-12  TSUCHIYA Masatoshi  <tsuchiya@namazu.org>
38119         sieve-manage.el: Allow user to avoid STARTTLS capability test (bug#24422)
38121         * lisp/net/sieve-manage.el
38122         (sieve-manage-ignore-broken-tls): New user option.
38123         (sieve-manage-open-server):
38124         Don't test STARTTLS capability if the option is set (bug#24422).
38126 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
38128         Fix compiler thinking width and height may be unitialized in frame.c
38130         This fixes the following warning:
38132                 frame.c: In function ‘x_set_frame_parameters’:
38133                 frame.c:3329:25: error: ‘width’ may be used uninitialized in
38134                         this function [-Werror=maybe-uninitialized]
38135                        adjust_frame_size (f, width_change ? width : -1,
38136                                  ^
38138         * src/frame.c (x_set_frame_parameters): Drop width_changed and
38139         height_changed variables in favour of storing that information in
38140         width and height variables.
38142 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
38144         Fix compiler thinking tmpdir may be unitialized in emacsclient
38146         This fixes the following warning:
38148                 emacsclient.c: In function ‘set_local_socket’:
38149                 /usr/include/x86_64-linux-gnu/bits/string3.h:111:3: error:
38150                         ‘tmpdir’ may be used uninitialized in this function
38151                         [-Werror=maybe-uninitialized]
38152                    return __builtin___stpcpy_chk (__dest, __src, __bos (__dest));
38153                    ^
38154                 emacsclient.c:1197:17: note: ‘tmpdir’ was declared here
38155                      const char *tmpdir;
38157         * lib-src/emacsclient.c (set_local_socket): Get rid of use_tmpdir
38158         variable and instead use tmpdir being non-NULL as sign that it should
38159         be used.
38161 2016-09-12  Tino Calancha  <tino.calancha@gmail.com>
38163         image-dired: Signal an error before calling a missing executable
38165         Reverts commit ca473907
38166         Add a defun to check if an executable exists, and call it
38167         on each function using an external program: when the executable
38168         is not available signal an error.
38169         See discussion on:
38170         https://lists.gnu.org/r/emacs-devel/2016-09/msg00135.html
38171         * lisp/image-dired.el (image-dired--check-executable-exists): New defun.
38172         Throw and error when the executable arg is missing.
38173         (image-dired-display-image, image-dired-rotate-thumbnail)
38174         (image-dired-rotate-original, image-dired-set-exif-data)
38175         (image-dired-get-exif-data):
38176         Use it.
38178 2016-09-12  Eli Zaretskii  <eliz@gnu.org>
38180         Fix daemon shutdown when emacs-kill-hooks ask questions
38182         * lisp/server.el (server-start): Put the server's kill-emacs-hook
38183         last, to allow other hooks to have a frame to interact with the
38184         user.  (Bug#24326)
38186 2016-09-12  Paul Eggert  <eggert@cs.ucla.edu>
38188         * src/casefiddle.c (casify_word): Simplify.
38190         * src/casefiddle.c (casify_word): Return Qnil.
38192 2016-09-12  Michal Nazarewicz  <mina86@mina86.com>
38194         Refactor common code in {upcase,downcase,capitalize}-word functions
38196         * src/casefiddle.c (operate_on_word): Removed in favour of…
38197         (casify_word) …new function which does what operate_on_word did plus
38198         what all of the common code from *-word functions.
38199         (upcase-word, downcase-word, capitalize-word): Move code common between
38200         those functions (pretty much the whole body of those functions) into
38201         casify_word and use that instead of now deleted operate_on_word.
38203 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
38205         * doc/lispref/files.texi: Remove @vindex.
38207 2016-09-11  Paul Eggert  <eggert@cs.ucla.edu>
38209         Remove unnecessary ref to coreutils manual
38211         * doc/lispref/files.texi: Document write-region-inhibit-fsync.
38213 2016-09-11  Alan Mackenzie  <acm@muc.de>
38215         Correctly fontify C++ direct initializations with parens inside functions
38217         Or, more clearly, when something looks like a function declaration and it's
38218         inside a function, fontify it as a direct initialization.
38220         For this purpose, introduce a "brace stack" for each buffer, where an entry on
38221         the brace stack states how deeply nested a particular position is inside
38222         braces inside a "top level", which includes classes and namespaces.
38224         Also introduce a new "context", "top", with which c-font-lock-declarations
38225         signals to c-forward-decl-or-cast-1 that point is at the top level.
38227         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): add
38228         c-truncate-bs-cache.
38229         (c-flat-decl-block-kwds, c-brace-stack-thing-key, c-brace-stack-no-semi-key)
38230         (c-type-decl-operator-prefix-key): new language constants/variables.
38232         * lisp/progmodes/cc-engine.el (c-bs-interval, c-bs-cache, c-bs-cache-limit)
38233         (c-bs-prev-pos, c-bs-prev-stack): New mostly local variables for the brace
38234         stack cache.
38235         (c-init-bs-cache, c-truncate-bs-cache, c-truncate-bs-cache, c-brace-stack-at)
38236         (c-bs-at-toplevel-p): New functions which manipulate the brace stack (cache).
38237         (c-find-decl-prefix-search): Keep track of whether we're at top level.
38238         (c-find-decl-spots): New local variable cfd-top-level which records what it
38239         says.  On calling cfd-fun, pass cfd-top-level as an additional argument.
38240         (c-forward-declarator): Add new element DECORATED to the result list.  Set it
38241         to non-nil when a match for c-type-decl-operator-prefix-key is found.
38242         (c-forward-decl-or-cast-1): Handle the newly introduced context "top".
38243         Introduce "CASE 9.5", which recognizes direct initializations.
38245         * lisp/progmodes/cc-fonts.el (c-font-lock-complex-decl-prepare)
38246         (c-font-lock-enum-tail, c-font-lock-cut-off-declarators)
38247         (c-font-lock-enclosing-decls, c-simple-decl-matchers, c-basic-matchers-after):
38248         Add appropriate `not-top' argument to calls to c-font-lock-declarators.
38249         (c-font-lock-declarators): Additional parameter `not-top'.  Use not-top to
38250         participate in the decision whether to fontify an identifier as a function or
38251         a variable.
38252         (c-font-lock-declarations): The internal lambda function takes an additional
38253         argument `toplev' from c-find-decl-spots, which it uses in determining the
38254         "context" of a declaration.  Add appropriate `not-top' argument to calls to
38255         c-font-lock-declarators.
38256         (c-font-lock-objc-methods): Add extra parameter to internal lambda function,
38257         like for c-font-lock-declarators.
38259         * lisp/progmodes/cc-mode.el (c-basic-common-init): Initialize the brace stack
38260         cache.
38262 2016-09-11  Eli Zaretskii  <eliz@gnu.org>
38264         Avoid signaling errors when computing "Stop" in GDB menu
38266         * lisp/progmodes/gdb-mi.el (gdb-show-stop-p): Don't assume
38267         'gdb-running-threads-count' must have a numeric value.
38268         (Bug#24414)
38270 2016-09-11  Philipp Stephani  <phst@google.com>
38272         Stop calling ‘byte-compile-log-warning’
38274         For errors, use ‘byte-compile-report-error’ instead so that the error
38275         is registered and causes compilation to fail (Bug#24359).
38277         For warnings, use ‘byte-compile-warn’ instead so that
38278         ‘byte-compile-error-on-warn’ is honored (Bug#24360).
38280         * lisp/emacs-lisp/macroexp.el (macroexp--funcall-if-compiled)
38281         (macroexp--warn-and-return): Use ‘byte-compile-warn’ instead of
38282         ‘byte-compile-log-warning’.
38284         * lisp/emacs-lisp/bytecomp.el (byte-compile-form, byte-compile-unfold-bcf)
38285         (byte-compile-setq, byte-compile-funcall): Use
38286         ‘byte-compile-report-error’ instead of ‘byte-compile-log-warning’.
38287         (byte-compile-log-warning): Convert comment to documentation
38288         string.  Explain that the function shouldn’t be called directly.
38289         (byte-compile-report-error): Add optional FILL argument.
38291         * lisp/emacs-lisp/cconv.el (cconv-convert, cconv--analyze-use)
38292         (cconv--analyze-function, cconv-analyze-form): Use
38293         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
38295         * lisp/emacs-lisp/byte-opt.el (byte-compile-inline-expand): Use
38296         ‘byte-compile-warn’ instead of ‘byte-compile-log-warning’.
38298         * lisp/subr.el (add-to-list): Use ‘byte-compile-report-error’ instead
38299         of ‘byte-compile-log-warning’.
38300         (do-after-load-evaluation): Use ‘byte-compile-warn’ instead of
38301         ‘byte-compile-log-warning’.
38303 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
38305         * etc/NEWS: Remove comment lost in emacs-25 merge.
38307 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
38309         Document file synchronization issues
38311         * doc/lispref/files.texi (Files and Storage): New section.
38313 2016-09-10  Paul Eggert  <eggert@cs.ucla.edu>
38315         copy-file now uses GNU/Linux file cloning
38317         From a suggestion by Kieran Colford (see Bug#23904).
38318         * configure.ac: Check for linux/fs.h.
38319         * src/fileio.c [HAVE_LINUX_FS_H]: Include sys/ioctl.h and linux/fs.h.
38320         (clone_file): New function.
38321         (Fcopy_file): Use it.
38323 2016-09-10  Alan Third  <alan@idiocy.org>
38325         Invert y coord of NS image files (bug#7847)
38327         * src/nsterm.m (ns_dumpglyphs_image): Invert y co-ordinate of the image
38328         when compositing.
38330 2016-09-10  Noam Postavsky  <npostavs@gmail.com>
38332         Don't require isearch-update before isearch-done
38334         It is useful to be able to call `isearch-done' unconditionally to
38335         ensure a non-isearching state.
38337         * lisp/isearch.el (isearch-done): Check that `isearch--current-buffer'
38338         is a live buffer before using it (Bug #21091).
38339         * test/lisp/isearch-tests.el (isearch--test-done): Test it.
38341 2016-09-09  Simen Heggestøyl  <simenheg@gmail.com>
38343         * lisp/emacs-lisp/ring.el: Use lexical-binding
38345         * lisp/emacs-lisp/ring.el (ring-elements): Don't use the RESULT
38346         argument of `dotimes' when the iteration variable isn't referred by
38347         it.
38348         (ring-member): Don't pass nil as the RESULT argument of `dotimes'
38349         since it's the default.
38351 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
38353         Split regex character class test into smaller chunks
38355         Having one test for all character classes it is not always trivial to
38356         determine which class is failing.  This happens when failure is caused
38357         by ‘(should (equal (point) (point-max)))’ not being met.
38359         With per-character class tests, it is immidiatelly obvious which test
38360         causes issues plus tests for all classes are run even if some of them
38361         fail.
38363         * test/src/regex-tests.el (regex-character-classes): Delete and split
38364         into…
38365         (regex-tests-alnum-character-class, regex-tests-alpha-character-class,
38366         regex-tests-ascii-character-class, regex-tests-blank-character-class,
38367         regex-tests-cntrl-character-class, regex-tests-digit-character-class,
38368         regex-tests-graph-character-class, regex-tests-lower-character-class,
38369         regex-tests-multibyte-character-class,
38370         regex-tests-nonascii-character-class,
38371         regex-tests-print-character-class, regex-tests-punct-character-class,
38372         regex-tests-space-character-class,
38373         regex-tests-unibyte-character-class,
38374         regex-tests-upper-character-class, regex-tests-word-character-class,
38375         regex-tests-xdigit-character-class): …new tests.
38377 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
38379         Don’t allocate char-table’s extra slots in regexp-out-charset
38381         * lisp/emacs-lisp/regexp-opt.el (regexp-opt-charset): Do not use
38382         'case-table as charmap char-table’s property.  The function has nothing
38383         to do with casing and in addition using 'case-table causes unnecessary
38384         extra slots to be allocated which ‘regexp-opt-charset’ does not use.
38386 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
38388         Remove dead loop iterations in regex.c
38390         RE_CHAR_TO_MULTIBYTE(c) yields c for ASCII characters and a byte8
38391         character for c ≥ 0x80.  Furthermore, CHAR_BYTE8_P(c) is true only
38392         for byte8 characters.  This means that
38394                 c = RE_CHAR_TO_MULTIBYTE (ch);
38395                 if (! CHAR_BYTE8_P (c) && re_iswctype (c, cc))
38397         is equivalent to:
38399                 c = c;
38400                 if (! false && re_iswctype (c, cc))
38402         for 0 ⪬ c < 0x80, and
38404                 c = BYTE8_TO_CHAR (c);
38405                 if (! true && re_iswctype (c, cc))
38407         for 0x80 ⪬ c < 0x100.  In other words, the loop never executes for
38408         c ≥ 0x80 and RE_CHAR_TO_MULTIBYTE call is unnecessary for c < 0x80.
38410         * src/regex.c (regex_compile): Simplyfy a for loop by eliminating
38411         dead iterations and unnecessary macro calls.
38413 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
38415         Replace decimalnump with alphanumericp
38417         decimalnump was used in regex.c only in ISALNUM macro which ored it with
38418         alphabeticp.  Because both of those functions require Unicode general
38419         category lookup, this resulted in unnecessary lookups (if alphabeticp
38420         return false decimalp had to perform another lookup).  Drop decimalnump
38421         in favour of alphanumericp which combines decimelnump with alphabeticp.
38423         * src/character.c (decimalnump): Remove in favour of…
38424         (alphanumericp): …new function.
38426         * src/regex.c (ISALNUM): Use alphanumericp.
38428 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
38430         Remove inaccurate comment in regex.c
38432         * src/regex.c (regex_compile): Remove comment indicating that wctype of
38433         some character classes may be negative.  All wctypes are in fact
38434         non-negative.
38436 2016-09-08  Michal Nazarewicz  <mina86@mina86.com>
38438         STRING_CHAR does not unify characters; update documentation
38440         * src/character.h (STRING_CHAR): Update doc.
38441         * src/buffer.h (FETCH_MULTIBYTE_CHAR): Update doc.  While at it, change
38442         the function to use BYTE_POS_ADDR instead of open-coding it.
38444 2016-09-08  Simen Heggestøyl  <simenheg@gmail.com>
38446         Add tests for ring.el
38448         * test/lisp/emacs-lisp/ring-tests.el: New file with tests for ring.el.
38450 2016-09-07  Martin Rudalics  <rudalics@gmx.at>
38452         New file test/src/marker-tests.el
38454 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
38456         Port flexible array members to GCC + valgrind
38458         These changes are needed to conform to the C standard's rule for
38459         allocating structs containing flexible array members.  C11 says
38460         that malloc (offsetof (struct s, m) + n) does not suffice to
38461         allocate a struct with an n-byte tail; instead, malloc’s arg
38462         should be rounded up to the nearest multiple of alignof (struct s).
38463         Although this is arguably a defect in C11, gcc -O2 + valgrind
38464         sometimes complains when this rule is violated, and when debugging
38465         it’s better to keep valgrind happy.
38466         For details please see the thread containing the message at:
38467         https://gcc.gnu.org/ml/gcc-patches/2016-09/msg00416.html
38468         * lib-src/ebrowse.c, src/alloc.c, src/image.c, src/process.c:
38469         Include flexmember.h.
38470         * lib-src/ebrowse.c (add_sym, add_member, make_namespace)
38471         (register_namespace_alias):
38472         * src/alloc.c (SDATA_SIZE, allocate_string_data):
38473         * src/image.c (xpm_cache_color, imagemagick_create_cache):
38474         * src/process.c (Fmake_network_process):
38475         Use FLEXSIZEOF instead of offsetof and addition.
38476         * src/alloc.c (SDATA_SIZE, vector_alignment):
38477         Use FLEXALIGNOF instead of sizeof (ptrdiff_t).
38478         * src/lisp.h (ALIGNOF_STRUCT_LISP_VECTOR):
38479         Remove, as alloc.c can now calculate this on its own.
38481 2016-09-07  Paul Eggert  <eggert@cs.ucla.edu>
38483         Update from gnulib
38485         This incorporates:
38486         2016-09-07 flexmember: new macro FLEXALIGNOF
38487         2016-09-07 flexmember: port better to GCC + valgrind
38488         2016-08-18 Port modules to use getprogname explicitly
38489         2016-09-02 manywarnings: add -fno-common
38490         * admin/merge-gnulib (GNULIB_TOOL_FLAGS): Don’t avoid flexmember,
38491         since time_rz now uses part of it.  Instead, remove m4/flexmember.m4.
38492         * configure.ac (AC_C_FLEXIBLE_ARRAY_MEMBER): Define away,
38493         since Emacs assumes C99 and therefore removes m4/flexmember.m4.
38494         * lib/euidaccess.c, lib/group-member.c, lib/time_rz.c:
38495         * m4/manywarnings.m4: Copy from gnulib.
38496         * lib/flexmember.h: New file, from gnulib.
38497         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
38499 2016-09-07  Noam Postavsky  <npostavs@gmail.com>
38501         Don't --load directories
38503         * lisp/startup.el (command-line-1): Only pass expanded FILENAME argument
38504         of --load when it refers to a normal file, since `load' doesn't handle
38505         directories (Bug #16406).
38507 2016-09-07  Peder O. Klingenberg  <peder@klingenberg.no>
38509         Avoid error in icalendar--read-element
38511         * lisp/calendar/icalendar.el (icalendar--read-element): Avoid a regex
38512         stack overflow by not using regex to extract values from calendar
38513         events. (Bug#24315)
38515 2016-09-07  Kaushal Modi  <kaushal.modi@gmail.com>
38517         Fix back-white <-> black-white typo
38519         * lisp/ps-print.el (ps-begin-job): back-white -> black-white (Bug#24308)
38521 2016-09-07  Alan Third  <alan@idiocy.org>
38523         Fix cursor at bottom left of rectangle (bug#24364)
38525         * lisp/rect.el (rectangle--col-pos): Don't assume point at EOL doesn't
38526         require rectangle--point-crutches to be set.
38528 2016-09-07  Eli Zaretskii  <eliz@gnu.org>
38530         Fix documentation of convert-standard-filename on MS-Windows
38532         * lisp/files.el (convert-standard-filename): Doc fix.  (Bug#24387)
38534         * etc/NEWS: Suggest a way for mirroring slashes where previously
38535         'convert-standard-filename' was used.
38537 2016-09-06  Paul Eggert  <eggert@cs.ucla.edu>
38539         Use DEV_TTY more consistently
38541         * src/conf_post.h (DEV_TTY): Move from here ...
38542         * src/keyboard.c, src/keyboard.h: ... to here, as it doesn’t need
38543         to be visible everywhere.  Make it a constant.
38544         * src/keyboard.c (handle_interrupt, Fset_quit_char):
38545         * src/process.c (create_process): Prefer DEV_TTY to "/dev/tty".
38547 2016-09-06  Eli Zaretskii  <eliz@gnu.org>
38549         Avoid assertion violations when using marker positions
38551         * src/intervals.c (set_point_from_marker): If MARKER comes from
38552         another buffer, recalculate its byte position before using it to
38553         set point.
38554         * src/marker.c (set_marker_internal): If POSITION is a marker from
38555         another buffer, recalculate its byte position before using it.
38556         (Bug#24368)
38558 2016-09-06  Alan Mackenzie  <acm@muc.de>
38560         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Fix coding bug
38562 2016-09-06  Alan Mackenzie  <acm@muc.de>
38564         New options for handling of literals in c-syntactic-re-search-forward
38566         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): `noerror' can
38567         be given the values `before-literal' and `after-literal', so that when a
38568         search fails, and the `bound' is inside a literal, point is left respectively
38569         before or after that literal.
38571 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
38573         Avoid assertion violations when scrolling narrowed buffer
38575         * src/window.c (window_scroll_pixel_based):
38576         * src/xdisp.c (pos_visible_p): Don't allow simulated redisplay to
38577         start outside the accessible portion of the buffer.  This avoids
38578         assertion violations when some Lisp narrows the buffer to less
38579         than the current window, and then attempts to scroll the buffer.
38581 2016-09-05  Eli Zaretskii  <eliz@gnu.org>
38583         Treat SIGINT correctly in GUI sessions on MS-Windows
38585         * src/w32proc.c (sys_signal): Don't reject SIGINT, as it is
38586         supported by MS runtime.
38587         * src/term.c (DEV_TTY): Move from here ...
38588         * src/conf_post.h (DEV_TTY): ... to here.  Separate definitions
38589         for WINDOWSNT and for the rest.
38590         * src/keyboard.c (handle_interrupt_signal): Use DEV_TTY instead of
38591         a literal "/dev/tty".
38593         * etc/NEWS: Mention the behavior change.
38595 2016-09-04  Alan Third  <alan@idiocy.org>
38597         Fix synthetic bold on macOS retina displays
38599         * src/macfont.m (macfont_draw): Multiply the synthetic bold scaling
38600         factor by the OS window backing scale factor.
38602 2016-09-04  Tino Calancha  <tino.calancha@gmail.com>
38604         image-dired: Report when a necessary executable is not found
38606         See discussion on:
38607         https://lists.gnu.org/r/emacs-devel/2016-08/msg00552.html
38608         * lisp/image-dired.el (image-dired-cmd-rotate-original-program)
38609         (image-dired-cmd-create-thumbnail-program)
38610         (image-dired-cmd-create-temp-image-program)
38611         (image-dired-cmd-rotate-thumbnail-program)
38612         (image-dired-cmd-write-exif-data-program)
38613         (image-dired-cmd-read-exif-data-program):
38614         Use executable-find to set the default value of this option.
38615         (image-dired-cmd-rotate-original-program): Idem.
38616         Search for program 'convert' if 'jpegtran' is not available.
38617         (image-dired-cmd-rotate-original-options):
38618         Set the default value consistent with the executable in
38619         image-dired-cmd-rotate-original-program.
38620         (image-dired-create-thumb, image-dired-display-image)
38621         (image-dired-rotate-thumbnail, image-dired-rotate-original)
38622         (image-dired-set-exif-data, image-dired-get-exif-data):
38623         Throw and error when the executable used in the function is missing.
38624         (image-dired-next-line, image-dired-previous-line):
38625         Use 'forward-line'.
38627 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
38629         image-type-from-file-name: Perform a case insensitive match
38631         Fix Bug#24317
38632         * lisp/image.el (image-type-from-file-name): Bind case-fold-search
38633         to a non-nil value to force a case insensitive match.
38634         * lisp/image-dired.el (image-dired-rotate-original):
38635         Use image-type (Bug#24317).
38636         (image-dired-get-exif-file-name): Idem.
38637         Set 'no-exif-data-found' and 'data' in same setq call.
38638         Use file-attribute-modification-time.
38640 2016-09-03  Tino Calancha  <tino.calancha@gmail.com>
38642         image-increase-size: Fix non-interactive calls
38644         * lisp/image.el (image-increase-size, image-decrease-size):
38645         Compute a floating point division.
38646         Problem reported in:
38647         https://lists.gnu.org/r/emacs-devel/2016-09/msg00067.html
38649 2016-09-03  Robert Cochran  <robert-git@cochranmail.com>
38651         Fix uses of (call-interactively) in lisp/emacs-lisp/checkdoc.el
38653         Passing the prefix argument as the 3rd argument to 'call-interactively'
38654         causes the prefix argument to be interpreted as events, which is not
38655         only wrong, but also causes a type error, as 'current-prefix-arg' can
38656         never be a vector as 'call-interactively' expects.  'call-interactively'
38657         automatically passes its prefix argument to the called function, so just
38658         do that, eliminating faulty behavior.
38660         * lisp/emacs-lisp/checkdoc.el (checkdoc-ispell):
38661         (checkdoc-ispell-current-buffer):
38662         (checkdoc-ispell-interactive):
38663         (checkdoc-ispell-message-text):
38664         (checkdoc-ispell-start):
38665         (checkdoc-ispell-continue):
38666         (checkdoc-ispell-comments):
38667         (checkdoc-ispell-defun):
38668         Do not pass 'current-prefix-arg' to 'call-interactively' as an event
38669         vector; merely allow it to propagate forward to the interactive call.
38671 2016-09-03  Richard Stallman  <rms@gnu.org>
38673         Fix mail-combine-fields
38675         * lisp/mail/sendmail.el (mail-combine-fields): Call `save-excursion' to
38676         avoid losing our place in the search loop.
38678 2016-09-02  Stefan Monnier  <monnier@iro.umontreal.ca>
38680         Check actual contents before promting about changed file
38682         * lisp/userlock.el (userlock--check-content-unchanged)
38683         (userlock--ask-user-about-supersession-threat): New functions.
38684         * src/filelock.c (lock_file): Use them to avoid spurious prompting.
38685         * doc/lispref/buffers.texi (Modification Time): Update doc of
38686         ask-user-about-supersession-threat.
38688 2016-09-02  Michael Albinus  <michael.albinus@gmx.de>
38690         Make a reference to fakecygpty in the Tramp manual
38692         * doc/misc/tramp.texi (Windows setup hints): Make a reference to
38693         fakecygpty on the Emacs Wiki.
38694         (Frequently Asked Questions): Fix url.
38696 2016-09-01  Paul Eggert  <eggert@cs.ucla.edu>
38698         Don’t create fd >= FD_SETSIZE
38700         This avoids a potential crash if too many subprocesses (Bug#24325).
38701         * src/process.c [HAVE_SETRLIMIT]: Include <sys/resource.h>.
38702         (init_process_emacs): If ulimit -n is greater than FD_SETSIZE,
38703         set it to FD_SETSIZE.
38705 2016-09-01  Alan Mackenzie  <acm@muc.de>
38707         Fix c-declaration-limits to return correct limits in all cases.
38709         This function is the guts of c-indent-defun and c-mark-function.
38711         In particular, when c-defun-tactic is nil, return a correct value rather than
38712         always nil, and when it's 'go-outward, go through an intricate algorithm to
38713         determine the requisite narrowing before the "top-level" defuns go to work.
38715         * lisp/progmodes/cc-cmds.el (c-narrow-to-most-enclosing-decl-block): Enhance
38716         to take additional optional parameter LEVEL, saying how many enclosing levels
38717         of decl-block to narrow to.
38718         (c-declaration-limits): Introduce algorithm to determine narrowing.  Use
38719         c-where-wrt-to-brace-block to determine whether to go back to BOD to determine
38720         lower bound.
38722 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
38724         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make commentary more accurate.
38726 2016-09-01  Eli Zaretskii  <eliz@gnu.org>
38728         Avoid compiler warnings with MinGW64 GCC 6
38730         * nt/inc/ms-w32.h (execve) [MINGW_W64]: Make the prototype match
38731         the GCC 6 builtin, to avoid warnings.  For more details, see
38732         https://lists.gnu.org/r/emacs-devel/2016-08/msg00721.html.
38734 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
38736         Fix over-substitution of quotes on error
38738         Problem reported by Tino Calancha in:
38739         https://lists.gnu.org/r/emacs-devel/2016-09/msg00000.html
38740         * src/print.c (print_error_message):
38741         Substitute quotes in errmsg only when gotten from a property.
38743 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
38745         Improve testing of etags
38747         * test/manual/etags/y-src/cccp.c:
38748         * test/manual/etags/y-src/parse.c: Correct #line directives to
38749         allow testing invalidate_nodes in etags.c.
38750         * test/manual/etags/ETAGS.good_1:
38751         * test/manual/etags/ETAGS.good_2:
38752         * test/manual/etags/ETAGS.good_3:
38753         * test/manual/etags/ETAGS.good_4:
38754         * test/manual/etags/ETAGS.good_5:
38755         * test/manual/etags/ETAGS.good_6:
38756         * test/manual/etags/CTAGS.good: Adapt to changes in test files.
38758 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
38760         * lib-src/etags.c (invalidate_nodes): Fix another thinko.
38762 2016-08-31  Paul Eggert  <eggert@cs.ucla.edu>
38764         Fix etags problems found by static checking
38766         * lib-src/etags.c (invalidate_nodes, put_entry):
38767         Remove now-unnecessary tests for null pointers.  Simplify.
38768         (put_entries): Rewrite to avoid GCC 6.2 warning about
38769         dereferencing null pointer.
38771 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
38773         Fix a thinko in etags.c
38775         * lib-src/etags.c (invalidate_nodes): Don't try to dereference
38776         a null pointer.
38778 2016-08-31  Eli Zaretskii  <eliz@gnu.org>
38780         Avoid recursive calls in etags
38782         * lib-src/etags.c (stack_entry): New struct.
38783         (push_node, pop_node, put_entry): New functions.
38784         (free_tree, add_node, invalidate_nodes, put_entries): Re-implement
38785         in a non-recursive way, to avoid stack overflow.  (Bug#5847)
38787 2016-08-31  Leo Liu  <sdl.web@gmail.com>
38789         Add 451 to url-http-codes
38791         * lisp/url/url-http.el (url-http-codes): Add 451.
38793 2016-08-30  Paul Eggert  <eggert@Penguin.CS.UCLA.EDU>
38795         * src/editfns.c (Fformat_message): Fix doc to match current behavior.
38797 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
38799         Minor doc quoting fixes
38801         * doc/misc/htmlfontify.texi (Interactive):
38802         * lisp/htmlfontify.el (htmlfontify-buffer):
38803         Spell out character names, for clarity.  The old doc string
38804         generated the *Help* text ‘^L ([FF]) or ¤ (244)’, where ‘[FF]’
38805         stands for a form feed character; this was confusing.
38806         * lisp/electric.el (electric-quote-mode):
38807         * src/doc.c (syms_of_doc):
38808         * src/editfns.c (Fformat_message):
38809         Remove no-longer-necessary ‘\=’s in doc strings.
38811 2016-08-30  Paul Eggert  <eggert@cs.ucla.edu>
38813         Update from gnulib
38815         This incorporates:
38816         2016-08-30 intprops: tune INT_NEGATE_OVERFLOW for GCC 5 and 6
38817         2016-08-29 xalloc-oversized.h: port change to GCC 6.2.0
38818         2016-08-29 intprops.h: port recent changes to GCC 6.2.0
38819         2016-08-29 intprops.h: use __typeof__ with GCC 7
38820         2016-08-29 intprops.h, xalloc-oversized.h: work with gcc 7
38821         2016-08-24 intprops: fix paren typo on old platforms
38822         2016-08-24 intprops: port to OpenVMS
38823         * lib/intprops.h, lib/xalloc-oversized.h: Copy from gnulib.
38825 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
38827         Fix rules for \phi and \varphi which were reversed
38829         * lisp/leim/quail/latin-ltx.el: Special-case phi/varphi because those
38830           are reversed in ucs-names.  Also remove FIXME stating sigma/varsigma
38831           were reversed which is not true (anymore?).
38833 2016-08-30  Tassilo Horn  <tsdh@gnu.org>
38835         Fix prettification of \phi, \varphi, and \varsigma
38837         * lisp/textmodes/tex-mode.el (tex--prettify-symbols-alist): Fix
38838           prettification of \phi, \varphi, and \varsigma.
38840         Concretely, \phi's symbol was actually varphi, \varphi was missing, and
38841         \varsigma was commented out with a FIXME that it was reversed with
38842         \sigma which it was not.
38844 2016-08-30  Karl Fogel  <kfogel@red-bean.com>
38846         Use normal double quotes in TeX / LaTeX comments
38848         * lisp/textmodes/tex-mode.el (tex-insert-quote): When in a comment,
38849           default to inserting a normal double quote (") instead of TeX-style
38850           open (``) or close ('') quote marks.
38852         * etc/NEWS (TeX mode): Note the change.
38854         * test/lisp/electric-tests.el (autowrapping-7): Adjust accordingly.
38856         See this thread for discussion:
38858           https://lists.gnu.org/r/emacs-devel/2016-08/msg00611.html
38859           From: Karl Fogel <kfogel {_AT_} red-bean.com>
38860           To: Emacs Development <emacs-devel {_AT_} gnu.org>
38861           Subject: [PATCH] Have LaTeX mode use normal double quotes in comments.
38862           Date: Mon, 29 Aug 2016 14:44:12 -0500
38863           Message-ID: <87twe3icmr.fsf@red-bean.com>
38865 2016-08-30  Alan Mackenzie  <acm@muc.de>
38867         Correctly analyze C++ list initialization in member init areas.
38869         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Remove a
38870         superfluous call to c-backward-syntactic-ws.
38871         (c-looking-at-or-maybe-in-bracelist): Change calling convention, so that it
38872         reports encountering the Java "new" keyword.  Add, as an alternative, a check
38873         that we can move back over member initializations, and handle this as finding
38874         a brace block.
38875         (c-looking-at-special-brace-list, c-guess-continued-construct): Adapt to the
38876         new calling convention of c-looking-at-or-maybe-in-bracelist.
38877         (c-guess-basic-syntax, CASE 5A.3): Replace lots of inline ad-hoc code with
38878         calls to c-backward-over-enum-header and c-looking-at-or-maybe-in-bracelist,
38879         using the extra info from the value of that function to generate a
38880         topmost-into-cont element where needed (in Java).
38882         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Adapt to the new
38883         calling convention of c-looking-at-or-maybe-in-bracelist.
38885         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Adapt to the new calling
38886         convention of c-looking-at-or-maybe-in-bracelist.
38888 2016-08-30  Michael Albinus  <michael.albinus@gmx.de>
38890         Use `file-attribute-*' in Tramp
38892         * lisp/net/tramp-compat.el (tramp-compat-file-attribute-type)
38893         (tramp-compat-file-attribute-link-number)
38894         (tramp-compat-file-attribute-user-id)
38895         (tramp-compat-file-attribute-group-id)
38896         (tramp-compat-file-attribute-modification-time)
38897         (tramp-compat-file-attribute-size)
38898         (tramp-compat-file-attribute-modes): New defaliases.
38900         * lisp/net/tramp.el (tramp-handle-file-modes)
38901         (tramp-handle-file-newer-than-file-p)
38902         (tramp-handle-file-regular-p, tramp-handle-file-symlink-p)
38903         (tramp-handle-set-visited-file-modtime)
38904         (tramp-handle-verify-visited-file-modtime)
38905         (tramp-get-local-gid, tramp-check-cached-permissions):
38906         * lisp/net/tramp-adb.el (tramp-adb-handle-file-directory-p)
38907         (tramp-adb-handle-file-truename, tramp-adb-handle-copy-file):
38908         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
38909         (tramp-gvfs-handle-file-directory-p)
38910         (tramp-gvfs-handle-write-region, tramp-gvfs-get-remote-uid)
38911         (tramp-gvfs-get-remote-gid):
38912         * lisp/net/tramp-sh.el (tramp-sh-handle-file-truename)
38913         (tramp-sh-handle-set-visited-file-modtime)
38914         (tramp-sh-handle-verify-visited-file-modtime)
38915         (tramp-sh-handle-file-newer-than-file-p)
38916         (tramp-sh-handle-file-ownership-preserved-p)
38917         (tramp-do-copy-or-rename-file)
38918         (tramp-do-copy-or-rename-file-via-buffer)
38919         (tramp-do-copy-or-rename-file-directly)
38920         (tramp-do-copy-or-rename-file-out-of-band)
38921         (tramp-sh-handle-file-local-copy)
38922         (tramp-sh-handle-write-region):
38923         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory)
38924         (tramp-smb-handle-copy-file)
38925         (tramp-smb-handle-file-directory-p)
38926         (tramp-smb-handle-file-writable-p)
38927         (tramp-smb-handle-insert-directory): Use them.
38929 2016-08-30  Martin Rudalics  <rudalics@gmx.at>
38931         In `pop-to-buffer' handle case where `display-buffer' fails (Bug#24332)
38933         * lisp/window.el (pop-to-buffer): Don't assume that
38934         `display-buffer' has supplied a window (Bug#24332).
38935         Rename BUFFER argument to BUFFER-OR-NAME.
38936         * doc/lispref/windows.texi (Switching Buffers): Fix
38937         `pop-to-buffer' documentation.
38939 2016-08-29  Alan Third  <alan@idiocy.org>
38941         Clarify docstrings
38943         * src/nsterm.m: Clarified that ns-x-modifier variables require a symbol.
38945 2016-08-29  Michael Albinus  <michael.albinus@gmx.de>
38947         Use `process-live-p' in Tramp
38949         * lisp/net/tramp-compat.el (tramp-compat-process-live-p): New defun.
38951         * lisp/net/tramp.el (tramp-connectable-p, tramp-handle-file-remote-p)
38952         (tramp-handle-file-notify-valid-p)
38953         (tramp-action-process-alive, tramp-action-out-of-band)
38954         (tramp-wait-for-regexp):
38955         * lisp/net/tramp-adb.el (tramp-adb-parse-device-names)
38956         (tramp-adb-maybe-open-connection):
38957         * lisp/net/tramp-cache.el (tramp-get-connection-property):
38958         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-notify-add-watch):
38959         * lisp/net/tramp-gw.el (tramp-gw-gw-proc-sentinel)
38960         (tramp-gw-aux-proc-sentinel, tramp-gw-open-connection):
38961         * lisp/net/tramp-sh.el (tramp-process-sentinel)
38962         (tramp-sh-handle-file-notify-add-watch)
38963         (tramp-maybe-open-connection):
38964         * lisp/net/tramp-smb.el (tramp-smb-action-with-tar)
38965         (tramp-smb-handle-copy-directory, tramp-smb-action-get-acl)
38966         (tramp-smb-handle-process-file, tramp-smb-action-set-acl)
38967         (tramp-smb-get-cifs-capabilities)
38968         (tramp-smb-get-stat-capability)
38969         (tramp-smb-maybe-open-connection, tramp-smb-wait-for-output)
38970         (tramp-smb-kill-winexe-function): Use it.
38972 2016-08-29  Eli Zaretskii  <eliz@gnu.org>
38974         Avoid crashes for invalid value of key modifiers
38976         * src/keyboard.c (parse_solitary_modifier): If the argument SYMBOL
38977         is not a symbol, don't try to recognize it.  See
38978         https://lists.gnu.org/r/emacs-devel/2016-08/msg00502.html
38979         for the details.
38981         * test/src/keymap-tests.el (keymap-where-is-internal-test): New
38982         test, for testing the above fix.
38984 2016-08-29  Oleh Krehel  <ohwoeowho@gmail.com>
38986         Make dired-do-compress understand files with spaces in them
38988         * lisp/dired-aux.el (dired-compress-file): Add `shell-quote-argument'
38989           and `literal' flag to `replace-regexp-in-string'.
38991 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
38993         * INSTALL.REPO: Suggest Texinfo 4.13 or later.
38995 2016-08-28  Simen Heggestøyl  <simenheg@gmail.com>
38997         Add tests for dom.el
38999         * test/lisp/dom-tests.el: New file with tests for dom.el.
39001 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
39003         Memory allocator alignment fixes
39005         These changes remove some assumptions about heap allocator
39006         alignment that may not be true on unusual platforms.
39007         * src/alloc.c (POWER_OF_2): New macro.
39008         (ROUNDUP): Use it.
39009         (BLOCK_ALIGN): Verify that it is a power of 2.
39010         (aligned_alloc): Check that alignment passed to posix_memalign
39011         satisfies POSIX restrictions.
39012         (lisp_align_malloc): Check that size passed to aligned_alloc
39013         satisfies C11 restrictions.
39014         (MALLOC_IS_GC_ALIGNED): Check that GCALIGNMENT is 8, since the
39015         code has not been verified to work with other GCALIGNMENT values
39016         and the ice is thin here.  On GNU/Linux, malloc can return a value
39017         that is a multiple of 8 but not 16, even though __alignof__
39018         (max_align_t) is 16.  See:
39019         https://gcc.gnu.org/ml/gcc-patches/2016-08/msg01902.html
39020         (lmalloc) [USE_ALIGNED_ALLOC]: Use aligned_alloc only if size
39021         is a multiple of alignment, since C11 says the behavior is
39022         undefined otherwise.
39023         (lmalloc, lrealloc): Don't use INT_ADD_WRAPV on size_t, as in
39024         general this macro is restricted to signed types.  Remove
39025         assertion that the result is a multiple of GCALIGNMENT, as that
39026         need not be true.
39028 2016-08-28  Paul Eggert  <eggert@cs.ucla.edu>
39030         Pacify --enable-gcc-warnings for lib-src/pop.c
39032         * lib-src/pop.c: Include c-ctype.h.
39033         (socket_connection): Pacify --enable-gcc-warnings by rewriting to
39034         avoid 'if (v = E) ...'.  Use c_tolower, instead of a combination
39035         of the (undeclared) isupper and tolower.  Fix pointer constness
39036         problem.
39038 2016-08-27  Alan Mackenzie  <acm@muc.de>
39040         Handle the C++ "identifiers" "final" and "override" correctly.
39042         This fixes bug #24319, allowing destructors affixed with these identifiers to
39043         be correctly fontified.
39045         * lisp/progmodes/cc-engine.el (c-forward-type, c-forward-decl-or-cast-1):
39046         After reaching the "end" of a type expression, skip over any occurrences of
39047         c-type-decl-suffix-ws-ids-key.
39049         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "override" and
39050         "final" from the C++ value.
39051         (c-type-decl-suffix-ws-ids-kwds, c-type-decl-suffix-ws-ids-key): New lang
39052         constants/variables for "final" and "override".
39054 2016-08-27  Stefan Monnier  <monnier@iro.umontreal.ca>
39056         * lisp/textmodes/page-ext.el (pages-directory-mode): Use special-mode.
39058 2016-08-27  Alan Mackenzie  <acm@muc.de>
39060         Handle template delimiters in C++ member init constructs.
39062         * lisp/progmodes/cc-engine.el (c-back-over-list-of-member-inits): Add
39063         handling for "<....>"s.
39065 2016-08-26  Eli Zaretskii  <eliz@gnu.org>
39067         Fix etags test suite messed up by merges from emacs-25
39069         * test/manual/etags/go-src/test.go:
39070         * test/manual/etags/go-src/test1.go: Move from test/etags/.
39071         * test/manual/etags/ruby-src/test1.ru: Replace test1.ruby.
39072         * test/etags/: Directory deleted.
39074 2016-08-26  Simen Heggestøyl  <simenheg@gmail.com>
39076         Add "supports" to list of CSS at-rules
39078         * lisp/textmodes/css-mode.el (css-at-ids): Add "supports" at-rule.
39080 2016-08-26  Michael Albinus  <michael.albinus@gmx.de>
39082         * lisp/net/tramp-sh.el (tramp-get-remote-perl): Perform a basic check.
39084         (Bug#22478)
39086 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
39088         Rename option to shell-command-dont-erase-buffer
39090         Suggested by Clément Pit--Claudel in:
39091         https://lists.gnu.org/r/emacs-devel/2016-08/msg00487.html
39092         * lisp/simple.el (shell-command-dont-erase-buffer):
39093         (shell-command--save-pos-or-erase):
39094         (shell-command--set-point-after-cmd):
39095         (shell-command-on-region):
39096         * doc/emacs/misc.texi (shell-command-dont-erase-buffer):
39097         * etc/NEWS (Changes in Emacs 25.2):
39098         Rename from shell-command-not-erase-buffer.
39100 2016-08-25  Alan Mackenzie  <acm@muc.de>
39102         Fix an infinite loop in C++ Mode when we have "{ .... [ .... }"
39104         * lisp/progmodes/cc-fonts.el (c-font-lock-c++-lambda-captures): In the inner
39105         `while' form's condition, check for "\\s)" rather than merely "\\]", so that
39106         the loop won't hang at a "terminating" paren of a different type (due to the
39107         c-syntactic-re-search-forward at the end of the loop stopping at such
39108         characters).
39110 2016-08-25  Tino Calancha  <tino.calancha@gmail.com>
39112         call-shell-region: New defun
39114         Suggested by Stefan Monnier in Bug#22679.
39115         * lisp/subr.el (call-shell-region): New defun; execute a command
39116         in an inferior shell with the buffer region as input.
39117         * lisp/simple.el (shell-command-on-region): Use it.
39118         * lisp/gnus/message.el (message-do-fcc): Idem.
39119         * doc/lispref/processes.texi: Document call-shell-region in the manual.
39120         ;* etc/NEWS: Add entry for this new function.
39122 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
39124         In ‘clone-indirect-buffer’ fix argument mixup (Bug#24306)
39126         * lisp/simple.el (clone-indirect-buffer): Add value for ACTION
39127         argument in `pop-to-buffer' call (Bug#24306).
39129 2016-08-25  Martin Rudalics  <rudalics@gmx.at>
39131         Some fixes around `delete-other-frames' and `next-frame'
39133         * src/frame.c (Fdelete_frame): Clarify doc-string.
39134         * lisp/frame.el (delete-other-frames): Delete other frames on
39135         FRAME's terminal instead of the current terminal.  Delete
39136         non-minibuffer-only surrogate frames too.  See
39137         https://lists.gnu.org/r/emacs-devel/2016-08/msg00467.html
39138         * doc/lispref/frames.texi (Deleting Frames): Minor fixes for
39139         docs of `delete-frame' and `frame-live-p'.  Add entry for
39140         `delete-other-frames'.
39141         (Finding All Frames): Fix doc of `next-frame'.
39143 2016-08-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
39145         Find message.el thumbnail toggling
39147         * lisp/gnus/message.el (message-toggle-image-thumbnails):
39148         Don't infloop when toggling thumbnails.
39150 2016-08-24  Alan Third  <alan@idiocy.org>
39152         Fix macOS 12 deprecation notices
39154         * src/nsterm.h: Add #defines to allow older versions of macOS to use the
39155         new constant names.
39156         * src/nsmenu.m: Replace old constant names with
39157         new.
39158         (fillWithWidgetValue): Remove calls to deprecated
39159         setMenuChangedMessagesEnabled.
39160         * src/nsterm.m: Replace old constant names with new.
39161         * src/nsfns.m: Replace old constant names with new.
39163 2016-08-23  Alan Mackenzie  <acm@muc.de>
39165         Analyze and fontify correctly a C++ `enum' with colon, but lacking a tag.
39167         * lisp/progmodes/cc-engine.el (c-backward-typed-enum-colon): Check for "enum"
39168         directly preceding the colon, and handle it.
39170 2016-08-23  Noah Friedman  <friedman@splode.com>
39172         * src/xfns.c (Fx_change_window_property): Modify previous change.
39173         Instead of forcing format to 8 for strings, check that the length of
39174         the string is appropriate for whatever format given.
39175         (Fx_window_property_attributes): If prop isn't found on frame's inner window,
39176         try its outer window.  This mimics the behavior of Fx_window_property.
39178 2016-08-23  Lars Ingebrigtsen  <larsi@gnus.org>
39180         Fix invalid image rotations
39182         * lisp/image.el (image-rotate): Limit rotation to 360 degrees.
39184 2016-08-23  Tino Calancha  <tino.calancha@gmail.com>
39186         call-process instead of call-process-region with empty region
39188         * lisp/calc/calc-graph.el (calc-graph-show-tty):
39189         Use call-process and shell-command-switch.
39191 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
39193         Merge from origin/emacs-25
39195         927afa1 ; Update ChangeLog.2 and ldef-boot.el for Emacs 25.1 RC2
39196         6bf83b5 * etc/AUTHORS: Update the AUTHORS file
39197         73cbb81 ; ChangeLog spelling fixes
39198         9b99772 Some assorted documentation clarifications
39199         37d4723 Improve commentary in src/character.h
39200         5ccd593 ; Fix typo in /etc/NEWS
39201         96e3d16 * etc/NEWS: Mention the change in json-encode-string.
39202         2e524034 ; * etc/NEWS: Mention incompatible change in url-http-create...
39203         2e4e74e Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
39204         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
39206         # Conflicts:
39207         #       ChangeLog.2
39208         #       lisp/ldefs-boot.el
39210 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
39212         Merge from origin/emacs-25
39214         66dea65 ; * doc/lispref/windows.texi (Window Parameters): Grammar twe...
39216 2016-08-22  Paul Eggert  <eggert@cs.ucla.edu>
39218         Merge from origin/emacs-25
39220         8c2946e In NEWS describe new handling of window margins (Bug#24193)
39221         0cee66c Facultatively ignore margins when splitting and resizing wind...
39222         8d68147 Document CATEGORY arg to modify-category-entry
39223         8342e74 Document char-script-table's effect on word motion
39224         e9ff485 Further fix for 'url-http-create-request' and multibyte strings
39225         0695235 Fix docstring of eval-expression
39226         98b01dd Clarify when 'cursor' property is in effect
39227         75f1882 Convert the remaining strings to unibyte before concatenating
39228         d2db5dd Fix bug with handling the bidi cache
39229         ccd0e92 * doc/lispref/text.texi (Change Hooks): Minor copyedits.
39230         f785ff4 Clarify documentation of before/after-change-functions
39231         3c9cb57 Document use of vectors in keymaps
39233         # Conflicts:
39234         #       src/xdisp.c
39236 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
39238         Handle remote file names in gdb-mi.el
39240         * lisp/progmodes/gdb-mi.el (gdb-jsonify-buffer):
39241         If `default-directory' is remote, full file names are adapted
39242         accordingly.  (Bug#23608)
39244 2016-08-22  Eli Zaretskii  <eliz@gnu.org>
39246         Display mini-window resized even when there are several frames
39248         * src/xdisp.c (x_consider_frame_title): Bind inhibit-redisplay to
39249         t to avoid resizing back the mini-window as result of considering
39250         the title of other frames.  (Bug#24285)
39251         (redisplay_window): No need to bind inhibit-redisplay here.
39253 2016-08-22  Michael Albinus  <michael.albinus@gmx.de>
39255         Explain gdb warning on remote hosts
39257         * doc/misc/tramp.texi (Remote processes): Explain gdb warning
39258         on remote hosts.  (Bug#4604, Bug#6360, Bug#622569)
39260 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
39262         Fix (next-frame nil t) crash (Bug#24281)
39264         * src/frame.c (candidate_frame): Check minibuf argument before
39265         comparing it to zero (Bug#24281).
39267 2016-08-21  Noah Friedman  <friedman@splode.com>
39269         Fix interpretation of signed vs unsigned values when retrieving X
39270         Window properties, and make sure the full value is returned when not
39271         parsed.
39273         New subr to export type and format information about X Window
39274         properties to lisp.
39276         * src/xselect.c (selection_data_to_lisp_data): Treat any data as
39277         unsigned unless its actual type is INTEGER.
39278         CARDINALs, in particular, are unsigned.
39280         * src/xfns.c (Fx_change_window_property): If value is a string, ignore
39281         any provided format and force to 8.
39282         (x_window_property_intern): If returning value as a string, the length
39283         is actual_size times the actual format of each element, which is not
39284         necessarily bytes.
39285         (Fx_window_property_attributes): New subr.
39286         (syms_of_xfns): Declare it.
39288 2016-08-21  Noam Postavsky  <npostavs@gmail.com>
39290         Improve error when installing non-package dirs
39292         * lisp/emacs-lisp/package.el (package-dir-info): Throw meaningful error
39293         when no file with package info is found (Bug #19851).
39295 2016-08-21  Alan Mackenzie  <acm@muc.de>
39297         Adapt CC Mode for C++11 uniform initialization.
39299         For fontification, introduce a new "context", 'non-decl, to be used for
39300         brace
39301         lists; also a new value for the property 'c-type, called 'c-not-decl.
39303         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): Check that
39304         an ostensible symbol we're going to move over isn't a keyword.
39305         (c-forward-decl-or-cast-1): CASE 1: Where we have two consecutive identifiers
39306         (hence a declaration), and an unmatched open paren, perform
39307         c-fdoc-shift-type-backwards to recognize the partial construct correctly.
39308         Whilst checking a type decl expression, check for and handle C++11's "copy
39309         initialization", where we have <type>(<constant>).  Recognize
39310         <id><id>(... (where the paren is unclosed) as a declaration.
39311         (c-looking-at-or-maybe-in-bracelist): New function, extracted from
39312         c-inside-bracelist-p.  Recognize as bracelists "{"s which are preceded by
39313         valid tokens other than "=".  Recognize a bracelist when preceded by a
39314         template declaration.
39315         (c-inside-bracelist-p): Call c-looking-at-or-maybe-in-bracelist in place of
39316         much inline code.
39317         (c-looking-at-inexpr-block): Amend so that it won't wrongly recognize an
39318         initialization starting "({" as an in-expression block, by checking for
39319         semicolons, as opposed to commas, separating elements inside it.
39320         (c-guess-continued-construct): (CASE B-2): Recognize a brace-list-open by
39321         calling c-looking-at-or-maybe-in-bracelist rather than checking for a
39322         preceding "=".  (CASE B-5): New code to recognize new construct "return {
39323         ...}".
39324         (c-guess-basic-syntax): (CASE 5A.3): Additionally recognize a "{" preceded by
39325         "return", or "{" preceded by <type><identifier> as a bracelist.
39327         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize brace
39328         lists, giving them `context' 'non-decl.  Pass over elements of one by regexp
39329         search for "," rather than calling c-forward-decl-or-cast-1.
39331         * lisp/progmodes/cc-langs.el (c-return-kwds, c-return-key): New lang
39332         constants/variables to recognize "return".
39333         (c-pre-id-bracelist-key): New lang constant/variable to recognize tokens
39334         which, when preceding an identifier followed by a brace, signify the brace as
39335         a bracelist.
39337         * lisp/progmodes/cc-mode.el (c-fl-decl-start): When searching outwards for
39338         the start of a "local" declaration, move out from an enclosing brace when
39339         that is the start of a brace list.
39341 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
39343         Update from gnulib
39345         This incorporates:
39346         2016-08-17 maint: preprocessor changes to support z/OS
39347         2016-08-17 string: rename to avoid '__string'
39348         * doc/misc/texinfo.tex, lib/alloca.in.h, lib/string.in.h:
39349         Copy from gnulib.
39351 2016-08-21  Paul Eggert  <eggert@cs.ucla.edu>
39353         Minor text-quoting-style fixes
39355         * src/charset.c (check_iso_charset_parameter):
39356         * src/frame.c (store_frame_param):
39357         * src/xselect.c (x_fill_property_data):
39358         Use grave accent for left single quote in ‘error’ format strings.
39360 2016-08-21  Martin Rudalics  <rudalics@gmx.at>
39362         Fix semantics of 'minibuffer' frame parameter
39364         The 'minibuffer' frame parameter is now t for a normal frame
39365         (a frame with a root window plus a minibuffer window) and the
39366         frame's minibuffer window for a minibuffer-less frame (a frame
39367         whose minibuffer window is on another frame).  See also:
39368         https://lists.gnu.org/r/emacs-devel/2016-07/msg01259.html
39370         * src/frame.c (make_frame, make_frame_without_minibuffer)
39371         (make_minibuffer_frame): When assigning the frame's minibuffer
39372         window also store corresponding 'minibuffer' frame parameter.
39373         (store_frame_param): Move the 'minibuffer' parameter checks to
39374         the beginning so we can silently override the value before it
39375         gets stored in the parameter alist.  Fix error handling.
39376         (Fframe_parameters): Return value of 'minibuffer' parameter
39377         unmodified.
39379         * lisp/frameset.el (frameset-filter-minibuffer): When the cdr of
39380         the parameter is a minibuffer window, save (minibuffer . nil)
39381         instead of (minibuffer . t).
39382         (frameset--reuse-frame): To find a non-minibuffer-only frame
39383         look out for a frame whose 'minibuffer' parameter is t instead
39384         of that frame's minibuffer window.
39385         (frameset-minibufferless-first-p): To find a minibuffer-less
39386         frame look out for a frame whose 'minibuffer' parameter is a
39387         window instead of nil.
39389 2016-08-20  Alan Mackenzie  <acm@muc.de>
39391         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Resolve overelaborate "nil"
39393 2016-08-20  Alan Mackenzie  <acm@muc.de>
39395         In c-\(go-\)?-\(up-\|down-\)?list-\(forward\|backward\) check limit isn't nil
39397         Check the limit both at macro expansion time (for a hard coded nil) and at run
39398         time in the generated code.  Tidy up these macros generally.
39400         * lisp/progmodes/cc-defs.el (c-safe-scan-lists): Check `limit' is present and
39401         not identically nil before generating a narrow-to-region call.  Generate code
39402         to check `limit' is not nil at run time.
39403         (c-go-list-forward, c-go-list-backward): Remove the generation of redundant
39404         narrow-to-region, instead calling c-safe-scan-lists directly.
39405         (c-go-up-list-forward, c-go-up-list-backward, c-go-down-list-forward)
39406         (c-go-down-list-backward): Invoke the corresponding macros without the "go-"
39407         to determine the destination position instead of generating a redundant
39408         narrow-to-region.
39410 2016-08-19  Robert Cochran  <robert-git@cochranmail.com>
39412         * lisp/emacs-lisp/map.el (map--dispatch): Fix docstring
39414         The docstring referenced a non-existant parameter, as well as a
39415         parameter that has been renamed since the docstring was written. Fix
39416         both errors, fixing (Bug#24182).
39418 2016-08-19  Alan Mackenzie  <acm@muc.de>
39420         Amend hack-local-variables-prop-line not always to return any mode on line 1.
39422         This fixes bug #24266.
39424         * lisp/files.el (hack-local-variables-prop-line): Change the name of the
39425         parameter mode-only to handle-mode.  Change its meaning, such that it being
39426         set to a value non-nil and not t removes any mode parameter from the result
39427         list.  Leave its values nil and t with the same meanings they had.
39428         (hack-local-variables): Call hack-local-variables-prop-line appropriately.
39430 2016-08-19  Daiki Ueno  <ueno@gnu.org>
39432         Improve doc string of epg-*-program
39434         * lisp/epg-config.el (epg-gpg-program, epg-gpgsm-program):
39435         Suggest to use Customize when setting.  (Bug#24229)
39437 2016-08-19  Tino Calancha  <tino.calancha@gmail.com>
39439         Add tests for Bug#24264
39441         * test/lisp/emacs-lisp/cl-seq-tests.el (cl-seq-test-bug24264):
39442         Add test for Bug#24264.
39443         (cl-seq-fill-test, cl-seq-replace-test)
39444         (cl-seq-remove-test ,cl-seq-delete-test)
39445         (cl-seq-remove-duplicates-test, cl-seq-substitute-test)
39446         (cl-seq-nsubstitute-test, cl-seq-position-test)
39447         (cl-seq-count-test, cl-seq-mismatch-test)
39448         (cl-seq-search-test, cl-seq-test-bug24264):
39449         Add tests for all functions in the file; test all keywords.
39451 2016-08-18  Johan Bockgård  <bojohan@gnu.org>
39453         Fix bug in --eval reply message from server
39455         * lisp/server.el (server-reply-print): Fix check for truncated quote
39456         sequence at end of message. Problem reported in:
39457         https://lists.gnu.org/r/emacs-devel/2016-08/msg00101.html
39459 2016-08-18  Eli Zaretskii  <eliz@gnu.org>
39461         Add tests for 'substitute-command-keys'
39463         * test/src/doc-tests.el (doc-test-substitute-command-keys): New
39464         tests.
39466 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
39468         lisp/textmodes/table.el (table-generate-source): Fix completing-read call
39470         Doesn't make sense to pass '(("html") ("latex") ("cals")) to
39471         `completing-read'.
39473 2016-08-18  Oleh Krehel  <ohwoeowho@gmail.com>
39475         lisp/dired-aux.el (dired-compress-file-suffixes): Add entry for tgz
39477         The previous behavior resulted in a "tgz" -> "tar" -> "tgz" loop,
39478         without any files being extracted.
39480 2016-08-18  Andreas Politz  <politza@hochschule-trier.de>
39482         Don't let window start override window point in `window-state-put' (Bug#24240)
39484         * lisp/window.el (window--state-put-2): Set 'noforce argument
39485         when restoring a window's start position.  This avoids that the
39486         effect of `set-window-point' gets overidden by that of
39487         `set-window-start' (Bug#24240).
39489 2016-08-17  Alan Mackenzie  <acm@muc.de>
39491         Fontify constructs following "::" in C++ argument lists correctly - part 2.
39493         This fixes bug #24246.
39495         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): Put a
39496         `save-match-data' around the new `looking-at' introduced by the previous CC
39497         Mode patch this evening.
39499 2016-08-17  Alan Mackenzie  <acm@muc.de>
39501         Fontify constructs following "::" in C++ argument lists correctly.
39503         This fixes bug #24246.
39505         * lisp/progmodes/cc-engine.el (c-find-decl-prefix-search): In the "pseudo
39506         match" loop, test a found string for a match with c-opt-identifier-concat-key
39507         (e.g. with "::").
39509 2016-08-17  Paul Eggert  <eggert@cs.ucla.edu>
39511         * src/doc.c (Fsubstitute_command_keys): Clarify GC comments.
39513 2016-08-17  K. Handa  <handa@gnu.org>
39515         Fix hz encoding and decoding (bug#23814)
39517         * lisp/language/china-util.el (decode-hz-region): Pay
39518         attention to "~~}" sequence at the end of Chinese character
39519         range.
39520         (hz-category-table): New variable.
39521         (encode-hz-region): Convert non-encodable characters to
39522         \u... and \U...  Preserve ESC on ecoding.  Put
39523         `chinese-gb2312' `charset' text property in advance to force
39524         iso-2022-encoding to select chinese-gb2312 designation.
39526 2016-08-17  Tino Calancha  <tino.calancha@gmail.com>
39528         file-attribute-collect: New defun
39530         * lisp/files.el (file-attribute-collect):
39531         Return a sublist of the attributes returned by 'file-attributes'.
39532         Suggested by Ted Zlatanov in:
39534         https://lists.gnu.org/r/emacs-devel/2016-07/msg01195.html
39536 2016-08-17  Michael Albinus  <michael.albinus@gmx.de>
39538         Fix Bug#24203
39540         * lisp/comint.el (comint-password-prompt-regexp): Relax regexp.  (Bug#24203)
39542 2016-08-16  Karl Fogel  <kfogel@red-bean.com>
39544         Improve doc string.
39546         * src/fileio.c (Ffile_name_as_directory): Be precise about the
39547         conditions under which a slash is appended.
39549 2016-08-16  Paul Eggert  <eggert@cs.ucla.edu>
39551         Omit substitute-command-keys code no longer needed
39553         * src/doc.c (Fsubstitute_command_keys):
39554         Remove duplicate initializations.
39556 2016-08-16  Tino Calancha  <tino.calancha@gmail.com>
39558         Allow not erase output buffer in shell commands
39560         * lisp/simple.el (shell-command-not-erase-buffer): New option to allow
39561         not erasing the output buffer between shell commands.  Defaults to nil.
39562         (shell-command-on-region): Use it.
39563         (shell-command--save-pos-or-erase): New defun; store a buffer position
39564         if 'shell-command-not-erase-buffer' is non-nil; otherwise
39565         erase the output buffer of the shell command.
39566         (shell-command, shell-command-on-region): Use it.
39567         (shell-command--set-point-after-cmd): New defun;
39568         if 'shell-command-not-erase-buffer' is non-nil, set point
39569         in the output buffer to the position in 'shell-command-saved-pos'.
39570         (shell-command-sentinel, shell-command-on-region): Use it.
39571         * doc/emacs/misc.texi (shell-command-not-erase-buffer):
39572         Document this feature in the manual.
39573         See discussion on:
39574         https://lists.gnu.org/r/emacs-devel/2016-07/msg00610.html
39576 2016-08-16  Michael Albinus  <michael.albinus@gmx.de>
39578         Rearrange Tramp manual title page
39580         * doc/misc/tramp.texi: Move @insertcopying out of the title
39581         page.  Do not use @ifnottex anymore.
39583 2016-08-15  Glenn Morris  <rgm@gnu.org>
39585         * doc/misc/tramp.texi: Adapt 2016-08-14 change for makeinfo 4.
39587 2016-08-15  Alan Mackenzie  <acm@muc.de>
39589         Fix minor bug in c-syntactic-re-search-forward.
39591         Bug was: when NOERROR is neither nil nor t, BOUND is non-nil, PAREN-LEVEL is
39592         non-nil, and the first internal search attempt fails, point wrongly ends up at
39593         BOUND, rather than just before the next closing paren.
39595         * lisp/progmodes/cc-engine.el (c-syntactic-re-search-forward): Guard against
39596         the above situation.
39598 2016-08-15  Alan Mackenzie  <acm@muc.de>
39600         Handle C++11 lambda functions.
39602         * lisp/progmodes/cc-engine.el (c-looking-at-inexpr-block): Enhance also to
39603         handle C++ lambda functions.
39604         (c-looking-at-c++-lambda-capture-list): New function.
39606         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Recognize the
39607         parameter list of a lambda function and set `context' and
39608         `c-restricted-<>-arglists' suitably for it.
39609         (c-font-lock-c++-lambda-captures): New function.
39610         (c-complex-decl-matchers): Insert c-font-lock-c++-lambda-captures into it.
39612         * lisp/progmodes/cc-langs.el (c-pre-lambda-tokens, c-pre-lambda-tokens-re):
39613         New language constants/variables.
39614         (c-paren-nontype-kwds): Include "noexcept" in the C++ value.
39616         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Handle being in a C++ lambda
39617         function capture list.
39619 2016-08-15  Michael Albinus  <michael.albinus@gmx.de>
39621         Fix stale cache problem in Tramp
39623         * lisp/net/tramp-cache.el (tramp-get-connection-property):
39624         Check, that a process as key is still running.  (Bug#22478)
39626 2016-08-14  Paul Eggert  <eggert@cs.ucla.edu>
39628         * doc/misc/tramp.texi (Configuration): Fix @xref typo.
39630 2016-08-14  Eli Zaretskii  <eliz@gnu.org>
39632         Another fix for scroll-conservatively and overlay strings
39634         * src/xdisp.c (redisplay_window): Handle also the case where the
39635         calculated window-start point has an overlay string touching it.
39636         (Bug#24179)
39638 2016-08-14  Michael Albinus  <michael.albinus@gmx.de>
39640         Improve handling of defcustoms in tramp
39642         * doc/misc/tramp.texi: Protect all multi-line examples by
39643         @group ... @end group.  Use proper `custom-set-variables'
39644         examples.  Use consequently @option for user options.  Remove
39645         superfluous @cindex and @vindex entries.
39646         (Top): Remove reference to outdated mail archives.
39647         (Configuration): Tune references.
39648         (Default Method): Make `tramp-default-method' and
39649         `tramp-default-method-alist' a @defopt.
39650         (Default User): Make `tramp-default-user' and
39651         `tramp-default-user-alist' a @defopt.
39652         (Default Host): Make `tramp-default-host' and
39653         `tramp-default-host-alist' a @defopt.
39655         * lisp/net/tramp.el (tramp-mode, tramp-verbose)
39656         (tramp-backup-directory-alist, tramp-auto-save-directory)
39657         (tramp-encoding-shell, tramp-encoding-command-switch)
39658         (tramp-encoding-command-interactive, tramp-default-method)
39659         (tramp-default-method-alist, tramp-default-user)
39660         (tramp-default-user-alist, tramp-default-host)
39661         (tramp-default-host-alist, tramp-default-proxies-alist)
39662         (tramp-save-ad-hoc-proxies)
39663         (tramp-restricted-shell-hosts-alist)
39664         (tramp-local-end-of-line, tramp-rsh-end-of-line)
39665         (tramp-login-prompt-regexp, tramp-shell-prompt-pattern)
39666         (tramp-password-prompt-regexp, tramp-wrong-passwd-regexp)
39667         (tramp-yesno-prompt-regexp, tramp-yn-prompt-regexp)
39668         (tramp-terminal-prompt-regexp)
39669         (tramp-operation-not-permitted-regexp)
39670         (tramp-copy-failed-regexp, tramp-process-alive-regexp)
39671         (tramp-syntax, tramp-chunksize)
39672         (tramp-process-connection-type, tramp-connection-timeout)
39673         (tramp-connection-min-time-diff)
39674         (tramp-completion-reread-directory-timeout):
39675         * lisp/net/tramp-adb.el (tramp-adb-program)
39676         (tramp-adb-connect-if-not-connected, tramp-adb-prompt):
39677         * lisp/net/tramp-cache.el (tramp-connection-properties)
39678         (tramp-persistency-file-name):
39679         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods)
39680         (tramp-gvfs-zeroconf-domain)
39681         (tramp-bluez-discover-devices-timeout):
39682         * lisp/net/tramp-sh.el (tramp-inline-compress-start-size)
39683         (tramp-copy-size-limit, tramp-terminal-type)
39684         (tramp-histfile-override)
39685         (tramp-use-ssh-controlmaster-options, tramp-remote-path)
39686         (tramp-remote-process-environment, tramp-sh-extra-args):
39687         * lisp/net/tramp-smb.el (tramp-smb-program, tramp-smb-acl-program)
39688         (tramp-smb-conf, tramp-smb-winexe-program)
39689         (tramp-smb-winexe-shell-command)
39690         (tramp-smb-winexe-shell-command-switch): Add :require 'tramp.
39692 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
39694         Minor text-quoting-style fixes
39696         * lisp/cus-edit.el (custom-buffer-create-internal):
39697         * lisp/recentf.el (recentf-edit-list):
39698         Follow text-quoting-style preference when quoting in UI strings.
39699         * src/doc.c (Fsubstitute_command_keys): Don’t say that curved
39700         quotes are substituted for, as this is no longer true.
39702 2016-08-13  Paul Eggert  <eggert@cs.ucla.edu>
39704         Fix substitute-command-keys unibyte, alloc bugs
39706         * src/doc.c (Fsubstitute_command_keys): Fix some problems with
39707         unibyte strings and with buffer allocation.  Make strings
39708         multibyte, to avoid problems with unibyte strings that are not
39709         valid UTF-8 (Bug#24206).  Redo buffer allocation so that it is
39710         O(N), not O(N**2).  Avoid going past the end of the input string
39711         when given invalid input.  Avoid some unlikely problems in
39712         accessing the wrong storage after a GC.
39714 2016-08-13  Joakim Jalap  <joakim.jalap@fastmail.com>
39716         Fix "C-u" when an input method is active
39718         * lisp/international/quail.el (quail-input-method): Defer to the
39719         input method iff 'overriding-terminal-local-map' is
39720         'universal-argument-map' and the given key has no binding there.
39721         (Bug#22958)
39723 2016-08-13  Martin Rudalics  <rudalics@gmx.at>
39725         Fix docs on `display-buffer-below-selected' (Bug#24213)
39727         * lisp/window.el (display-buffer-below-selected): Fix
39728         doc-string (Bug#24213).
39729         * doc/lispref/windows.texi (Display Action Functions): Fix
39730         documentation of `display-buffer-below-selected'.
39732 2016-08-12  Tino Calancha  <tino.calancha@gmail.com>
39734         cl-fill: Rename arguments to cl-seq and cl-item
39736         * lisp/emacs-lisp/cl-seq.el (cl-fill):
39737         Rename arguments to 'cl-seq' and 'cl-item' as elsewhere.
39739 2016-08-12  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
39741         Fix display.texi typo
39743         * doc/lispref/display.texi (Faces): Fix typo.
39745 2016-08-11  Paul Eggert  <eggert@cs.ucla.edu>
39747         Fix process leak with make-network-process
39749         This problem was introduced by the recent async changes (Bug#23808).
39750         * src/process.c (Fmake_process): Move USE_SAFE_ALLOCA later,
39751         so that it follows the start_process_unwind unwind-protect.
39752         Set pid to -1 while the process is being created.
39753         (start_process_unwind): Omit unnecessary emacs_abort test.
39754         (connect_network_socket): Simplify use of counts.  Unwind
39755         bind_polling_period a bit earlier, so that a remove_process
39756         unwind-protect can be added when needed; this is the heart of
39757         the fix.  Undo the unwind-protect just before returning.
39759 2016-08-11  Eli Zaretskii  <eliz@gnu.org>
39761         Avoid annoying re-scroll when buffer has many overlay strings
39763         * src/xdisp.c (redisplay_window): Add better recovery from a
39764         situation where window-start is on buffer position which has a
39765         before-string that includes newlines, with the result that point
39766         is not visible in the window, because the display engine starts
39767         displaying with the before-string.  (Bug#24179)
39769 2016-08-10  Paul Eggert  <eggert@cs.ucla.edu>
39771         Omit unnecessary process initialization
39773         * src/process.c (make_process, Fmake_process)
39774         (Fmake_pipe_process, Fmake_serial_process)
39775         (Fmake_network_process, server_accept_connection):
39776         Omit unnecessary initialization of already-cleared storage.
39778 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
39780         cl-delete-duplicates: Parse :if to have cl-if bound
39782         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
39783         We need also to parse keyword :if, otherwise cl-if
39784         is unbound.
39785         This reverts commit:
39786         68fdbeb917b80e29e0b15506f18f7ed41d8ffdfd
39788 2016-08-10  Tino Calancha  <tino.calancha@gmail.com>
39790         cl-delete-duplicates: do not parse :if keyword
39792         * lisp/emacs-lisp/cl-seq.el (cl--delete-duplicates):
39793         Parse only the supported keywords.
39795 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
39797         Add compatibility layer for `temporary-file-directory-function'
39799         * lisp/net/tramp-compat.el
39800         (tramp-compat-temporary-file-directory-function): New defalias.
39802         * lisp/net/tramp.el (tramp-handle-make-nearby-temp-file): Use it.
39804         * test/lisp/net/tramp-tests.el (tramp-test32-make-nearby-temp-file):
39805         Skip for older Emacs versions.
39807 2016-08-10  Michael Albinus  <michael.albinus@gmx.de>
39809         * lisp/comint.el (comint-password-prompt-regexp): Add "PEM" for OpenVPN.
39811         (Bug#24059)
39813 2016-08-10  Vincent Belaïche  <vincentb1@users.sourceforge.net>
39815         Handle nil cell value in compiled printer functions.
39817         * doc/misc/ses.texi (Quick Tutorial): Minor clarification about the
39818         ses-range `!' modifier.
39819         (More on cell printing): Fix this that the fallback printer is
39820         `ses-prin1', not "%S".  That makes a difference for any cell value for
39821         which "%S" would insert a backslash characters.
39823         * lisp/ses.el (ses-local-printer-compile): Handle the nil cell value
39824         --- contrary to emacs-25 branches ses-call-printer does not handle
39825         prior to calling a function printer.  Not doing this would still work
39826         because the compiled function would throw and error and SES would in
39827         the end resort to the ses-prin1 fallback, however this way would not
39828         be in line with the raison d'être of compiling printer which is speed.
39830 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
39832         Turn on lexical-binding in json.el
39834         Measuring with (benchmark-run 100 (json-read-file "foobar.json"))
39835         showed 12-31% reduction in execution time.
39836         * lisp/json.el: Turn on lexical-binding.
39838 2016-08-09  Mark Oteiza  <mvoteiza@udel.edu>
39840         Nudge WoMan toward lexical-binding
39842         * lisp/woman.el (woman-parse-man.conf, woman-manpath-add-locales):
39843         Use cl-pushnew instead of add-to-list.
39844         (woman-justify-list): Rename to woman-justify-styles.
39845         (woman-justify-styles): New array.
39846         (woman-justify, woman-decode-region, woman2-ad, woman2-na): Use it.
39847         (woman-cached-data): Use cl-pushnew instead of add-to-list.
39849 2016-08-09  Vincent Belaïche  <vincentb1@users.sourceforge.net>
39851         Apply changes from commits 3c97b0f758 and 8a38e948b0 to master branch.
39853         Here follows the logs from the two commits which I apply to master.
39855         commit 3c97b0f7589e06aeb1ab0147f0ee32974c32926d
39856         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
39857         Date:   Fri Jul 29 13:44:14 2016 +0200
39859         Fix ses-delete-blanks to delete only blanks + documentation.
39861         * doc/misc/ses.texi (Quick Tutorial): Mention the '!'
39862         'ses-range' modifier as an alternative to 'ses+'.
39863         (Advanced Features): Add a refernce to node 'Nonrelocatable
39864         references' concerning function 'ses-rename-cell'.
39865         (Standard formula functions): Mention the '!' 'ses-range'
39866         modifier as an alternative to 'ses-delete-blanks'.
39867         (More on cell printing): Fix fallback printer
39868         definition.  Minor editorial formatting changes.
39869         (Nonrelocatable references): Document the use of
39870         'ses-rename-cell' as a better way to make cell reference
39871         non-relocatable.
39872         (The data area): Document the presence of local printer
39873         definitions in the data area.
39875         * lisp/ses.el (ses-delete-blanks): Do not remove
39876         *error*.  Any error in an argument should propagate into the
39877         using formula rather than being silently hidden !
39879         commit 8a38e948b039516e70176ebe20c5349e2ade6ac5
39880         Author: Vincent Belaïche <vincentb1@users.sourceforge.net>
39881         Date:   Thu Jul 28 19:49:37 2016 +0200
39883         Fix local printer set to left aligned string formatter.
39885         * lisp/ses.el (ses-local-printer-compile): Add missing case
39886         for left-aligned string formatter.
39888 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
39890         * .dir-locals.el (c-noise-macro-names): Remove NONVOLATILE.
39892 2016-08-09  Stefan Monnier  <monnier@iro.umontreal.ca>
39894         * lisp/emacs-lisp/cconv.el: Fix λ-lifting in the presence of shadowing
39896         Change the code which detects and circumvents the case where one of the
39897         variables used in λ-lifting is shadowed, so that it also works when the
39898         shadowing comes before the λ-lifted function (bug#24171).
39900         (cconv--remap-llv): New function, extracted from cconv-convert.
39901         (cconv-convert): Use it, but differently for `let' and `let*'.
39903 2016-08-09  Alan Mackenzie  <acm@muc.de>
39905         CC Mode: check for and fix missing call to before_change_functions.
39907         Fixes bug #24094 and bug #24074.
39909         This can happen with `revert-buffer' or sometimes `find-file', when the file
39910         is already in a buffer, but the file has been changed outside of Emacs.
39912         * lisp/progmodes/cc-mode.el (c-after-change): When we detect a missing
39913         invocation of c-before-change-functions, we assume the changed region is the
39914         entire buffer, and call c-before-change explicitly before proceding.
39916 2016-08-09  Alan Mackenzie  <acm@muc.de>
39918         Make c-deprepertize-CPP work on deletion/insertion of "s.  Fixes bug #24132.
39920         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Rewrite function.
39922 2016-08-09  Michael Albinus  <michael.albinus@gmx.de>
39924         Support $ENV in Tramp
39926         * doc/misc/tramp.texi (Remote processes): Explain setting $ENV.
39928         * etc/NEWS: Explain the "ENV" environment variable in
39929         `tramp-remote-process-environment'.
39931         * lisp/net/tramp-sh.el (tramp-remote-process-environment): Add "ENV=''".
39932         (tramp-open-shell): Read $ENV value from
39933         `tramp-remote-process-environment'.
39934         (tramp-open-connection-setup-interactive-shell): Set values in
39935         proper order.
39937 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
39939         Simplify exec_byte_code via moving decls etc.
39941         * src/bytecode.c (exec_byte_code): Simplify, mostly by moving
39942         initializers into decls, and by omitting some unnecessary
39943         changes to ‘top’.  This improves performance a bit on x86-64,
39944         as it happens.
39946 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
39948         Remove interpreter’s byte stack
39950         This improves performance overall on my benchmark on x86-64,
39951         since the interpreted program-counter resides in a machine
39952         register rather than in RAM.
39953         * etc/DEBUG, src/.gdbinit: Remove xbytecode GDB command, as there
39954         is no longer a byte stack to decode.
39955         * src/bytecode.c (struct byte_stack, byte_stack_list)
39956         (relocate_byte_stack): Remove.  All uses removed.
39957         (FETCH): Simplify now that pc is now local (typically, in a
39958         register) and no longer needs to be relocated.
39959         (CHECK_RANGE): Remove.  All uses now done inline, in a different way.
39960         (BYTE_CODE_QUIT): Remove; now done by op_relative_branch.
39961         (exec_byte_code): Allocate a copy of the function’s bytecode,
39962         so that there is no problem if GC moves it.
39963         * src/lisp.h (struct handler): Remove byte_stack member.
39964         All uses removed.
39965         (SAFE_ALLOCA_LISP_EXTRA): New macro, a generalization of
39966         SAFE_ALLOCA_LISP.
39967         (SAFE_ALLOCA_LISP): Use it.
39969 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
39971         Remove arbitrary limit on bytecode maxdepth
39973         * src/bytecode.c (exec_byte_code): Remove MAX_ALLOCA-based limit
39974         on bytecode maxdepth, by using SAFE_ALLOCA_LISP instead of alloca.
39976         pipeline is fuller.
39978 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
39980         Tune bytecode quitting
39982         * src/bytecode.c (BYTE_CODE_QUIT): Check for GC, too.  Do the
39983         check only once every 256 times.  This should be good enough, and
39984         improves performance significantly on x86-64 as branch-prediction
39985         typically assumes checking will not be done so the instruction
39986         pipeline stays fuller.
39987         (exec_byte_code): Set up the quit counter.  Don’t call maybe_gc
39988         directly, as BYTE_CODE_QUIT does that now.
39990 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
39992         Simplify BYTE_CODE_SAFE checking
39994         * src/bytecode.c (BYTE_CODE_SAFE): Default to false, so that it
39995         can be used outside #if.  All uses of ‘defined BYTE_CODE_SAFE’
39996         changed to ‘BYTE_CODE_SAFE’.  Use BYTE_CODE_SAFE in plain
39997         expressions instead of #if expressions when this is easy.
39998         (struct byte_stack) [BYTE_CODE_SAFE]: Remove member ‘bottom’,
39999         as it is no longer needed.
40000         (exec_byte_code): Omit #if BYTE_CODE_SAFE when this is easy.
40001         Simplify stack-overflow checking when BYTE_CODE_SAFE.
40003 2016-08-09  Paul Eggert  <eggert@cs.ucla.edu>
40005         Get BYTE_CODE_METER working again
40007         BYTE_CODE_METER hasn’t worked since 2013, and nobody seems to have
40008         noticed.  Perhaps we should remove it?
40009         * src/bytecode.c (METER_2) [BYTE_CODE_METER]:
40010         Use *aref_addr instead of AREF, since it needs to be an lvalue.
40012 2016-08-08  Eli Zaretskii  <eliz@gnu.org>
40014         Fix cursor position under scroll-conservatively and overlay strings
40016         * src/xdisp.c (try_scrolling): Handle the case where the last
40017         visible screen line of a window displays a before- or after-string
40018         that takes up the whole screen line, and therefore there's no
40019         place to display the cursor, even though the window does seem to
40020         include the position of point.  (Bug#24179)
40022 2016-08-08  Michael Albinus  <michael.albinus@gmx.de>
40024         * lisp/files.el (file-ownership-preserved-p): Fix docstring.  (Bug#23998)
40026 2016-08-07  Paul Eggert  <eggert@cs.ucla.edu>
40028         Tune interpretation of integer arglist descriptor
40030         * src/bytecode.c (exec_byte_code):
40031         Simplify and tune when INTEGERP (args_template).
40033 2016-08-07  Noam Postavsky  <npostavs@gmail.com>
40035         Fix debugging of string-match-p errors
40037         * src/eval.c (call_debugger): Bind inhibit-changing-match-data to nil so
40038         that debugger code that needs to do regexp match won't break
40039         (Bug #23949, Bug #24166, Bug#16294).
40041 2016-08-07  Michael Albinus  <michael.albinus@gmx.de>
40043         Add `make-nearby-temp-file' and `temporary-file-directory'
40045         * doc/lispref/files.texi (Unique File Names):
40046         Introduce `make-nearby-temp-file' and `temporary-file-directory'.
40047         (Magic File Names): Mention `make-nearby-temp-file' and
40048         `temporary-file-directory'.
40050         * etc/NEWS (provided): Mention `make-nearby-temp-file' and
40051         `temporary-file-directory'.
40053         * lisp/files.el (mounted-file-systems): New defcustom.
40054         (temporary-file-directory, make-nearby-temp-file): New defuns.
40055         (normal-backup-enable-predicate): Fix docstring.
40057         * lisp/net/tramp-adb.el (tramp-adb-file-name-handler-alist):
40058         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist):
40059         * lisp/net/tramp-sh.el (tramp-sh-file-name-handler-alist):
40060         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist):
40061         <make-nearby-temp-file, temporary-file-directory>: Add handler.
40063         * lisp/net/tramp.el (tramp-file-name-for-operation):
40064         Add `make-nearby-temp-file' and `temporary-file-directory'.
40065         (tramp-get-remote-tmpdir): Remove compatibility code.
40066         (tramp-handle-temporary-file-directory)
40067         (tramp-handle-make-nearby-temp-file): New defuns.
40069         * lisp/org/ob-core.el (org-babel-local-file-name):
40070         * lisp/progmodes/gud.el (gud-common-init):
40071         * lisp/vc/vc-hooks.el (vc-user-login-name): Use `file-remote-p'.
40073         * lisp/vc/vc-git.el (vc-git-checkin): Handle remote log message.
40075         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
40076         Check `tramp--test-enabled'.
40077         (tramp-test18-file-attributes): Add tests for
40078         `file-ownership-preserved-p'.
40079         (tramp-test27-start-file-process, tramp-test28-shell-command):
40080         Reduce timeouts in `accept-process-output'.
40081         (tramp-test--shell-command-to-string-asynchronously): Add timeout.
40082         (tramp-test29-environment-variables): Remove additional sleep calls.
40083         (tramp-test32-make-nearby-temp-file): New test.
40084         (tramp--test-special-characters, tramp--test-utf8): Adapt docstring.
40085         (tramp-test33-special-characters)
40086         (tramp-test33-special-characters-with-stat)
40087         (tramp-test33-special-characters-with-perl)
40088         (tramp-test33-special-characters-with-ls, tramp-test34-utf8)
40089         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
40090         (tramp-test34-utf8-with-ls)
40091         (tramp-test35-asynchronous-requests)
40092         (tramp-test36-recursive-load, tramp-test37-unload): Rename.
40093         (tramp--test-ftp-p): Simplify check.
40094         (tramp--test-sh-p): New defun.
40095         (tramp-test20-file-modes, tramp-test22-file-times)
40096         (tramp-test26-process-file, tramp-test27-start-file-process)
40097         (tramp-test28-shell-command)
40098         (tramp-test29-environment-variables)
40099         (tramp-test30-vc-registered)
40100         (tramp-test33-special-characters-with-stat)
40101         (tramp-test33-special-characters-with-perl)
40102         (tramp-test33-special-characters-with-ls)
40103         (tramp-test34-utf8-with-stat, tramp-test34-utf8-with-perl)
40104         (tramp-test34-utf8-with-ls)
40105         (tramp-test35-asynchronous-requests): Use it.
40107 2016-08-06  Michael Albinus  <michael.albinus@gmx.de>
40109         Add missing dcstrings in Tramp, remove chec for obsolee methods
40111         * lisp/net/tramp.el (tramp-progress-reporter-update)
40112         (tramp-unload-file-name-handlers, tramp-get-local-uid)
40113         (tramp-get-local-gid, tramp-get-local-locale):
40114         * lisp/net/tramp-adb.el (tramp-adb-ls-date-regexp)
40115         (tramp-adb-ls-toolbox-regexp, tramp-adb-get-ls-command):
40116         * lisp/net/tramp-compat.el (tramp-compat-funcall):
40117         * lisp/net/tramp-ftp.el (tramp-ftp-enable-ange-ftp):
40118         * lisp/net/tramp-gw.el (tramp-gw-process-filter):
40119         * lisp/net/tramp-sh.el (tramp-get-remote-path)
40120         (tramp-get-remote-locale, tramp-get-ls-command)
40121         (tramp-get-ls-command-with-dired)
40122         (tramp-get-ls-command-with-quoting-style)
40123         (tramp-get-ls-command-with-w-option)
40124         (tramp-get-test-nt-command, tramp-get-file-exists-command)
40125         (tramp-get-remote-ln, tramp-get-remote-perl)
40126         (tramp-get-remote-stat, tramp-get-remote-readlink)
40127         (tramp-get-remote-trash, tramp-get-remote-touch)
40128         (tramp-get-remote-gvfs-monitor-dir)
40129         (tramp-get-remote-inotifywait, tramp-get-remote-id)
40130         (tramp-get-remote-uid-with-id)
40131         (tramp-get-remote-uid-with-perl, tramp-get-remote-python)
40132         (tramp-get-remote-uid-with-python, tramp-get-remote-uid)
40133         (tramp-get-remote-gid-with-id)
40134         (tramp-get-remote-gid-with-perl)
40135         (tramp-get-remote-gid-with-python, tramp-get-remote-gid)
40136         (tramp-get-env-with-u-option): Add missing docstrings.
40138         * lisp/net/tramp.el (tramp-obsolete-methods)
40139         (tramp-warned-obsolete-methods): Remove.
40140         (tramp-find-method): Do not check for obsolete methods any longer.
40142 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
40144         Make sh-mode always use p-s-lookup-properties
40146         This lets functions which rely on syntax-propertize for parsing
40147         work correctly even before font lock has a chance to run.
40149         * lisp/progmodes/sh-script.el (sh-set-shell): Set
40150         parse-sexp-lookup-properties unconditionally (Bug #4920).
40152 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
40154         Fix cl-assert with atomp FORM, non-nil SHOW-ARGS
40156         * lisp/emacs-lisp/cl-macs.el (cl-assert): Don't require that FORM is a
40157         list when showing its (non-existent) arguments (Bug #18587).
40159 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
40161         Don't delete selection after indent-rigidly
40163         * lisp/indent.el (indent-rigidly): Pass `deactivate-mark' as the ON-EXIT
40164         function to `set-transient-map', this prevents `delete-selection-mode'
40165         from deleting the text that was just indented (Bug #20408).
40167 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
40169         Fix byte-compile of interactive closures
40171         * lisp/emacs-lisp/bytecomp.el (byte-compile--reify-function): Put
40172         bindings after docstring and `interactive' form, if any (Bug #24122).
40174 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
40176         Error if --eval arg has text beyond 1 expression
40178         * lisp/startup.el (command-line-1): If --eval argument has more data
40179         than constitutes a single Lisp expression, signal an error (Bug #23159).
40181 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
40183         Fix quoted lambda warning from lexical-let
40185         * lisp/emacs-lisp/cl.el (cl--function-convert): Quote the inner lambda
40186         with `function', not `quote' (Bug #11357).
40188 2016-08-06  Noam Postavsky  <npostavs@gmail.com>
40190         Make emerge always use shell-quote-argument
40192         * lisp/vc/emerge.el (emerge-metachars): Obsolete.
40193         (emerge-protect-metachars): Delete.
40194         (emerge-make-diff-list, emerge-make-diff3-list): Replace all calls to
40195         `emerge-protect-metachars' with `shell-quote-argument' so that shell
40196         quoting is done the same on all system types (Bug #6136).  Also shell
40197         quote `emerge-diff-program' and `emerge-diff3-program'.
40199 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
40201         Fix 'dired-diff' when backup file is in another directory
40203         * lisp/dired-aux.el (dired-diff): Clarify the doc string wrt how
40204         the default for FILE is computed, especially when backup files
40205         are involved.  Support backup files in another directory.
40206         Don't suggest the default FILE if it doesn't exist.  (Bug#24089)
40208 2016-08-06  Eli Zaretskii  <eliz@gnu.org>
40210         Fix the 'T' command in Dired with non_ASCII file names
40212         * lisp/dired-aux.el (dired-do-chxxx): Bind coding-system-for-write
40213         to correctly encode file names passed to the invoked PROGRAM.
40214         (Bug#24162)
40216 2016-08-05  Noam Postavsky  <npostavs@gmail.com>
40218         * lisp/files.el (version-control): Drop :group vc (Bug #14687)
40220 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40222         Merge from origin/emacs-25
40224         d841a03 ; Spelling fix
40225         a6ae479 Post AppDefined events from the main thread ONLY (bug#23934)
40226         d35d398 Update to the AUTHORS file for Bob Weiner
40227         4d2f4df Revert "Fix local printer set to left aligned string formatter."
40228         cd1b4d6 Revert "Fix ses-delete-blanks to delete only blanks + documen...
40229         f7ceb8e Revert "Fix English."
40230         baa7abd Improve doc strings of 'gud-gdb' and 'gdb'
40231         aa4271a Fix doc string of 'minibuffer-message-timeout'
40232         b275cc7 Fix English.
40233         3c97b0f Fix ses-delete-blanks to delete only blanks + documentation.
40234         272391f profiler: document prefix arg for tree expansion
40235         442cc39 Clarify usage of eshell-visual-options
40236         b443c3c Fix comment in files-in-below-directory
40237         8a38e94 Fix local printer set to left aligned string formatter.
40238         0f0b191 ; Fix typos in NEWS
40239         6bdf687 ; * etc/NEWS: Remove temporary marks
40241 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40243         Merge from origin/emacs-25
40245         d08afa1 * etc/AUTHORS: Update the AUTHORS file
40246         2668500 ;; * ChangeLog.2: ChangeLog update.
40247         7acfaea ; ChangeLog fixes
40248         97d28b4 * admin/authors.el (authors-valid-file-names): Addition.
40249         9ab52f6 * admin/authors.el: Additions.
40250         0e646c7 Warn about Cairo-related problems
40251         bc4c07f Don't let completion break `declare' handling
40252         66f95e0 Adjust match data before calling after-change-funs
40253         52cf0d5 Do not show string-rectangle preview if minibuffer is empty
40254         6a3d031 * etc/PROBLEMS: Add entry about selection problems under Plas...
40256         # Conflicts:
40257         #       ChangeLog.2
40258         #       src/lisp.h
40260 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40262         Merge from origin/emacs-25
40264         9a41cd1 ; Fix typo
40265         9356fe2 Expand FIXME near definition of fboundp
40266         219b39f kill-rectangle should mention killed-rectangle
40267         59fa4c3 Avoid assertion violations in nhexl-mode
40269 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40271         Merge from origin/emacs-25
40273         9ba51ed Document buffer-swap-text+save-excursion interaction
40274         452aa94 Fix eieio vs cl-generic incompatibilities found in Rudel (bug...
40275         248d5dd Include cl-generic in package--builtin-versions (bug#22817)
40276         8f5a8b6 Improve timing in `tramp-test29-environment-variables'
40277         05ba7a0 Add test for handling environment variables in Tramp
40278         e393d4f * lisp/emacs-lisp/package.el (describe-package-1) (package-st...
40279         5e38887 ; * lisp/net/tramp.el: Fix 2010-10-04 comment typo.  (Bug#23913)
40280         90f2169 ; Spelling fixes
40281         069fc05 Improve documentation of search functions
40282         0a0144a Delete environment variables in Tramp when needed
40283         f624671 Add "New in Emacs 25" section to the FAQ
40284         658daf9 Fix 'vertical-motion' in non-interactive sessions
40285         686b520 Fix memory leak in imagemagick-types
40286         4069b71 Update ELisp manual to match 'string-collate-equalp' doc string
40287         1b2d6a6 Clarify docstring of find-feature-regexp
40288         aac62a6 Add details to cl-lib defining macros' docstrings
40289         d6aa4da Clarify doc string of 'save-buffer'
40290         03bcf11 Un-confuse doc string of 'string-collate-equalp'
40291         c53135b Clarify documentation of 'mouse-on-link-p'
40293         # Conflicts:
40294         #       lisp/emacs-lisp/eieio-core.el
40296 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40298         Merge from origin/emacs-25
40300         6f285d9 Amend last addition to etc/PROBLEMS
40301         7067890 * etc/PROBLEMS: Mention GTK+ problem with unexpected frame wi...
40303 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40305         Merge from origin/emacs-25
40307         d4c6774 Fix missing point information in undo
40308         3a9d629 Avoid crashes when buffer modification hooks clobber match data
40309         178b2f5 Note combine-and-quote-strings doesn't shell quote
40310         dec7567 Explain when package-initialize isn't called
40311         113d1e2 Fix escaping in sh-indent-after-continuation docstr
40312         80e2044 ; * etc/NEWS: Improve previous change.
40313         5bb9e6c ; * etc/NEWS: Document how to avoid horizontal scroll bars.
40314         38f4b8e Clarify the documentation of back-references in replacements
40316 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40318         Merge from origin/emacs-25
40320         850ba44 Clarify lexical binding with symbol args behavior
40321         f981b31 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.
40322         68fc964 * lisp/net/tramp-sh.el (tramp-remote-path): Doc fix.  (Bug#23...
40323         21110af Avoid assertion violations when rendering some fonts
40324         6192b6c Document more details of package activation
40325         272ddc6 Fixup warning message regarding HOME a bit more
40326         43206d6 * lisp/leim/quail/indian.el ("bengali-probhat"): Change indic...
40327         d41f7ff Fix input method "probhat" for Bengali
40328         c150a64 ; Fix typo in commit before last
40329         ebf0472 Add to elisp-completion-at-point's docstring
40330         fd9fad0 Give more helpful warning about setting HOME
40331         ea6b01d ; * lisp/term.el (term-mode): FIXME comment about bidi reorde...
40333         # Conflicts:
40334         #       lisp/term.el
40336 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40338         Merge from origin/emacs-25
40340         26d4da0 New input method "probhat" for Bengali
40341         4f445bf ; Spelling fix
40342         f403f03 ; Fix typo
40344 2016-08-05  Paul Eggert  <eggert@cs.ucla.edu>
40346         Spelling and minor grammar fixes
40348         * test/file-organization.org: Rename from test/file-organisation.org.
40350 2016-08-04  Alan Mackenzie  <acm@muc.de>
40352         Widen in certain low level CC Mode functions.  This fixes bug #24148.
40354         * lisp/progmodes/cc-engine.el (c-state-semi-pp-to-literal)
40355         (c-state-full-pp-to-literal): Widen around the functionality.
40356         (c-parse-ps-state-below): Correct the order of save-excursion and
40357         save-restriction.
40359 2016-08-04  Stefan Monnier  <monnier@iro.umontreal.ca>
40361         Fix Bug#24149
40363         * lisp/subr.el (set-transient-map): Don't wait if MAP not present in
40364         overriding-terminal-local-map.  (Bug#24149)
40366 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
40368         Update from gnulib
40370         This incorporates:
40371         2016-07-03 mktime: call tzset as per POSIX
40372         * doc/misc/texinfo.tex, lib/mktime.c, m4/mktime.m4:
40373         Copy from gnulib.
40375 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
40377         Fix GnuTLS includes
40379         * src/gnutls.c [HAVE_GNUTLS]: Don’t include gnutls/gnutls.h
40380         a second time; although it doesn’t hurt, it’s not needed.
40381         * src/sysdep.c [!HAVE_GNUTLS]: Don’t include gnutls/crypto.h,
40382         as it may not be available.  Problem reported by Glenn Morris in:
40383         https://lists.gnu.org/r/emacs-devel/2016-08/msg00100.html
40385 2016-08-03  Michal Nazarewicz  <mina86@mina86.com>
40387         Fix accessing regex-resources in out-of-tree test runs in regex-tests
40389         [82a487d: Fix reading of regex-resources in regex-tests] attempted to
40390         fix regex-tests failing when run from the source tree (i.e. via make)
40391         by hard-coding path to regex-resources directory relative to the test
40392         directory.
40394         This fixed runs from the tree but broke the test when run using other
40395         methods.
40397         Fix by trying ‘load-file-name’ or ‘buffer-file-name’, whichever is set.
40399         * test/src/regex-tests.el (regex-tests--resources-dir): New variable
40400         storing path to the regex-resources directory.
40401         (regex-tests-generic-line): Use aforementioned variable.
40403 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
40405         Simplify by assuming GnuTLS 2.12.2 or later
40407         * src/gnutls.c (gnutls_certificate_details):
40408         * src/sysdep.c: Assume GnuTLS 2.12.2 or later.
40410 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
40412         Port to systems lacking GNUTLS_NONBLOCK
40414         Problem reported by Colin Baxter in:
40415         https://lists.gnu.org/r/emacs-devel/2016-08/msg00096.html
40416         * src/gnutls.c (Fgnutls_boot): Don’t assume GNUTLS_NONBLOCK is defined.
40418 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
40420         Fix non-blocking GnuTLS with slow connection
40422         Although the problem is reported for OS X (Bug#23982), it seems to
40423         be possible on other POSIXish platforms.
40424         * src/gnutls.c (emacs_gnutls_nonblock_errno) [!WINDOWSNT]:
40425         New function.
40426         (emacs_gnutls_handshake) [!WINDOWSNT]:
40427         Use it as the errno function, if non-blocking.
40428         (Fgnutls_boot): Use GNUTLS_NONBLOCK if non-blocking.
40430 2016-08-03  Paul Eggert  <eggert@cs.ucla.edu>
40432         Require GnuTLS 2.12.2 or later
40434         * configure.ac, etc/NEWS: Require GnuTLS 2.12.2 or later,
40435         instead of merely 2.6.6 or later (Bug#23982#20).
40436         * src/gnutls.c (init_gnutls_functions, emacs_gnutls_handshake)
40437         [WINDOWSNT]: Don’t bother with gnutls_check_version or
40438         gnutls_transport_set_lowat, as they are no longer needed now that
40439         we require gnutls 2.12.2 or later.
40441 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
40443         * src/window.c (sanitize_window_sizes): Remove unused arg `frame'
40445         * src/window.h (sanitize_window_sizes): Adjust prototype.
40446         * src/frame.c (adjust_frame_size): Adjust calls.
40448 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
40450         Fix (mapcar F S) crash when F alters S’s length
40452         * src/fns.c (mapcar1): Return number of elements computed,
40453         which can be less than LENI if the function alters the list.
40454         All callers changed.  (Bug#24118)
40456 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
40458         Port window changes to --enable-gcc-warnings
40460         * src/window.c (sanitize_window_sizes): Return void.
40461         This pacifies GCC, and no caller uses the return value anyway.
40463 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
40465         * src/window.c: Fix bootstrap failure due to window.el changes
40467         (sanitize_window_sizes): Adjust to new calling convention of
40468         window--sanitize-window-sizes and only call it if defined.
40469         (Fwindow__sanitize_window_sizes): Remove.
40470         (syms_of_window): Don't defsubr it.
40472 2016-08-02  Michael Albinus  <michael.albinus@gmx.de>
40474         Fix Bug#23883
40476         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
40477         Call `process-actions' with adapted position.  The connection
40478         buffer might have been cleaned up already.  (Bug#23883)
40480 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
40482         Port regex changes to strict ISO C
40484         * src/regex.c (regex_compile): Redo casts.
40486 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
40488         * lisp/window.el: Use lexical-binding
40490         (window--min-size-ignore-p): Remove unused arg `horizontal'.
40491         (window--sanitize-window-sizes): Remove unused arg `frame'.
40492         (window-edges): Remove unused vars left-off and right-off.
40493         (display-buffer-reuse-mode-window): Remove unused var `frame?'.
40494         Avoid extraneous setq and do a bit of CSE.
40495         (fit-frame-to-buffer): Remove unused vars `window', `fit-width',
40496         and `toolbar-extra-height'.
40497         (window-adjust-process-window-size): Remove unused arg `process'.
40499 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40501         Fix unused lexical variable
40503         This fixes the following warning:
40505             In toplevel form:
40506             src/regex-tests.el:416:1:Warning: Unused lexical variable ‘newline’
40508         * test/src/regex-tests.el (regex-tests-BOOST): Remove unused lexical
40509         variable.
40511 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40513         Remove unused STREQ macro
40515         This fixes the following compilation warning:
40517             regex.c:516:0: warning: macro "STREQ" is not used [-Wunused-macros]
40518              #define STREQ(s1, s2) ((strcmp (s1, s2) == 0))
40519              ^
40521         * src/regex.c (STREQ): Remove unused macro.  It should have been removed
40522         in a [4538a5e: Refactor regex character class parsing in [:name:]]
40523         commit but was mistakenly left out.
40525 2016-08-02  Stefan Monnier  <monnier@iro.umontreal.ca>
40527         * lisp/emacs-lisp/cl-generic.el: Fix problems introduced by new
40528         load-history format
40530         * lisp/emacs-lisp/cl-generic.el (cl--generic-load-hist-format): New function.
40531         (cl-generic-define-method, cl--generic-describe): Use it.
40532         (cl--generic-search-method): Adjust for new format.
40534         * lisp/progmodes/elisp-mode.el (elisp--xref-find-definitions):
40535         * test/lisp/progmodes/elisp-mode-tests.el:
40536         Use cl--generic-load-hist-format rather than hard-coding cl-generic's
40537         internal format.
40539 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40541         Hardcode regex syntax to remove dead code handling different syntax
40543         Emacs only ever uses its own regex syntax so support for other syntaxes
40544         is never used.  Hardcode the syntax so that the compilar can detect such
40545         dead code and remove it from compiled code.
40547         The only exception is RE_NO_POSIX_BACKTRACKING which can be separatelly
40548         specified.  Handle this separatelly with a function argument (replacing
40549         now unnecessary syntax argument).
40551         With this patchset, size of Emacs binary on x86_64 machine is reduced by
40552         around 60 kB:
40554                 new-sizes:-rwx------ 3 mpn eng 30254720 Jul 27 23:31 src/emacs
40555                 old-sizes:-rwx------ 3 mpn eng 30314828 Jul 27 23:29 src/emacs
40557         * src/regex.h (re_pattern_buffer): Don’t define syntax field #ifdef emacs.
40558         (re_compile_pattern): Replace syntax with posix_backtracking argument.
40560         * src/regex.c (print_compiled_pattern): Don’t print syntax #ifdef emacs.
40561         (regex_compile): #ifdef emacs, replace syntax argument with
40562         posix_backtracking which is now used instead of testing for
40563         RE_NO_POSIX_BACKTRACKING syntax.
40564         (re_match_2_internal): Don’t access bufp->syntax #ifndef emacs.
40565         (re_compile_pattern): Replace syntax with posix_backtracking argument.
40567         * src/search.c (compile_pattern_1): Pass boolean posix_backtracking
40568         instead of syntax to re_compile_pattern.
40570 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40572         Get rid of re_set_whitespace_regexp
40574         * src/regex.h (re_set_whitespace_regexp): Delete.
40575         (re_compile_pattern): Add whitespace_regexp argument #ifdef emacs.
40577         * src/regex.c (re_set_whitespace_regexp, whitespace_regexp): Delete.
40578         (regex_compile): Add whitespace_regexp argument #ifdef emacs and wrap
40579         whitespace_regexp-related code in an #ifdef emacs so it’s compiled out
40580         unless building Emacs.
40581         (re_compile_pattern): Pass whitespace_regexp argument to regex_compile
40583         * src/search.c (compile_pattern_1): Don’t use re_set_whitespace_regexp,
40584         pass the regex as argument to re_compile_pattern instead.
40586 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40588         Get rid of re_set_syntax
40590         Instead of using a global variable for storing regex syntax, pass it
40591         to re_compile_pattern.  This is only enabled when compiling Emacs (i.e.
40592         ‘#ifdef emacs’).
40594         * src/regex.h (re_set_syntax): Declare only #ifndef emacs.
40595         (re_compile_pattern): Now takes syntax argument #ifdef emacs.
40597         * src/regex.c (re_syntax_options): Define only #ifndef emacs.
40598         (re_compile_pattern): Use the new syntax argument #ifdef emacs.
40600         * src/search.c (compile_pattern_1): Don’t use re_set_syntax and
40601         instead pass syntax to re_compile_pattern directly.
40603 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40605         Remove dead opcodes in regex bytecode
40607         There is no way to specify before_dot and after_dot opcodes in a regex
40608         so code handling those ends up being dead.  Remove it.
40610         * src/regex.c (print_partial_compiled_pattern, regex_compile,
40611         analyze_first, re_match_2_internal): Remove handling and references to
40612         before_dot and after_dot opcodes.
40614 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40616         Refactor regex character class parsing in [:name:]
40618         re_wctype function is used in three separate places and in all of
40619         those places almost exact code extracting the name from [:name:]
40620         surrounds it.  Furthermore, re_wctype requires a NUL-terminated
40621         string, so the name of the character class is copied to a temporary
40622         buffer.
40624         The code duplication and unnecessary memory copying can be avoided by
40625         pushing the responsibility of parsing the whole [:name:] sequence to
40626         the function.
40628         Furthermore, since now the function has access to the length of the
40629         character class name (since it’s doing the parsing), it can take
40630         advantage of that information in skipping some string comparisons and
40631         using a constant-length memcmp instead of strcmp which needs to take
40632         care of NUL bytes.
40634         * src/regex.c (re_wctype): Delete function.  Replace it with:
40635         (re_wctype_parse): New function which parses a whole [:name:] string
40636         and returns a RECC_* constant or -1 if the string is not of [:name:]
40637         format.
40638         (regex_compile): Use re_wctype_parse.
40639         * src/syntax.c (skip_chars): Use re_wctype_parse.
40641 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40643         Split regex glibc test cases into separet tests
40645         * test/src/regex-tests.el (regex-tests): Remove and split into multiple
40646         tests cases.
40647         (regex-tests-glbic-BOOST, regex-tests-glibc-PCRE,
40648         regex-tests-glibc-PTESTS, regex-tests-glibc-TESTS): New test cases split
40649         from ‘regex-tests’.
40651 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40653         Don’t (require 'cl)
40655         * test/src/regex-tests.el: Don’t (require 'cl).
40656         (regex-tests-PCRE): s/loop/cl-loop/
40658 2016-08-02  Michal Nazarewicz  <mina86@mina86.com>
40660         Fix reading of regex-resources in regex-tests
40662         * test/src/regex-tests.el (regex-tests-generic-line): Referring to
40663         ‘buffer-file-name’ does not work when running the test from command
40664         line, i.e. via make, which results in (wrong-type-argument stringp nil)
40665         failures.  Replace it with hard-coded path.
40666         (regex-tests-BOOST, regex-tests-PCRE, regex-tests-PTESTS-whitelist,
40667         regex-tests-TESTS-whitelist): ‘regex-tests-generic-line’ now  includes
40668         the ‘regex-resources’ path component so the tests don’t need to specify
40669         it explicitly.
40671 2016-08-02  Dima Kogan  <dima@secretsauce.net>
40673         Added driver for the regex tests
40675         * test/src/regex-tests.el (regex-tests): Test executing glibc tests
40676         cases.
40678         [mina86@mina86.com: merged test with existing file]
40680 2016-08-02  Dima Kogan  <dima@secretsauce.net>
40682         New regex tests imported from glibc 2.21
40684         * test/src/regex-resources/BOOST.tests:
40685         * test/src/regex-resources/PCRE.tests:
40686         * test/src/regex-resources/PTESTS:
40687         * test/src/regex-resources/TESTS:
40688         New test data files
40690         [mina86@mina86.com: Moved files from test/src/regex/* to test/src/*.]
40692 2016-08-02  Paul Eggert  <eggert@cs.ucla.edu>
40694         Fix use-after-close in connect_network_socket
40696         * src/process.c (connect_network_socket):
40697         Reverse sense of previous fix.  Problem reported by Ken Brown in:
40698         https://lists.gnu.org/r/emacs-devel/2016-08/msg00004.html
40700 2016-08-01  Glenn Morris  <rgm@gnu.org>
40702         * lisp/emacs-lisp/autoload.el (autoload-generate-file-autoloads):
40703         Respect autoload-timestamps for "actual autoloads are elsewhere" case.
40705 2016-07-31  Stefan Merten  <stefan@merten-home.de>
40707         * lisp/textmodes/rst.el: Major refactoring, minor changes, minor fixes
40709         (rst-Ado, rst-Hdr, rst-Ttl, rst-Stn): Introduce classes
40710         representing reStructuredText section header concepts.
40711         (rst-mode-map, rst-new-preferred-hdr)
40712         (rst-update-section, rst-classify-adornment)
40713         (rst-ttl-at-point, rst-all-ttls-cache)
40714         (rst-hdr-hierarchy-cache, rst-reset-section-caches)
40715         (rst-all-ttls, rst-infer-hdr-hierarchy, rst-hdr-hierarchy)
40716         (rst-all-ttls-with-level, rst-get-previous-hdr)
40717         (rst-adornment-complete-p, rst-next-hdr, rst-adjust)
40718         (rst-adjust-section, rst-promote-region)
40719         (rst-display-hdr-hierarchy, rst-straighten-sections)
40720         (rst-all-stn, rst-remaining-stn, rst-toc-insert)
40721         (rst-toc-insert-node, rst-toc-node, rst-toc)
40722         (rst-forward-section, rst-adornment-level)
40723         (rst-font-lock-handle-adornment-pre-match-form)
40724         (rst-imenu-convert-cell, rst-imenu-create-index): Refactor
40725         using classes.
40726         (rst-compare-adornments, rst-get-adornment-match): Remove
40727         functions now in classes.
40728         (rst-re-alist-def, rst-toc-mode)
40729         (rst-font-lock-extend-region-extend): Minor improvements.
40730         (rst-mode, rst-compile): Use `setq-local'.
40731         (rst-cvs-header, rst-svn-rev, rst-svn-timestamp)
40732         (rst-official-version, rst-official-cvs-rev)
40733         (rst-package-emacs-version-alist): Maintain version tags.
40735 2016-07-30  Martin Rudalics  <rudalics@gmx.at>
40737         Fix calculation of tool bar width reported by `frame-geometry' (Bug#24107)
40739         * src/w32fns.c (Fw32_frame_geometry): Fix calculation of tool
40740         bar width (Bug#24107).  Reindent.
40741         * src/xfns.c (frame_geometry): Fix calculation of tool bar
40742         width on non-GTK builds.
40744 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
40746         Fix region display while dragging mouse
40748         * lisp/mouse.el (mouse-drag-track): Reset deactivate-mark in the
40749         buffer of the drag event, to allow mark to be set and the region
40750         be shown as we drag the mouse.  (Bug#24030)
40752 2016-07-30  Tino Calancha  <tino.calancha@gmail.com>
40754         Copy just non-empty strings to kill-ring
40756         * lisp/dired.el (dired-copy-filename-as-kill):
40757         Do not change the kill ring when the string is empty (Bug#24103).
40759 2016-07-30  Eli Zaretskii  <eliz@gnu.org>
40761         Avoid warnings about undo list while decoding
40763         * src/coding.c (coding_restore_undo_list): New function.
40764         (decode_coding_gap, decode_coding_object): Temporarily set the
40765         buffer's undo list to t, to avoid warnings when decoding changes
40766         the buffer many times, e.g. due to post-read-conversion.  Use
40767         coding_restore_undo_list to make sure the undo list is restored.
40768         (Bug#23813)
40770 2016-07-28  Noam Postavsky  <npostavs@gmail.com>
40772         profiler: Add mouse-1 binding for tree expansion
40774         (profiler-report-mode-map): Add mouse-1 binding for
40775         profiler-report-toggle-entry (Bug #13455).
40777 2016-07-28  Vincent Belaïche  <vincentb1@users.sourceforge.net>
40779         Enable addition of local printers from a mode hook.
40781         * doc/misc/ses.texi (Printer functions): Split the node into 5
40782         sub-nodes + add some extra documentation.
40783         (Various kinds of printer functions): Make an itemization to
40784         disintguish better the 3 types of printers, give an example of
40785         lambda printer definition.
40786         (Standard printer functions): Add documentation for ses-prin1
40787         printer function.
40788         (Local printer functions): Add documentation for creating
40789         local printers programmatically from a hook.
40790         (Writing a lambda printer function): Add documentation about
40791         anti-stackoverflow precautions to take when you call the
40792         standard printer functions from inside a local printer.
40794         * lisp/ses.el (ses-standard-printer-functions): Add ses-prin1
40795         among standard printer function, and update docstring
40796         accordingly.
40797         (ses-call-printer, ses-export-tab): Call `ses-prin1' instead
40798         of prin1-to-string.
40799         (ses-define-local-printer): Add definition to arguments so
40800         that a local printer can be defined programmatically from a
40801         mode hook.  Make docstring more substantial.  Use completing
40802         read for local printer name input.  Plus some minor
40803         optimization.
40804         (ses-define-if-new-local-printer): New defsubst.
40805         (ses-center, ses-center-span, ses-dashfill)
40806         (ses-dashfill-span, ses-tildefill-span): Allow to pass printer
40807         as an optional argument to superseed column printer/default
40808         spreadsheet printer.
40809         (ses-prin1): New defun.
40811 2016-07-27  Ted Zlatanov  <tzz@lifelogs.com>
40813         Prompt to save gnus-cloud-method.
40815         Since `gnus-cloud-method' is a defcustom, when it's set, we should
40816         prompt the user to save it, so the customization is not lost on
40817         restart.
40819         * lisp/gnus/gnus-srvr.el (gnus-server-toggle-cloud-method-server):
40820         Prompt to save the customization of `gnus-cloud-method'.
40822 2016-07-27  Ken Brown  <kbrown@cornell.edu>
40824         Fix dired-test-bug22694
40826         * test/lisp/dired-tests.el (dired-test-bug22694): Delete the
40827         "bug22694" directory, if it exists, before running the test.  It
40828         might be left over from a previous aborted run of the test.
40830 2016-07-27  Michal Nazarewicz  <mina86@mina86.com>
40832         Fix ‘is multibyte’ test regex.c’s mutually_exclusive_p (bug#24020)
40834         * src/regex.c (mutually_exclusive_p): Fix how whether character is
40835         unibyte is tested when calling execute_charset function.  This bug has
40836         been introduced by [6dc6b00: Fix ‘[[:cc:]]*literal’ regex failing to
40837         match ‘literal’] which dropped a call to IS_REAL_ASCII (c) macro.
40838         Reinstitute it.
40840 2016-07-27  Tino Calancha  <tino.calancha@gmail.com>
40842         Remove hook when disabling ibuffer-auto-mode
40844         * lisp/ibuf-ext.el (ibuffer-auto-mode):
40845         Remove 'ibuffer-auto-update-changed' from 'post-command-hook'.
40847 2016-07-26  Stefan Monnier  <monnier@iro.umontreal.ca>
40849         * lisp/subr.el (cancel-change-group): Reset cell in case of error
40851         Since the setcdr/setcdr is supposed to be temporary, use unwind-protect
40852         to make sure we properly undo the temporary change even in case of error.
40854 2016-07-26  Eli Zaretskii  <eliz@gnu.org>
40856         Avoid segfaults in compute_motion
40858         * src/indent.c (compute_motion): Don't turn on and don't use the
40859         width cache unless the buffer's width-table is non-nil.  This
40860         avoids segfaults because code that uses the width cache assumes
40861         the width-table exists.  (Bug#24064)
40863 2016-07-26  Nicolas Petton  <nicolas@petton.fr>
40865         Do not sharp-quote lambdas
40867         * lisp/progmodes/sql.el: Remove sharp-quotes in lambdas.
40869 2016-07-25  Ted Zlatanov  <tzz@lifelogs.com>
40871         * lisp/gnus/gnus-cloud.el (gnus-cloud-encode-data): Fix
40872         'base64-gzip encoding.
40874 2016-07-25  Andrew Hyatt  <ahyatt@gmail.com>
40876         Add warning to format-alist docs.
40878         */doc/lispref/files.texi (format-alist) Change documentation for
40879         format-alist to warn against file modifications when formatting, which
40880         leads to incorrect results.  (Bug#5440)
40882         Changes suggested by Eli.
40884 2016-07-25  Katsumi Yamaoka  <yamaoka@jpl.org>
40886         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
40887         Preserve key bindings that shr adds (bug#23964).
40889 2016-07-25  Michal Nazarewicz  <mina86@mina86.com>
40891         Fix ‘[[:cc:]]*literal’ regex failing to match ‘literal’ (bug#24020)
40893         The regex engine tries to optimize Kleene star by avoiding backtracking
40894         when it can detect that star’s operand cannot match what follows it in
40895         the pattern.
40897         For example, when ‘[[:alpha:]]*1’ tries to match a ‘foo’, the engine
40898         will test the longest match for ‘[[:alpha:]]*’, namely ’foo’ which is
40899         the entire string.  Literal digit one still present in the pattern will
40900         however not match the remaining empty string.
40902         Normally, backtracking would be performed trying a shorter match for the
40903         character class (namely ‘fo’ leaving ‘o’ in the string), but since the
40904         engine knows whatever would be put back into the string cannot possibly
40905         match literal digit one so no backtracking will be attempted.
40907         In the regexes of the form ‘[[:CC:]]*X’, the optimization can be applied
40908         if the character class CC does not match character X.  In the above
40909         example, this holds because digit one is not in alpha character class.
40911         This test is performed by mutually_exclusive_p function but it did not
40912         check class bits of a charset opcode.  This resulted in an assumption
40913         that character classes do not match multibyte characters.  For example,
40914         it would incorrectly conclude that [[:alpha:]] doesn’t match ‘ż’.
40916         This, in turn, led to the aforementioned Kleene star optimization being
40917         incorrectly applied in patterns such as ‘[[:graph:]]*☠’ (which should
40918         match ‘☠’ but doesn’t as can be tested by executing
40919             (string-match-p "[[:graph:]]*☠" "☠")
40920         which should return 0 but instead yields nil.
40922         This issue affects any class witch matches multibyte characters, i.e.
40923         if ‘[[:cc:]]’ matches a multibyte character X then ‘[[:cc:]]*X’ will
40924         fail to match ‘X’.
40926         * src/regex.c (executing_charset): A new function for executing the
40927         charset and charset_not opcodes.  It performs check on the character
40928         taking into consideration existing bitmap, range table and class bits.
40929         It also advances the pointer in the regex bytecode past the parsed
40930         opcode.
40931         (CHARSET_LOOKUP_RANGE_TABLE_RAW, CHARSET_LOOKUP_RANGE_TABLE): Removed.
40932         Code now included in executing_charset.
40933         (mutually_exclusive_p, re_match_2_internal): Changed to take advantage
40934         of executing_charset function.
40936         * test/src/regex-tests.el: New file with tests for the character class
40937         matching.
40939 2016-07-25  Nicolas Petton  <nicolas@petton.fr>
40941         Fix auto-reverting image-mode buffer (bug#21598)
40943         When auto-reverting an image buffer, `image-mode' is not called since
40944         `revert-buffer' is called with `preserve-modes' set to non-nil.
40946         * lisp/image-mode.el (image-after-revert-hook): Check if there is an
40947         image display property for the current buffer before updating it.
40949 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
40951         ‘signal’ no longer returns
40953         Although for decades ‘signal’ has been documented to not return,
40954         a corner case in the Lisp debugger causes ‘signal’ to return.
40955         Remove the corner case and adjust Emacs internals accordingly.
40956         An alternative would be to document the corner case, but this
40957         would complicate the Lisp API unnecessarily.  (Bug#24047)
40958         * src/eval.c (signal_or_quit): New function, with most of the
40959         old contents of Fsignal.
40960         (quit): New function, which uses signal_or_quit and which
40961         might return.  All keyboard-based callers of Fsignal (Qquit,
40962         Qnil) changed to use this new function instead.
40963         (Fsignal): Use signal_or_quit.  Now _Noreturn.  All callers
40964         changed.
40965         (xsignal): Move to lisp.h.
40966         * src/lisp.h (xsignal): Now an inline function, as it's now
40967         just an alias for Fsignal.
40969 2016-07-24  Paul Eggert  <eggert@cs.ucla.edu>
40971         Require libgnutls unless --with-gnutls=no
40973         * configure.ac: Report an error if the gnutls library is missing,
40974         unless --with-gnutls=no is specified.
40976 2016-07-23  Alan Mackenzie  <acm@muc.de>
40978         Fontify C++ parameter packs.
40980         This fixes debbugs #23610.
40982         * lisp/progmodes/cc-langs.el (c-pack-ops, c-pack-key): New
40983         c-lang-defconsts/defvars.
40984         (c-type-decl-prefix-key): Add "..." and "&&" into the C++ version.
40986         * lisp/progmodes/cc-engine.el (c-forward-type): Handle matches of c-pack-key.
40988 2016-07-23  Alan Mackenzie  <acm@muc.de>
40990         Java Mode: Handle strings as case labels correctly.
40992         This fixes debbugs #23901.
40994         * lisp/progmodes/cc-langs.el (c-nonlabel-token-key): Remove "\"" from the
40995         Java value.
40997 2016-07-22  Kaushal Modi  <kaushal.modi@gmail.com>
40999         Avoid repeated warnings while restoring desktop
41001         * lisp/desktop.el (desktop-restore-file-buffer): Do not print warnings
41002         when files are being opened during desktop restore.
41004 2016-07-22  Eli Zaretskii  <eliz@gnu.org>
41006         Fix compilation warning in the MinGW build
41008         * nt/inc/ms-w32.h: Include stdint.h.
41009         (_execvp, execve): Provide prototypes.
41011         * lib-src/emacsclient.c [WINDOWSNT]: Remove prototype for execvp,
41012         it is now in nt/inc/ms-w32.h.
41013         * lib-src/ntlib.c (getppid): Avoid compiler warnings due to format
41014         mismatch.
41015         (sys_ctime): Remove, not used.
41017 2016-07-22  Lars Ingebrigtsen  <larsi@gnus.org>
41019         Move read-multiple-choice to subr-x.el
41021         * lisp/faces.el (read-multiple-choice-face): Fix doc string.
41023         * lisp/emacs-lisp/subr-x.el (read-multiple-choice): Move here
41024         from subr.el.
41026         * lisp/gnus/message.el (subr-x): Ditto.
41028         * lisp/net/nsm.el: Require subr-x for read-multiple-choice.
41030         read-multiple-choice doesn't need to be in the dumped Emacs, so move
41031         it to a less central file.
41033 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
41035         Update define-ibuffer-op doc string
41037         * lisp/ibuf-macs.el (define-ibuffer-op):
41038         Mention that BODY is evaluated with 'buf' bound to the actual
41039         marked buffer being processed.
41041 2016-07-22  Tino Calancha  <tino.calancha@gmail.com>
41043         Update define-ibuffer-op doc string
41045         * lisp/ibuf-macs.el (define-ibuffer-op): Document arg COMPLEX
41046         instead of refer the reader to the source code.
41047         Document arg BODY.
41049 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
41051         Fix shell-command[-on-region] doc strings
41053         * lisp/simple.el (shell-command, shell-command-on-region):
41054         Drop the sentence saying that the command may delete the buffer
41055         '*Shell Command Output*': the command never delete such
41056         buffer (Bug#23936).
41058 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
41060         ;Revert ";Partially revert 2649105a"
41062         This reverts commit b7651649c2b1321a0c510116c1ac2442599d9a2e.
41064 2016-07-21  Mark Oteiza  <mvoteiza@udel.edu>
41066         ;Partially revert 2649105a
41068         * lisp/textmodes/tex-mode.el (tex-common-initialization): Use
41069         setq-local to modify prettify-symbols-compose-predicate.
41071 2016-07-21  Stefan Monnier  <monnier@iro.umontreal.ca>
41073         * src/bytecode.c: Fix compilation with BYTE_CODE_SAFE
41075         (struct byte_stack): Re-add `bottom'.
41076         (exec_byte_code): Initialize it.
41078 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
41080         Ibuffer: Use default output buffer for shell commands
41082         * lisp/ibuf-ext.el (shell-command-pipe): Insert the output in buffer
41083         '*Shell Command Output*', as command 'shell-command-file'.
41085 2016-07-21  Tino Calancha  <tino.calancha@gmail.com>
41087         Fix failing test
41089         * test/lisp/erc/erc-track-tests.el (erc-track--erc-faces-in):
41090         Enable Font Lock mode in order to initialize
41091         'char-property-alias-alist' (Bug#23954).
41093 2016-07-21  Paul Eggert  <eggert@cs.ucla.edu>
41095         Fix use-after-close in connect_network_socket
41097         * src/process.c (connect_network_socket): Don’t use
41098         external_sock_fd after closing it.  Problem found by Coverity Scan.
41100 2016-07-21  Katsumi Yamaoka  <yamaoka@jpl.org>
41102         * lisp/net/shr.el (shr-fill-line):
41103         Preserve text properties in folded lines (bug#24034).
41105 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
41107         Fix lifetime bug in tzlookup
41109         * src/editfns.c (tzlookup): Fix storage lifetime bug when
41110         INTEGERP (zone) && settz.  Problem found by Coverity Scan.
41112 2016-07-20  Lars Ingebrigtsen  <larsi@gnus.org>
41114         Fix shr.el/image build problem
41116         (Bug#24035)
41118         * lisp/net/shr.el: Require image, since some builds seem to
41119         break without it (bug#24035).
41121 2016-07-20  Ted Zlatanov  <tzz@lifelogs.com>
41123         Bring the Gnus Cloud package into working order.
41125         * lisp/gnus/gnus-sync.el: Removed in favor of gnus-cloud.el.
41127         * lisp/gnus/gnus-cloud.el: Autoload EPG functions. Change storage format to
41128         simplify non-file data.
41129         (gnus-cloud-storage-method): New defcustom to support nil, Base64,
41130         Base64+gzip, or EPG encoding on the Gnus Cloud IMAP server. Defaults to
41131         EPG if that's available, Base64+gzip otherwise.
41132         (gnus-cloud-interactive): New defcustom to make Gnus Cloud operations
41133         interactive, defaults to enabled.
41134         (gnus-cloud-group-name): New variable for the Gnus Cloud group name.
41135         (gnus-cloud-make-chunk): Tag with "Gnus-Cloud-Version" instead of just
41136         "Version".
41137         (gnus-cloud-insert-data): Simplify and support :newsrc-data entries.
41138         (gnus-cloud-encode-data, gnus-cloud-decode-data): Support various
41139         storage methods as per gnus-cloud-storage-method.
41140         (gnus-cloud-parse-chunk): Look for "Gnus-Cloud-Version" marker.
41141         (gnus-cloud-parse-version-1): Fix parsing loop bug. Handle :newsrc-data
41142         entries.
41143         (gnus-cloud-update-all): Handle :newsrc-data entries and dispatch to
41144         file and data handlers.
41145         (gnus-cloud-update-newsrc-data): New function to handle :newrsc-data
41146         entries.
41147         (gnus-cloud-update-file): Rework to support gnus-cloud-interactive and
41148         be more careful.
41149         (gnus-cloud-delete-file): Remove; merged into gnus-cloud-update-file.
41150         (gnus-cloud-file-covered-p, gnus-cloud-all-files)
41151         (gnus-cloud-files-to-upload, gnus-cloud-ensure-cloud-group)
41152         (gnus-cloud-add-timestamps, gnus-cloud-available-chunks)
41153         (gnus-cloud-prune-old-chunks): Fix indentation.
41154         (gnus-cloud-timestamp): New function to make a standard Gnus Cloud
41155         timestamp.
41156         (gnus-cloud-file-new-p): Use it.
41157         (gnus-cloud-upload-all-data): Add interactive convenience function to
41158         upload all data.
41159         (gnus-cloud-upload-data): Make interactive; collect files and newsrc
41160         data separately; refresh Gnus Cloud group after insert.
41161         (gnus-cloud-download-all-data): Add interactive convenience function to
41162         download all data.
41163         (gnus-cloud-download-data): Rework to support "Gnus-Cloud-Version"
41164         marker and different storage methods.
41165         (gnus-cloud-host-server-p): New function to check if a server is the
41166         Gnus Cloud host.
41167         (gnus-cloud-collect-full-newsrc): Tag entries with :newsrc-data.
41168         (gnus-cloud-host-acceptable-method-p): New function so
41169         other code can check if a server method can host the Gnus cloud.
41170         (gnus-cloud-storage-method): Use 'radio instead of 'choice for better UI.
41171         (gnus-cloud-method): Make this a defcustom and note how to set it.
41173         * lisp/gnus/gnus-group.el (gnus-group-cloud-map): Add Gnus Cloud autoloaded
41174         keybindings under the `~' prefix.
41176         * lisp/gnus/gnus-srvr.el (gnus-server-mode-map, gnus-server-make-menu-bar)
41177         (gnus-server-cloud, gnus-server-cloud-host)
41178         (gnus-server-font-lock-keywords, gnus-server-insert-server-line)
41179         (gnus-server-toggle-cloud-method-server): Support Gnus Cloud
41180         synchronized servers and synchronization host server toggling (`i' and
41181         `I') and visual display.
41182         (gnus-server-toggle-cloud-method-server): Use
41183         gnus-cloud-host-acceptable-method-p.
41184         (gnus-server-toggle-cloud-method-server): Use custom-set-variables to
41185         set the gnus-cloud-method. Ask the user if it's OK to upload the data
41186         right now.
41188         * doc/misc/gnus.texi: Document Gnus Cloud package.
41190 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
41192         Remove CHECK_FRAME_FONT cruft from bytecode.c
41194         * src/bytecode.c [CHECK_FRAME_FONT]: Do not include frame.h, xterm.h.
41195         Remove some old ‘#if 0’ code.
41197 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
41199         Work around GCC bug 54561 in a better way
41201         The new approach is less selective, but also less intrusive on C code.
41202         * src/bytecode.c, src/image.c, src/keyboard.c: Ignore -Wclobbered.
41203         * src/conf_post.h (NONVOLATILE): Remove.  All uses removed.
41205 2016-07-20  Paul Eggert  <eggert@cs.ucla.edu>
41207         Fix port to glibc 2.24 (pre-release) + ppc64
41209         * src/callproc.c (child_setup): Use emacs_exec_file
41210         so that ASLR is enabled in the child process.
41211         * src/emacs.c: Move some personality details into sys/sysdep.c.
41212         Do not include <sys/personality.h>.
41213         (main): Disable ASLR earlier, so that we don’t chdir twice.
41214         * src/lisp.h (disable_address_randomization): New decl.
41215         * src/sysdep.c (disable_address_randomization)
41216         [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]: Move personality details
41217         here from emacs.c.
41218         (emacs_exec_file): New function.
41220 2016-07-19  Alan Third  <alan@idiocy.org>
41222         Prevent bar cursor overwriting next glyph (bug#16856)
41224         * src/nsterm.m (ns_draw_window_cursor): Test glyph width vs cursor width
41225         before setting final size.
41227 2016-07-19  Eli Zaretskii  <eliz@gnu.org>
41229         Fix 'transpose-regions' when LEAVE-MARKERS arg is non-nil
41231         * src/insdel.c (adjust_markers_bytepos): New function.
41232         * src/lisp.h (adjust_markers_bytepos): Add prototype.
41233         * src/insdel.c (replace_range, replace_range_2):
41234         * src/editfns.c (Ftranspose_regions): Call
41235         adjust_markers_bytepos.  (Bug#5131)
41237         * test/src/editfns-tests.el (transpose-test-reverse-word)
41238         (transpose-test-get-byte-positions): New functions.
41239         (transpose-ascii-regions-test)
41240         (transpose-nonascii-regions-test-1)
41241         (transpose-nonascii-regions-test-2): New tests.
41243 2016-07-19  Katsumi Yamaoka  <yamaoka@jpl.org>
41245         Make gif animation work (bug#24004)
41247         * lisp/image.el (image-animate-timeout): Fix the logic that tests if
41248         an animation is too big (bug#24004).
41250 2016-07-18  Stefan Monnier  <monnier@iro.umontreal.ca>
41252         * lisp/simple.el (undo-amalgamate-change-group): New function
41254         * lisp/emulation/viper-cmd.el (viper-adjust-undo): Use it.
41255         (viper-set-complex-command-for-undo): Save current state with
41256         prepare-change-group.
41257         * lisp/emulation/viper-init.el (viper-undo-needs-adjustment)
41258         (viper-buffer-undo-list-mark): Remove.
41260 2016-07-18  Noam Postavsky  <npostavs@gmail.com>
41262         Keep w32 environment settings internal only
41264         * src/emacs.c (main) [WINDOWSNT]: Move init_environment calls after the
41265         set_initial_environment call.  This prevents Emacs' modifications to the
41266         environment from contaminating Vprocess_environment and
41267         Vinitial_environment (Bug #10980).
41268         * src/callproc.c (getenv_internal) [WINDOWSNT]: Consult Emacs' internal
41269         environment in as a fallback to Vprocess_environment.
41270         * test/src/callproc-tests.el (initial-environment-preserved): New Test.
41272 2016-07-18  Nicolas Petton  <nicolas@petton.fr>
41274         Better documentation for cl-reduce (bug#24014)
41276         * lisp/emacs-lisp/cl-seq.el (cl-reduce): Explain what reducing means.
41278 2016-07-17  Alan Third  <alan@idiocy.org>
41280         Remove separate pool for popup dialogs (bug#23856)
41282         * src/nsmenu.m (pop_down_menu, ns_popup_dialog): Remove references to
41283         autorelease pool and Popdown_data struct.
41285 2016-07-17  Mark Oteiza  <mvoteiza@udel.edu>
41287         Use eldoc-documentation-functions
41289         * lisp/hexl.el (hexl-mode):
41290         * lisp/ielm.el (inferior-emacs-lisp-mode):
41291         * lisp/progmodes/cfengine.el (cfengine3-mode):
41292         * lisp/progmodes/elisp-mode.el (emacs-lisp-mode):
41293         * lisp/progmodes/octave.el (octave-mode, inferior-octave-mode):
41294         * lisp/progmodes/python.el (python-mode):
41295         * lisp/simple.el (read--expression): Add buffer-locally to hook
41296         eldoc-documentation-functions.
41298 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
41300         Optimize ucs-normalize.el compilation
41302         * lisp/international/ucs-normalize.el (ucs-normalize-combining-chars-regexp):
41303         (quick-check-list-to-regexp): Use regexp-opt-charset instead of
41304         regexp-opt.
41305         * lisp/international/ucs-normalize.el (quick-check-list): Reuse a single
41306         temp buffer for the whole loop.
41308 2016-07-16  Noam Postavsky  <npostavs@gmail.com>
41310         Add tests for ucs-normalize.el
41312         Some tests are marked as expected to fail.
41314         * test/lisp/international/ucs-normalize-tests.el: New tests.
41315         * admin/unidata/NormalizationTest.txt: Add data for tests.
41316         * admin/unidata/README: Add URL for NormalizationTest.txt.
41317         * admin/notes/unicode: Add note about running (and updating the data
41318         for) the new tests.  Remove note about normalization being unsupported.
41320 2016-07-16  Alan Third  <alan@idiocy.org>
41322         Fix cursor display (bug#23993)
41324         * src/xdisp.c (get_phys_cursor_geometry): Fix invalid C operator.
41326 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
41328         Stop worrying about Alliant in bytecode.c
41330         * src/bytecode.c (PUSH): Remove workaround for long-obsolete compiler.
41332 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
41334         Remove BYTE_MAINTAIN_TOP
41336         It is no longer needed now that we assume GC_MARK_STACK ==
41337         GC_MAKE_GCPROS_NOOPS.
41338         * src/bytecode.c (BYTE_MAINTAIN_TOP): Remove.
41339         All uses removed, and code simplified accordingly.
41340         (BEFORE_POTENTIAL_GC, AFTER_POTENTIAL_GC): Remove, since they
41341         are always no-ops now.  All uses removed.
41342         (MAYBE_GC): Remove.  All uses replaced by maybe_gc,
41343         since it is now equivalent.
41345 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
41347         Remove now-inaccurate bytecode comments
41349         * src/bytecode.c: Remove comments that are no longer accurate.
41350         Most of these are actually old ChangeLog entries.
41352 2016-07-15  Paul Eggert  <eggert@cs.ucla.edu>
41354         Port to glibc 2.24 (pre-release) + ppc64
41356         Inspired by a suggestion by Florian Weimer in:
41357         https://sourceware.org/ml/libc-alpha/2016-07/msg00425.html
41358         * configure.ac (HAVE_PERSONALITY_ADDR_NO_RANDOMIZE):
41359         Rename from HAVE_PERSONALITY_LINUX32, and check for
41360         ADDR_NO_RANDOMIZE (the crucial thing) instead of for LINUX32.
41361         All uses changed.
41362         * src/emacs.c (main) [HAVE_PERSONALITY_ADDR_NO_RANDOMIZE]:
41363         Use ADDR_NO_RANDOMIZE from personality.h rather than inventing the
41364         flag ourselves.  Just set that flag, rather than also setting the
41365         persona.  When doing it, avoid functions like putenv that may
41366         allocate memory.
41368 2016-07-14  Mark Oteiza  <mvoteiza@udel.edu>
41370         Revert "Add a couple cells to lisp-prettify-symbols-alist"
41372         This reverts commit bdda4855c635ecf4135e23321bdba023e9ae65c9.
41374 2016-07-14  Stefan Monnier  <monnier@iro.umontreal.ca>
41376         * lisp/simple.el (shell-command): Add save-match-data comment
41378 2016-07-14  Alan Mackenzie  <acm@muc.de>
41380         CC Mode: correct incorrect invocation of parse-partial-sexp.
41382         Fixes bug #23944.
41384         * lisp/progmodes/cc-engine.el (c-literal-limits): make the sixth argument of
41385         an invocation of parse-partial-sexp 'syntax-table, not the fourth.
41387 2016-07-14  Andreas Schwab  <schwab@suse.de>
41389         Fix configure summary for hybrid malloc configurations
41391         * configure.ac ("$hybrid_malloc" = yes): Set GNU_MALLOC to no,
41392         parenthesize value of GNU_MALLOC_reason.
41394 2016-07-14  Stephen Berman  <stephen.berman@gmx.net>
41396         Fix delete-duplicate-lines
41398         * lisp/sort.el (delete-duplicate-lines): Delete duplicate
41399         first line when operating backward (bug#23863).
41401 2016-07-14  Andreas Schwab  <schwab@suse.de>
41403         Remove unused SHEAP_OBJ
41405         * Makefile.in (base_obj): Remove $(SHEAP_OBJ).
41407 2016-07-13  Katsumi Yamaoka  <yamaoka@jpl.org>
41409         * lisp/gnus/mm-decode.el (mm-convert-shr-links):
41410         Use shr-image-map instead of shr-map (bug#23964).
41412 2016-07-13  Stefan Monnier  <monnier@iro.umontreal.ca>
41414         * lisp/mouse.el (mouse): Consolidate group definition here
41416         * lisp/cus-edit.el (mouse): Remove both group definitions.
41418 2016-07-13  Chris Feng  <chris.w.feng@gmail.com>
41420         Include versioned preloaded libraries in `package--builtin-versions'
41422         * lisp/emacs-lisp/autoload.el (update-directory-autoloads): Do not
41423         exclude preloaded libraries or remove entries generated for them.
41424         (autoload-generate-file-autoloads): Do not generate autoload
41425         statements for preloaded libraries.
41427 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
41429         Omit unnecessary #includes from xwidget.c
41431         * src/xwidget.c: Remove #include directives that are not needed.
41432         Also, don’t conditionalize #includes on HAVE_X_WINDOWS, since this
41433         file is compiled only if the X interface is available.
41435 2016-07-13  Paul Eggert  <eggert@cs.ucla.edu>
41437         Port xwidget.c to GCC 6 with --enable-gcc-warnings
41439         * src/xwidget.c (x_draw_xwidget_glyph_string, xwidget_end_redisplay):
41440         Adjust to pacify GCC.  Add a couple of FIXME comments, suggesting
41441         possible bugs found by GCC.
41443 2016-07-12  Tino Calancha  <tino.calancha@gmail.com>
41445         Escape meta chars in commands processed by shell
41447         * lisp/progmodes/grep.el (grep-compute-defaults): Quote braces
41448         in all commands to be passed to a shell (Bug#23959).
41450 2016-07-12  John Wiegley  <johnw@newartisans.com>
41452         Revert "Cleanup tooltips"
41454         This reverts commit 20038f8ab75dd1551412a43cd58520c483c22921.
41456         I am reverting this change because it was applied without prior discussion
41457         on emacs-devel, and has been found to break the NS port.  It needs more
41458         testing and review before it should be applied here.
41460 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
41462         * lisp/emacs-lisp/cl-macs.el (cl--prog): New function
41464         (cl-prog, cl-prog*): New macros.
41466 2016-07-12  Stefan Monnier  <monnier@iro.umontreal.ca>
41468         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic
41470         * lisp/emacs-lisp/cl-generic.el (cl-defmethod): Make docstring dynamic.
41471         (cl--generic-make-defmethod-docstring): New function for that.
41472         (cl-defmethod, cl-generic-generalizers): Tweak docstrings accordingly.
41473         (cl-generic-define-method, cl--generic-describe): Change `load-history'
41474         format of cl-defmethods, so as not to confused methods with equal
41475         specializers but different qualifiers.
41476         * lisp/emacs-lisp/eieio-core.el (cl-generic-generalizers): Provide docstrings.
41478 2016-07-12  Eli Zaretskii  <eliz@gnu.org>
41480         Don't install keyboard hook when debugged on MS-Windows
41482         * src/w32fns.c (setup_w32_kbdhook): Don't install the keyboard
41483         hook if we are being debugged.  This avoids hosing the debugger,
41484         because the hook is global, and is called in the context of the
41485         thread which installed it, and that thread is stopped when GDB has
41486         control.  Reported by Fabrice Popineau <fabrice.popineau@gmail.com>.
41488 2016-07-12  Alan Mackenzie  <acm@muc.de>
41490         Amend CC Mode to handle big C++ raw strings correctly.
41492         Problems were caused by such a string spanning jit-lock chunks, and by a flaw
41493         in the +-500 bytes boundaries imposed for macros.
41495         * lisp/progmodes/cc-mode.el (c-extend-region-for-CPP): Check the +-500 byte
41496         macro boundaries here.
41497         (c-extend-font-lock-region-for-macros): Remove the check on the +-500 byte
41498         lower boundary.  Fix the check on the upper boundary.
41500         * lisp/progmodes/cc-fonts.el (c-font-lock-raw-strings): Handle the starting
41501         point already being within a raw string.
41503         * lisp/progmodes/cc-engine.el (c-raw-string-pos)
41504         (c-depropertize-raw-strings-in-region, c-after-change-re-mark-raw-strings):
41505         Modify regexp element "\\{,16\\}" to "\\{0,16\\}" for greater compatibility
41506         with other Emacsen.
41508 2016-07-12  Stephen Berman  <stephen.berman@gmx.net>
41510         * lisp/mouse.el (mouse-select-region-move-to-beginning): Add :group.
41512 2016-07-11  Dmitry Antipov  <dmantipov@yandex.ru>
41514         Cleanup tooltips
41516         * src/dispextern.h (toplevel): Remove 'tip_frame' and 'tip_window' decls.
41517         * src/frame.h (struct frame): New bitfield to indicate tooltip frame.
41518         (FRAME_TOOLTIP_P): New macro.
41519         * src/frame.c (make_frame): Mark new frame as regular frame by default.
41520         (Fframe_list, delete_frame): Redesign to use FRAME_TOOLTIP_P.
41521         (syms_of_frame): Don't DEFSYM 'Qtooltip' but use 'Qtooltip_timer'
41522         and 'Qtooltip_parameters' instead.
41523         * src/gtkutil.h (toplevel): Add 'xg_hide_tip' decl.
41524         * src/gtkutil.c (xg_hide_tip): New function.
41525         (xg_hide_tooltip): Adjust to cancel GTK event loop timeout if needed.
41526         * src/menu.c (Fx_popup_menu): Adjust call to Fx_hide_tip.
41527         * src/nsfns.m (toplevel): Remove 'tip_frame' leftover.
41528         * src/w32fns.c (unwind_create_tip_frame): Remove.
41529         (w32_display_monitor_attributes_list)
41530         (w32_display_monitor_attributes_list_fallback): Use FRAME_TOOLTIP_P.
41531         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
41532         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
41533         as a tooltip frame and record it using appropriate display info.
41534         (x_hide_tooltip): Add frame arg.
41535         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
41536         base frame parameters, store tooltip hide timer among tooltip frame
41537         parameters.
41538         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
41539         (syms_of_w32fns): Don't DEFSYM 'Qtip_frame', don't initialize
41540         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
41541         * src/w32term.c (w32_read_socket): Extract tooltip window id from
41542         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
41543         (x_new_font): Use FRAME_TOOLTIP_P.
41544         (x_free_frame_resources): Reset pointer to tooltip frame.
41545         * src/w32term.h (struct w32_display_info): New member 'w32_tooltip_frame'.
41546         * src/xdisp.c (init_iterator, x_consider_frame_title, prepare_menu_bars):
41547         Use FRAME_TOOLTIP_P.
41548         * src/xfns.c (x_make_monitor_attribute_list)
41549         (Fx_display_monitor_attributes_list): Likewise.
41550         (unwind_create_tip_frame): Remove.
41551         (toplevel): Remove 'tip_frame', 'tip_window' and 'last_show_tip_args'.
41552         (x_create_tip_frame): Use do_unwind_create_frame.  Mark new frame
41553         as a tooltip frame and record it using appropriate display info.
41554         (x_hide_tooltip): Add frame arg.
41555         (Fx_show_tip): Adjust to avoid globals, store tooltip parameters among
41556         base frame parameters, store tooltip hide timer among tooltip frame
41557         parameters.  To hide GTK system tooltip, use timeout hooked into GTK
41558         event loop.
41559         (Fx_hide_tip): Add frame arg, hide tooltips on all displays by default.
41560         (syms_of_xfns): Don't DEFSYM 'Qtip_frame', don't initialize
41561         and GC-protect 'tip_timer', 'tip_frame' and 'last_show_tip_args'.
41562         * src/xterm.c (handle_one_xevent): Extract tooltip window id from
41563         per-display data.  Use FRAME_TOOLTIP_P where appropriate.
41564         (x_new_font, x_set_window_size): Use FRAME_TOOLTIP_P.
41565         (x_free_frame_resources): Reset pointer to tooltip frame.
41566         * src/xterm.h (struct x_display_info): New member 'x_tooltip_frame'.
41567         (struct x_output) [USE_GTK_TOOLTIP]: New member 'ttip_timeout'.
41569 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
41571         * src/fns.c (syms_of_fns): Leave `features' lexically scoped
41573 2016-07-11  Mario Lang  <mlang@delysid.org>
41575         Test mapcan
41577         * test/src/fns-tests.el (fns-tests-mapcan): New test.
41579 2016-07-11  Stefan Monnier  <monnier@iro.umontreal.ca>
41581         Prevent to apply funcall on t
41583         * lisp/vc/ediff-util.el (ediff-really-quit): Ignore the global part of
41584         'ediff-after-quit-hook-internal' hook (Bug#23933).
41586 2016-07-11  Tino Calancha  <tino.calancha@gmail.com>
41588         Ignore angle mode while simplifying units
41590         * lisp/calc/calc-forms.el (math-to-hms, math-from-hms):
41591         Ignore value of 'calc-angle-mode' when 'math-simplifying-units'
41592         is non-nil (Bug#23889).
41593         * lisp/calc/calc-math.el (math-to-radians, math-from-radians)
41594         (math-from-radians-2, math-to-radians-2): Idem.
41596 2016-07-11  Eli Zaretskii  <eliz@gnu.org>
41598         Fix display of composed characters
41600         * src/xdisp.c (x_produce_glyphs): Fix off-by-one error in
41601         iteration through composition glyphs.  (Bug#23938)
41603 2016-07-11  Paul Eggert  <eggert@cs.ucla.edu>
41605         Fix composition bug caused by off-by-1 typo
41607         * src/xdisp.c (x_produce_glyphs): Fix off-by-one typo when
41608         computing composition glyph (Bug#23938).
41610 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
41612         Dired always read file system
41614         * lisp/dired.el (dired-always-read-filesystem): Add new option.
41615         (dired-mark-files-containing-regexp): Use it (Bug#22694).
41616         * doc/emacs/dired.texi: Mention it in the manual.
41617         * test/lisp/dired-tests.el (dired-test-bug22694): Add test.
41618         ;* etc/NEWS: Add entry for this change.
41620 2016-07-10  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
41622         * src/macfont.m (mac_font_shape): Make sure that total_advance is increasing.
41624 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
41626         Avoid 'unused var' 'not left unused var' warnings
41628         * lisp/ibuffer.el (ibuffer-locked-buffer-p): Remove unused var 'char'.
41629         Rename used var '_buffer' to 'cbuffer'.
41631         * lisp/ibuf-ext.el (ibuffer-unmark-all): Rename used var '_mark'
41632         to cmark'.
41634 2016-07-10  Tino Calancha  <tino.calancha@gmail.com>
41636         * lisp/simple.el (shell-command, shell-command-on-region): Fix doc strings
41638 2016-07-10  Michael Albinus  <michael.albinus@gmx.de>
41640         Add a note how to use `tramp-own-remote-path'
41642         * doc/misc/tramp.texi (Inline methods, External methods)
41643         (Remote shell setup, Android shell setup)
41644         (Frequently Asked Questions, Frequently Asked Questions):
41645         Use @command and @samp consequently.
41646         (Remote programs): The remote shell must support the -l
41647         argument, in order to use `tramp-own-remote-path'.  (Bug#23914)
41649 2016-07-10  Alan Third  <alan@idiocy.org>
41651         Remove App Nap setting from Info.plist (bug#22993)
41653         * nextstep/templates/Info.plist.in: Remove LSAppNapIsDisabled key since
41654         it doesn't actually disable app nap.
41656 2016-07-09  Mario Lang  <mlang@delysid.org>
41658         An efficient built-in mapcan
41660         A built-in version of `mapcan' avoids consing up (and GC'ing) the
41661         intermediate list.
41663         * src/fns.c (Fmapcan): New built-in.
41664         (syms_of_fns): Define.
41666         * lisp/emacs-lisp/cl.el (mapcan): Remove defalias.
41668         * lisp/emacs-lisp/cl-extra.el (cl-mapcan): Use built-in `mapcan'
41669         if only one sequence is provided.
41671         * lisp/progmodes/hideif.el (hif-delimit):
41672         * lisp/dired-aux.el (dired-do-find-regexp):
41673         * lisp/woman.el (woman-parse-colon-path): Use `mapcan' instead of
41674         `cl-mapcan'.
41676         * lisp/woman.el (eval-when-compile): Require 'cl-lib only when
41677         compiling.
41679         * lisp/mouse.el (mouse-buffer-menu-map):
41680         * lisp/net/pop3.el (pop3-uidl-dele):
41681         * lisp/progmodes/gud.el (gud-jdb-build-source-files-list):
41682         * lisp/cedet/semantic/db-find.el (semanticdb-fast-strip-find-results):
41683         * lisp/cedet/semantic/symref/grep.el (semantic-symref-derive-find-filepatterns):
41684         * lisp/gnus/nnmail.el (nnmail-split-it):
41685         * lisp/gnus/gnus-sum.el (gnus-articles-in-thread):
41686         * lisp/gnus/gnus-registry.el (gnus-registry-sort-addresses):
41687         * lisp/gnus/gnus-util.el (gnus-mapcar): Use `mapcan'.
41689 2016-07-09  Tino Calancha  <tino.calancha@gmail.com>
41691         Detect aliases to built-in functions
41693         * lisp/help-fns.el (describe-function-1): Check for aliases
41694         defined with (defalias alias (symbol-function built-in)) (Bug#23887).
41696         * test/lisp/help-fns-tests.el (help-fns-test-bug23887): Untag as
41697         failing this test.
41699 2016-07-09  Michael Albinus  <michael.albinus@gmx.de>
41701         Avoid recursive detection of remote uid and gid in tramp-gvfs.el
41703         * lisp/net/tramp-gvfs.el (tramp-gvfs-get-remote-uid-gid-in-progress):
41704         New variable.
41705         (tramp-gvfs-maybe-open-connection): Use it.
41707         * test/lisp/net/tramp-tests.el (tramp-test18-file-attributes):
41708         Reorder test.
41710 2016-07-09  Jürgen Hötzel  <juergen@archlinux.org>
41712         Wrap around error in coreutil's ls
41714         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-directory): Add switch
41715         "--quoting-style=literal" if remote host supports quoting style.
41716         Recent versions of coreutils changed default quoting style to
41717         "--quoting=shell-escape".
41719 2016-07-09  Eli Zaretskii  <eliz@gnu.org>
41721         Minor tweaks of copying text properties when padding strings
41723         * src/editfns.c (styled_format): Don't include padding on the left
41724         in the properties at the beginning of the string.  (Bug#23897)
41726         * test/src/editfns-tests.el (format-properties): Add tests for
41727         faces when the string is padded on the left or on the right.
41729 2016-07-08  Mario Lang  <mlang@delysid.org>
41731         No need to require the same feature twice.
41733         * lisp/dired-aux.el (require 'cl-lib): Remove.
41735 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
41737         Turn on lexical binding
41739         * lisp/net/secrets.el (secrets-collection-handler): Use cl-pushnew.
41740         (secrets-search-items, secrets-create-item): Use append.
41741         (secrets-show-secrets): Remove unused binding.
41742         (secrets-expand-item, secrets-tree-widget-after-toggle-function):
41743         Ignore unused arguments.
41745 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
41747         Derive secrets-mode from special-mode
41749         * lisp/net/secrets.el: Remove top-level secrets-mode hack.
41750         (secrets-mode-map): New variable.  Add key bindings to n and p for
41751         navigating lines.
41752         (secrets-mode): Derive from special-mode.  Remove keymap code and
41753         initialization code.  Do not record undo information.  Make
41754         secrets-show-collections the local revert-buffer-function.
41755         (secrets-show-collections): Change signature to satisfy revert-buffer.
41757 2016-07-08  Mark Oteiza  <mvoteiza@udel.edu>
41759         Add a couple cells to lisp-prettify-symbols-alist
41761         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist): Add
41762         "sqrt" and "not".
41764 2016-07-08  Michael Albinus  <michael.albinus@gmx.de>
41766         Detect remote uid and gid in tramp-gvfs.el
41768         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-expand-file-name)
41769         (tramp-gvfs-handler-mounted-unmounted)
41770         (tramp-gvfs-connection-mounted-p):
41771         Make "default-location" a connection property.
41772         (tramp-gvfs-get-remote-uid, tramp-gvfs-get-remote-gid): New defuns.
41773         (tramp-gvfs-maybe-open-connection): Use them.
41775 2016-07-08  Eli Zaretskii  <eliz@gnu.org>
41777         Yet another fix for copying properties by 'format'
41779         * src/textprop.c (extend_property_ranges): Accept an additional
41780         argument OLD_END, and only extend the end of a property range if
41781         its original end is at OLD_END; all the other ranges are left
41782         intact.  (Bug#23897)
41783         * src/editfns.c (styled_format): Pass the original length of the
41784         string to 'extend_property_ranges'.
41785         * src/intervals.h (extend_property_ranges): Adjust prototype.
41787         * test/src/editfns-tests.el (format-properties): Add tests for
41788         bug#23897.
41790 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
41792         Allow selecting region with mouse to move point to beginning
41794         * etc/NEWS: Mention new user option
41795         `mouse-select-region-move-to-beginning'.
41797         * doc/emacs/frames.texi (Mouse Commands): Add cross-reference
41798         to the following.
41799         (Word and Line Mouse): Describe how double-clicking mouse-1 to
41800         activate region and `mouse-select-region-move-to-beginning'
41801         affect point.
41803         * lisp/mouse.el (mouse-select-region-move-to-beginning): New defcustom.
41804         (mouse-set-point): Use it.  (Bug#23478)
41806 2016-07-08  Stephen Berman  <stephen.berman@gmx.net>
41808         Fix menu bar breakage
41810         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu): Use backquoting
41811         to prevent void variable errors, and fix typo (bug#23918).
41813 2016-07-08  Tino Calancha  <tino.calancha@gmail.com>
41815         Copy buffer names to kill ring
41817         * lisp/ibuf-ext.el (ibuffer-copy-buffername-as-kill): New command.
41818         * lisp/ibuffer.el (ibuffer-mode-map): Bound it to 'B'.
41819         ;* etc/NEWS: Add entry for this new feature.
41821 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
41823         Remove just input mark
41825         * lisp/ibuffer.el (ibuffer-unmark-all): When MARK is not ?\r remove
41826         just MARK.
41828 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
41830         Ibuffer change marks
41832         * lisp/ibuffer.el (ibuffer-change-marks): New command.
41833         (ibuffer-mode-map): Bind it to '* c'.
41834         (ibuffer-mode-groups-popup): Update menus.
41835         (ibuffer-mode): Update mode doc.
41837 2016-07-07  Alan Third  <alan@idiocy.org>
41839         Prevent NS event loop being re-entered (bug#11049)
41841         * src/nsterm.m (ns_read_socket, ns_select): Return -1 if already
41842         in event loop instead of aborting.
41844 2016-07-07  Alan Third  <alan@idiocy.org>
41846         Fix some deprecated functions
41848         * src/nsterm.m (firstRectForCharacterRange): In OS X >10.6 replace
41849         convertBaseToScreen with convertRectToScreen.
41850         * src/nsmenu.m (ns_update_menubar): Remove attachedMenu, deprecated in
41851         OS X 10.2, and always seems to return nil.
41853 2016-07-07  Aaron Jensen  <aaronjensen@gmail.com>  (tiny change)
41855         Disable App Nap (bug#22993)
41857         * nextstep/templates/Info.plist.in: Insert AppNap disable code.
41859 2016-07-07  Michael Albinus  <michael.albinus@gmx.de>
41861         Fix an error in Tramp for rsync
41863         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
41864         Make it work for "rsync".
41865         (tramp-make-copy-program-file-name): Apply `directory-file-name'.
41867 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
41869         Ibuffer: Mark locked buffers
41871         * lisp/ibuf-ext.el (ibuffer-locked-buffer-p): New defun.
41872         (ibuffer-mark-by-locked): New command.
41873         (ibuffer-mode-map): Bind it to '% L'; update menus.
41874         (ibuffer-mode): Update mode doc.
41875         ;* etc/NEWS: Add NEWS entry for these changes and previous two commits.
41877 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
41879         * lisp/ibuffer.el: Add face for locked buffers
41881         * lisp/ibuffer.el: Add mark for locked buffers
41883         ;* etc/NEWS (Ibuffer): Update entry according with last commit
41885 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
41887         Remove duplicate binding
41889         * lisp/ibuffer.el (ibuffer-mode-map): 'ibuffer-mark-by-content-regexp'
41890         just bound to '% g'.
41891         As suggested in:
41892         https://lists.gnu.org/r/emacs-devel/2016-07/msg00165.html
41894 2016-07-07  Tino Calancha  <tino.calancha@gmail.com>
41896         Ibuffer: Drop needless binding
41898         * lisp/ibuffer.el (ibuffer-mark-interactive): 'inhibit-read-only'
41899         already bound to 't' inside 'ibuffer-set-mark'.
41901 2016-07-07  Phillip Lord  <phillip.lord@russet.org.uk>
41903         Run tests from non-byte compiled files
41905         * test/Makefile.in: Eval non-byte-compiled files for tests.
41907 2016-07-06  Mark Oteiza  <mvoteiza@udel.edu>
41909         Replace eldoc-documentation-function with a hook
41911         * lisp/emacs-lisp/eldoc.el (eldoc-documentation-functions): New hook.
41912         (eldoc-documentation-function): Make into obsolete alias.
41913         (eldoc-echo-area-use-multiline-p, eldoc-highlight-function-argument):
41914         (eldoc-argument-case, global-eldoc-mode): Update docstrings.
41915         (eldoc-print-current-symbol-info): Use run-hook-with-args-until-success
41916         on eldoc-documentation-functions.
41917         (eldoc-supported-p): New function.
41918         (eldoc-mode, global-eldoc-mode, eldoc-schedule-timer): Use eldoc-supported-p.
41919         * etc/NEWS: Mention eldoc-documentation-functions.
41920         * doc/lispref/modes.texi: Update reference.
41922 2016-07-06  Simen Heggestøyl  <simenheg@gmail.com>
41924         Complete "initial" and "unset" in CSS mode
41926         * lisp/textmodes/css-mode.el (css--complete-property-value): Make
41927         "initial" and "unset" completion candidates for all CSS properties,
41928         just like "inherit".
41930         * test/lisp/textmodes/css-mode-tests.el
41931         (css-test-complete-property-value): Update test to reflect the above
41932         change.
41934 2016-07-06  Michael Albinus  <michael.albinus@gmx.de>
41936         * lisp/net/tramp-gvfs.el (tramp-gvfs-mount-spec): Fix typo.
41938 2016-07-06  Paul Eggert  <eggert@cs.ucla.edu>
41940         Simplify rfc1345.el a bit
41942         * lisp/leim/quail/rfc1345.el: Omit commented-out codes for ASCII
41943         that would no longer parse.  Replace control characters with
41944         escapes in character constants.  Omit unnecessary \ after ?.
41945         This does not change behavior.
41947 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
41949         Prefer 'frame-parameter' where it is expected to be a bit faster
41951         * lisp/international/mule-diag.el (mule-diag):
41952         * lisp/menu-bar.el (menu-bar-showhide-scroll-bar-menu):
41953         * lisp/mouse.el (mouse-drag-line, font-menu-add-default):
41954         * lisp/scroll-bar.el (toggle-scroll-bar, toggle-horizontal-scroll-bar):
41955         * lisp/faces.el (x-resolve-font-name): Use 'frame-parameter'.
41957 2016-07-05  Dmitry Antipov  <dmantipov@yandex.ru>
41959         Reduce consing caused by vertical motion commands
41961         * src/frame.c (Fframe_parameter): Avoid call to Fframe_parameters for the
41962         parameters frequently requested by calls to 'next-line' and 'previous-line'.
41964 2016-07-05  Michael Albinus  <michael.albinus@gmx.de>
41966         Make all Tramp tests pass for "gdrive" method
41968         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-delete-directory)
41969         * lisp/net/tramp-compat.el (tramp-compat-copy-directory)
41970         (tramp-compat-delete-directory):
41971         * lisp/net/tramp-smb.el (tramp-smb-handle-delete-directory):
41972         Use `directory-files-no-dot-files-regexp'.
41974         * lisp/net/tramp-gvfs.el (tramp-gvfs-handler-mounted-unmounted)
41975         (tramp-gvfs-send-command): Call `tramp-flush-file-property' in
41976         case of problems.
41978         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
41979         Adapt docstring.
41980         (tramp-test14-delete-directory): Make further tests.
41982 2016-07-05  Eli Zaretskii  <eliz@gnu.org>
41984         Fix redisplay with window-start on continuation lines
41986         * src/xdisp.c (pos_visible_p): Return false if the window starts
41987         after CHARPOS.
41988         (compute_window_start_on_continuation_line): Don't return
41989         window-start position that is after point in the buffer, as the
41990         callers don't expect this to happen, and will generally display an
41991         empty window with the cursor in its middle.  (Bug#23871)
41993 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
41995         Add :expected-result :failed for unfixed bug test
41997         * test/lisp/help-fns-tests.el (help-fns-test-bug23887):
41999 2016-07-05  Tino Calancha  <tino.calancha@gmail.com>
42001         * test/lisp/help-fns-tests.el: Add several tests for 'describe-function'.
42003 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
42005         Don’t create unnecessary marker in ‘delete-trailing-whitespace’
42007         * lisp/simple.el (delete-trailing-whitespace): If END argument is nil,
42008         there is no need for the end-marker to be created.
42010 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
42012         Simplify ‘delete-trailing-whitespace’ by not treating \n as whitespace
42014         * lisp/simple.el (delete-trailing-whitespace): Set newline’s character
42015         syntax to non-whitespace so that ‘\s-’ regular expression does not match
42016         it.
42018         This simplifies the loop slightly since a simple ‘\s-+$’ can be used and
42019         as a consequence ‘line-beginning-position’ function does not need to be
42020         called any longer.
42022         Furthermore, when newline has whitespace syntax, ‘\s-$’ regular
42023         expression ends up matching empty lins since ‘\s-’ matches newline
42024         characetr of proceeding line.  This leads to needless loop iterations.
42026         Since previous change to ‘delete-trailing-whitespace’ already introduced
42027         ‘with-syntax-table’, take advantage of it and also overwrite newline’s
42028         character syntax.
42030 2016-07-04  Michal Nazarewicz  <mina86@mina86.com>
42032         Make ‘delete-trailing-whitespace’ delete spaces after form feed
42034         * lisp/simple.el (delete-trailing-whitespace): Treat form fead as
42035         a non-whitespace character (regradless of whether it’s character syntax
42036         is whitespace) and delete any whitespace following it instead of leaving
42037         lines with form feeds completely unchanged.  I.e. a line like "\f " will
42038         now became "\f".
42040 2016-07-04  Dmitry Antipov  <dmantipov@yandex.ru>
42042         Cleanup XEditRes hack
42044         * configure.ac [USE_X_TOOLKIT]: Define X_TOOLKIT_EDITRES if
42045         _XEditResCheckMessages is declared in X11/Xmu/Editres.h and may be
42046         linked with -lXmu.  This should work with any non-ancient Xmu library.
42047         * src/xfns.c (toplevel): Remove old cruft.
42048         (x_window) [USE_X_TOOLKIT]: Use X_TOOLKIT_EDITRES.
42049         * src/xterm.c (toplevel): Remove old cruft.
42050         (handle_one_xevent): Use X_TOOLKIT_EDITRES.
42051         * src/xterm.h (toplevel): Include X11/Xmu/Editres.h if X_TOOLKIT_EDITRES.
42053 2016-07-04  Michael Albinus  <michael.albinus@gmx.de>
42055         Add Google Drive support to Tramp
42057         * doc/misc/tramp.texi: Add `gdrive' method.
42059         * doc/misc/trampver.texi:
42060         * lisp/net/trampver.el: Change version to "2.3.1-pre".
42062         * etc/NEWS: Add Tramp connection method "gdrive".
42064         * lisp/net/tramp-gvfs.el (tramp-gvfs-methods) <gdrive>: Add.
42065         (tramp-default-user-alist, tramp-default-host-alist): Add rule
42066         for "gdrive".
42067         (tramp-gvfs-file-attributes): Add "name", remove "standard::icon".
42068         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp): Simplify regexp.
42069         (tramp-gvfs-get-directory-attributes): Improve loop.  Use
42070         "standard::display-name" as file name, if available.
42071         (tramp-gvfs-handle-file-name-all-completions): Simplify.
42072         (tramp-gvfs-url-file-name, tramp-gvfs-handler-mounted-unmounted)
42073         (tramp-gvfs-connection-mounted-p, tramp-gvfs-mount-spec):
42074         Map between "gdrive" and "google-drive".
42076         * lisp/net/tramp.el (tramp-call-process): Do not signal error.
42078         * test/lisp/net/tramp-tests.el (tramp--instrument-test-case):
42079         Do not enable `tramp-message-show-message'.
42080         (tramp-test13-make-directory, tramp-test14-delete-directory):
42081         Do not specify error type.
42083 2016-07-04  Tino Calancha  <tino.calancha@gmail.com>
42085         Calc: Update mode line after change mode
42087         * lisp/calc/calc-ext.el (calc-change-mode): Call 'calc-set-mode-line'.
42089 2016-07-03  Mark Oteiza  <mvoteiza@udel.edu>
42091         * lisp/simple.el (save-mark-and-excursion): Add declare forms.
42093 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
42095         Re-fix open-network-stream responsiveness
42097         Problem reported by Christer Ekholm (Bug#23864).
42098         * src/process.c (wait_reading_process_output): Further fix for
42099         typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu when
42100         wait == INFINITY and got_output_end_time is invalid.  See:
42101         https://bugs.gnu.org/23864#20
42103 2016-07-03  Alan Mackenzie  <acm@muc.de>
42105         Remove redundant forms from CC Mode for faster fontification
42107         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove four arms of
42108         the "main" cond form in the function, which have been redundant since the
42109         extraction of c-font-lock-cut-off-declarators from the function on
42110         2016-06-15/16.
42112 2016-07-03  Alan Mackenzie  <acm@muc.de>
42114         Speed up CC Mode fontification with less accurate functions extending region
42116         * lisp/progmodes/cc-fonts.el (c-font-lock-cut-off-declarators)
42117         (c-font-lock-enclosing-decls)
42118         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Replace invocations of
42119         c-beginning-of-decl-1 with less accurate invocations of
42120         c-syntactic-skip-backwards to speed up fontification.
42122 2016-07-03  Tino Calancha  <tino.calancha@gmail.com>
42124         Ibuffer: unmark all buffers without confirmation
42126         * lisp/ibuffer.el (ibuffer-unmark-all-marks): New command (Bug#23680).
42127         (ibuffer-mouse-popup-menu): Use it.
42128         (ibuffer-mode): Update mode doc.
42129         (ibuffer-mode-map): Bind 'ibuffer-unmark-all-marks' to 'U'.
42130         Rebind 'ibuffer-do-replace-regexp' to 'r'.
42132 2016-07-03  Paul Eggert  <eggert@cs.ucla.edu>
42134         Fix open-network-stream responsiveness
42136         Problem reported by Constantin Kulikov (Bug#23684).
42137         * src/process.c (wait_reading_process_output):
42138         Fix typo introduced in 2015-07-06T02:19:13Z!eggert@cs.ucla.edu
42139         when wait == INFINITY and got_output_end_time is invalid.
42140         In this case the code should break, not continue.
42142 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
42144         Ibuffer: Mark buffers by content
42146         * lisp/ibuf-ext.el (ibuffer-mark-by-content-regexp): New command.
42147         (ibuffer-never-search-content-name): New option.
42148         (ibuffer-never-search-content-mode): Idem.
42149         (ibuffer-mark-by-content-regexp): Use them (Bug#23734).
42151         * lisp/ibuffer.el (ibuffer-mode-map): Bind new command to '% c' and '% g'.
42152         (ibuffer-mode): Update mode documentation.
42154 2016-07-02  Tino Calancha  <tino.calancha@gmail.com>
42156         ibuffer-copy-filename-as-kill verbosity increase
42158         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill):
42159         Use shorter name, result, for a local bound var.
42160         Show the string result in the echo area.
42162 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
42164         Fix cursor positioning on TTY frames after stretch glyph
42166         * src/term.c (append_glyph, append_composite_glyph)
42167         (append_glyphless_glyph): Set the avoid_cursor_p and multibyte_p
42168         members of the produced 'struct glyph'.  Fixes cursor positioning
42169         on the first character after a stretch glyph produced from
42170         line-prefix, wrap-prefix, etc. on TTY frames.
42172 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
42174         Fix vertical-movement in buffers with wrap-prefix
42176         * src/indent.c (Fvertical_motion): Zero the current_y coordinate
42177         whenever we zero the vpos vertical position of the iterator.
42178         * src/xdisp.c (move_it_in_display_line_to): Handle line-prefix and
42179         wrap-prefix regardless of whether the current Y coordinate is
42180         inside the window dimensions.  (Bug#23879)
42182 2016-07-02  Eli Zaretskii  <eliz@gnu.org>
42184         Rename FACE_OPT_FROM_ID to FACE_FROM_ID_OR_NULL
42186         * src/dispextern.h (FACE_FROM_ID_OR_NULL): Renamed from
42187         FACE_OPT_FROM_ID; all callers changed.
42188         * src/xdisp.c (extend_face_to_end_of_line): Call FACE_FROM_ID, not
42189         FACE_FROM_ID_OR_NULL, as the resulting face is immediately
42190         dereferenced.
42191         (fill_gstring_glyph_string): Call FACE_FROM_ID, not
42192         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
42193         when the glyph string is drawn.
42194         (BUILD_COMPOSITE_GLYPH_STRING): Call FACE_FROM_ID, not
42195         FACE_FROM_ID_OR_NULL, as the resulting face will be dereferenced
42196         in fill_composite_glyph_string.
42197         (calc_line_height_property): Call FACE_FROM_ID_OR_NULL rather that
42198         FACE_FROM_ID, since the function and its caller can cope with that
42199         situation.  Conflate 3 tests of missing face or font into just
42200         one.
42201         * src/xfaces.c (Fx_list_fonts, Fface_font, lookup_face): Call
42202         FACE_FROM_ID_OR_NULL rather that FACE_FROM_ID, since these
42203         functions can cope with that situation.
42204         (lookup_derived_face): Don't call FACE_FROM_ID if the result will
42205         not be used.
42206         * src/w32console.c (w32_face_attributes): Remove redundant 'eassert'.
42208 2016-07-01  Mark Oteiza  <mvoteiza@udel.edu>
42210         * lisp/gnus/gnus-art.el (gnus-article-send-map): Remove extra quote.
42212 2016-07-01  Stefan Monnier  <monnier@iro.umontreal.ca>
42214         * lisp/auth-source.el (auth-source--symbol-keyword): Fix namespace
42216         i.e. rename from auto-source--symbol-keyword.
42218 2016-07-01  Dmitry Antipov  <dmantipov@yandex.ru>
42220         Avoid yet another possible NULL pointer dereference found by GCC 6.1.1
42222         * lwlib/lwlib.c (lw_get_all_values): Always check the value returned by
42223         get_widget_info.
42225 2016-06-30  Alan Mackenzie  <acm@muc.de>
42227         CC Mode: truncate the semi-nonlit cache when applying syntax-table to a quote
42229         This applies to applying or removing syntax-table text properties in raw
42230         strings which affect the stringiness of a piece of text.  This fixes the
42231         bug
42232         reported in
42233         https://lists.gnu.org/r/emacs-devel/2016-06/msg00695.html.
42235         * lisp/progmodes/cc-engine.el (c-truncate-semi-nonlit-pos-cache): new
42236         defsubst.
42237         (c-invalidate-state-cache-1): Call new function in place of inline
42238         manipulation.
42239         (c-depropertize-raw-string, c-propertize-raw-string-opener): truncate the
42240         semi-nonlit cache when pertinent syntax-table text properties get applied to
42241         the text.
42243 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
42245         Minor tweaks to openp
42247         * src/lread.c (openp): Move invariant code out of the loop
42248         and thus avoid redundant calls to memcpy.  Adjust comments.
42250 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
42252         Simplify handling of frame parameters
42254         * src/frame.c (x_set_frame_parameters): Avoid extra loop processing
42255         foreground color, background color and font parameters.  Adjust
42256         comments.
42258 2016-06-29  Dmitry Antipov  <dmantipov@yandex.ru>
42260         Cleanup around mature character manipulation functions
42262         * lisp/international/mule-diag.el (decode-codepage-char): Remove.
42264         * lisp/ldefs-boot.el (toplevel): Adjust accordingly.
42266         * lisp/subr.el (toplevel): Do not advertise calling conventions
42267         for 'decode-char' and 'encode-char'.
42269         * src/charset.c (Fdecode_char, Fencode_char): Remove unused 3rd arg.
42271 2016-06-29  Alan Mackenzie  <acm@muc.de>
42273         Fix C-M-a in a C function finding the start of a macro preceding it.
42275         Also amend some pertinent documentation.  This fixes bug #23818.
42277         * lisp/progmodes/cc-engine.el (c-beginning-of-decl-1): Also check for a
42278         virtual semicolon at a place where we check for other types of statement ends.
42280         * lisp/progmodes/cc-vars.el (c-macro-nacmes-with-semicolon): Remove from the
42281         doc string the bit saying that the variable is a prototype and liable to
42282         change.
42284         * doc/misc/cc-mode.texi (Macros with ;): Enhance, stating that configuring
42285         macros with semicolon can prevent C-M-a missing the beginning of defun.
42287 2016-06-28  Dmitry Antipov  <dmantipov@yandex.ru>
42289         Avoid possible NULL pointer dereference found by GCC 6.1.1
42291         * src/xfns.c (x_get_monitor_attributes_xrandr): Always check
42292         the value returned by XRRGetOutputInfo.
42294 2016-06-28  Tino Calancha  <tino.calancha@gmail.com>
42296         Dired recognize dirs when file size in human units
42298         * lisp/dired.el (dired-re-inode-size): Update 'dired-re-inode-size'
42299         to match when Dired displays the allocated file size column
42300         in human readable units (Bug#22255).
42302 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
42304         Fix breakage from previous change
42306         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
42307         * lisp/vc/log-view.el (log-view-font-lock-keywords): Quote face.
42309 2016-06-28  Mark Oteiza  <mvoteiza@udel.edu>
42311         Fix breakage from previous change.
42313         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords): Quote face.
42315 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
42317         Add tests for copying properties by 'format'
42319         * test/src/editfns-tests.el (format-properties): New test.
42321 2016-06-28  Eli Zaretskii  <eliz@gnu.org>
42323         Fix copying properties in 'format' when it produces padding
42325         * src/textprop.c (extend_property_ranges): Correct range extension
42326         when the new end is beyond the old end.  (Bug#23859)
42328 2016-06-27  Alan Third  <alan@idiocy.org>
42330         Enable dividers in NS (bug#22973)
42332         src/nsfns.m: Add colour settings functions to ns_frame_park_handlers.
42333         src/nsterm.m (ns_draw_window_divider): ns_focus has to go before the
42334         attempt to set the colour.
42335         src/nsterm.m (ns_draw_vertical_window_border): This had the same bug as
42336         above, although I didn't see any errors.
42338 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42340         Fix the prefix action of shr-copy-url
42342         * lisp/net/shr.el (shr-copy-url): Make the command really copy
42343         the image url if given a prefix.
42345 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42347         New functions svg-text and svg-remove
42349         * doc/lispref/display.texi (SVG Images): Document svg-remove.
42351         * doc/lispref/display.texi (SVG Images): Document svg-text.
42353         * lisp/svg.el (svg-remove): New function.
42354         (svg-text): New function.
42356 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42358         Add new function dom-remove-node
42360         * doc/lispref/text.texi (Document Object Model): Document
42361         dom-remove-node.
42363         * lisp/dom.el (dom-remove-node): New function.
42365 2016-06-27  Lars Magne Ingebrigtsen  <larsi@gnus.org>
42367         Add a new function `svg-embed'
42369         * doc/lispref/display.texi (SVG Images): Document `svg-embed'.
42371         * lisp/svg.el (svg-embed): New function.
42372         (svg--image-data): Ditto.
42374 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
42376         * lisp/descr-text.el (describe-char-unicode-data): Fix copy/paste errors.
42378 2016-06-27  Eli Zaretskii  <eliz@gnu.org>
42380         Fix 'move-to-window-line' when EOB is on last screen line
42382         * src/window.c (displayed_window_lines): Fix an off-by-one error
42383         when the bottom of the last display line is exactly at window's
42384         last pixel.  Remove kludgey fix for TTY frames that is no longer
42385         needed.  (Bug#15760)
42386         (Fmove_to_window_line): Doc fix.
42388         * doc/lispref/positions.texi (Screen Lines): Clarify and make more
42389         accurate the documentation of 'move-to-window-line'.
42391 2016-06-27  Alan Mackenzie  <acm@muc.de>
42393         Amend a cache so that typing into C++ raw strings has no undue delay.
42395         Also amend the code so that low-level searches to the end of literals are done
42396         only when these positions get used.
42398         * lisp/progmodes/cc-engine.el (c-crosses-statement-barrier-p): Use the new
42399         c-literal-start instead of c-literal-limit.
42400         (c-state-semi-nonlit-pos-cache): Change the structure of this cache, such that
42401         it stores details of the literal at a point, rather than merely points outside
42402         of literals.
42403         (c-state-semi-pp-to-literal, c-state-full-pp-to-literal)
42404         (c-cache-to-parse-ps-state, c-parse-ps-state-to-cache, c-ps-state-cache-pos)
42405         (c-parse-ps-state-below, c-literal-start): New functions.
42406         (c-state-semi-safe-place): Removed.
42407         (c-in-literal): Use c-state-semi-pp-to-literal, so as not to scan to its end.
42408         (c-literal-limits, c-determine-limit-get-base): consequential amendments.
42409         (c-find-decl-spots, c-before-change-check-<>-operators, c-raw-string-pos)
42410         (c-guess-basic-syntax (CASE 2)): Avoid needless scans to end of literals.
42412         * lisp/progmodes/cc-fonts.el (c-font-lock-doc-comments): Avoid needless scans
42413         to end of literals.
42415         * lisp/progmodes/cc-mode.el (c-fl-decl-start): Avoid needless scans to end of
42416         literals.
42418         * lisp/progmodes/cc-cmds.el (c-beginning-of-defun, c-end-of-defun)
42419         (c-defun-name, c-declaration-limits): Avoid needless scans to end of literals.
42421 2016-06-26  Dmitry Gutov  <dgutov@yandex.ru>
42423         Also handle escaping when string begins with a quote
42425         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
42426         Handle quoting of the first character in the string.
42428         * test/lisp/progmodes/ruby-mode-tests.el
42429         (ruby-toggle-string-quotes-quotes-correctly): Update.
42431 2016-06-26  Sriram Thaiyar  <sriram.thaiyar@gmail.com>  (tiny change)
42433         Fix quote escaping in ruby-toggle-string-quotes
42435         * lisp/progmodes/ruby-mode.el (ruby-toggle-string-quotes):
42436         Change logic to quote based on the current quote of the string.
42438         * test/lisp/progmodes/ruby-mode-tests.el
42439         (ruby-toggle-string-quotes-quotes-correctly): Add test.
42441 2016-06-26  Noam Postavsky  <npostavs@gmail.com>
42443         Fix test-completion with completion-regexp-list
42445         * src/minibuf.c (Ftest_completion): Handle alist COLLECTION with non-nil
42446         completion-regexp-list (Bug #23533).
42448 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
42450         Try other addresses when connecting to multihomed
42452         Problem reported by Juliusz Chroboczek (Bug#17976)
42453         and by Artur Malabarba (Bug#23620).
42454         Patch from a suggestion by Andreas Schwab in:
42455         https://bugs.gnu.org/17976#39
42456         This patch is for non-MS-Windows platforms.
42457         I don't know the situation on MS-Windows.
42458         * src/process.c (connecting_status):
42459         New function, for (connect . ADDRINFOS).
42460         (connect_network_socket, check_for_dns, wait_for_socket_fds)
42461         (wait_while_connecting, wait_reading_process_output, status_notify):
42462         Use it.
42463         (decode_status, Fmake_network_process):
42464         Support (connect . ADDRINFOS) status.
42465         (connect_network_socket) [!WINDOWSNT]:
42466         If the connection failed and there are other addresses to try, do not
42467         signal an error; instead, loop around to try the next address.
42468         (wait_reading_process_output): Advance to the next address
42469         if there are multiple addresses and the first remaining address
42470         failed.
42471         * src/process.h (struct Lisp_Process.status): Adjust comment
42472         to describe (connect . ADDRINFOS).
42474 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
42476         Fix GNUC_PREREQ for GCC 2.8.1 etc.
42478         Problem reported by Eli Zaretskii in:
42479         https://lists.gnu.org/r/emacs-devel/2016-06/msg00608.html
42480         * src/conf_post.h (GNUC_PREREQ): Port to GCC versions like GCC
42481         2.8.1 (1998), which come before GCC 3.0 and which have nonzero
42482         patchlevel numbers.
42484 2016-06-26  Eli Zaretskii  <eliz@gnu.org>
42486         Don't set 'bidi-paragraph-direction' in 'ansi-term'
42488         * lisp/term.el (ansi-term): Remove unnecessary setting of
42489         'bidi-paragraph-direction'.  The underlying problem is solved in
42490         bidi.c by changing the regexps that define the paragraph beginning
42491         and end.  (Bug#20611)
42493 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
42495         Sync with Tramp 2.3.0
42497         * doc/misc/trampver.texi:
42498         * lisp/net/trampver.el: Change version to "2.3.0".
42500 2016-06-26  Paul Eggert  <eggert@cs.ucla.edu>
42502         Fix GNUC_PREREQ off-by-1 typo
42504         Problem reported by Martin Rudalics in:
42505         https://lists.gnu.org/r/emacs-devel/2016-06/msg00587.html
42506         * src/conf_post.h (GNUC_PREREQ) [__GNUC_PATCHLEVEL__]:
42507         Fix < vs <= typo.
42509 2016-06-26  Michael Albinus  <michael.albinus@gmx.de>
42511         Fix some oddities in Tramp's rsync and smb methods
42513         * lisp/net/tramp-sh.el (tramp-methods) <rsync>: Add "-p" and
42514         "-s" arguments.
42515         (tramp-do-copy-or-rename-file-out-of-band):
42516         Call `file-name-directory' also for remote NEWNAME.
42518         * test/lisp/net/tramp-tests.el (tramp-test15-copy-directory):
42519         Do not skip for tramp-smb.el.  Test als COPY-CONTENTS case.
42520         (tramp-test24-file-name-completion): Improve check for
42521         hostname completion.
42522         (tramp--test-rsync-p): New defun.
42523         (tramp-test31-special-characters)
42524         (tramp-test31-special-characters-with-stat)
42525         (tramp-test31-special-characters-with-perl)
42526         (tramp-test31-special-characters-with-ls, tramp-test32-utf8)
42527         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
42528         (tramp-test32-utf8-with-ls): Skip for "rsync".
42530         * lisp/net/tramp-smb.el (tramp-smb-handle-copy-directory):
42531         Check also for CIFS capabilities.
42533 2016-06-26  Ury Marshak  <ury.marshak@gmail.com>  (tiny change)
42535         Fix FRAME_INTERNAL_BORDER_WIDTH use (Bug#23841)
42537         * src/nsfns.m (x_set_internal_border_width): Replace assignments to
42538         FRAME_INTERNAL_BORDER_WIDTH.
42540 2016-06-25  Leo Liu  <sdl.web@gmail.com>
42542         Deprecations (bug#23850)
42544         * lisp/subr.el (string-to-unibyte, string-as-unibyte,
42545         string-to-multibyte, string-as-multibyte): Make obsolete.
42547 2016-06-25  Tino Calancha  <tino.calancha@gmail.com>
42549         Do not prompt twice to save a buffer
42551         * lisp/hilit-chg.el (highlight-markup-buffers): (Bug#23824).
42553 2016-06-25  Alan Third  <alan@idiocy.org>
42555         Move text line right when in box (bug#23755)
42557         * src/nsterm.m (ns_draw_glyph_string_foreground): Create to take
42558         CHAR_GLYPH specific code and move glyphs right if within a box.
42559         (ns_draw_glyph_string): Move CHAR_GLYPH specific code into above
42560         function.
42562 2016-06-25  Paul Eggert  <eggert@cs.ucla.edu>
42564         Merge from origin/emacs-25
42566         0377fe2 ; Spelling fixes
42567         f253695 Update docs for `customize-mode'
42568         4395aaa Fix documentation of 'assoc-string' and 'compare-strings'
42569         ab0ebb9 ; Only load .elc file in tests.
42570         a98aa02 Error on multibyte characters in HTTP request
42571         ea512a7 * lisp/gnus/mm-decode.el (mm-convert-shr-links): Mask keys th...
42572         8297331 ; Revert "Ensure undo-boundary after insert-file-contents."
42573         dc5e65b Unset GIT_DIR when calling Git commands
42574         6cdd8f7 Ensure undo-boundary after insert-file-contents.
42575         4793f5f Clarify documentation of 'line-spacing' and 'line-height'
42576         5f37572 Fix removal of variables from process-environment
42577         e5e886d * admin/authors.el (authors-ignored-files, authors-valid-file...
42578         db0777b * admin/authors.el (authors-aliases, authors-fixed-case): Add...
42580         # Conflicts:
42581         #       doc/lispref/modes.texi
42582         #       lisp/gnus/mm-decode.el
42584 2016-06-25  Mark Oteiza  <mvoteiza@udel.edu>
42586         Teach net-utils more iproute2 and nl80211 tools
42588         * lisp/net/net-utils.el (iwconfig-program): Add iw(8).
42589         (iwconfig-program-options): Add "dev" argument for iw.  Another useful
42590         option is "phy"; beyond that one needs to know the interface name.
42591         (netstat-program): Add ss(8).
42592         (route-program): Add ip(8).
42593         (route-program-options): Add "route" argument for ip.
42595 2016-06-24  Leo Liu  <sdl.web@gmail.com>
42597         Use use-region-p in prolog.el
42599         * lisp/progmodes/prolog.el (region-exists-p): Remove.
42600         * lisp/progmodes/prolog.el (prolog-edit-menu-runtime,
42601         prolog-edit-menu-insert-move): Use use-region-p.
42603 2016-06-24  Leo Liu  <sdl.web@gmail.com>
42605         Remove compatibility with Emacs 24.3 in octave-mode
42607         * lisp/progmodes/octave.el: Clean up and remove compatibility with
42608         Emacs 24.3.
42610 2016-06-24  Alan Mackenzie  <acm@muc.de>
42612         Ensure hack-local-variables is run in a fundamental mode buffer.
42614         This fixes bug #23827.
42616         * src/buffer.c (set-buffer-major-mode): Run `fundamental-mode' when the buffer
42617         gets set to that mode, so that `run-mode-hooks', and thus
42618         `hack-local-variables' get run.
42620 2016-06-24  Tino Calancha  <tino.calancha@gmail.com>
42622         Fix caller to ediff-setup
42624         * lisp/hilit-chg.el (hilit-chg-get-diff-info): #Bug23820.
42626 2016-06-24  Alan Mackenzie  <acm@muc.de>
42628         Implement ' separators in C++ integer literals.
42630         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): insert
42631         c-before-after-change-digit-quote into the C++ value.
42632         (c-before-font-lock-functions): Insert c-depropertize-new-text into the values
42633         for all languages.  Insert c-before-after-change-digit-quote into the C++
42634         value.
42636         * lisp/progmodes/cc-mode.el (c-depropertize-CPP): Wrap the function in
42637         c-save-buffer-state.
42638         (c-depropertize-new-text, c-before-after-change-digit-quote): New functions.
42640 2016-06-24  Paul Eggert  <eggert@cs.ucla.edu>
42642         Update from gnulib
42644         This incorporates:
42645         2016-06-24 intprops: port better to GCC 7
42646         2016-06-13 xalloc-oversized: port to GCC 7; fewer warnings
42647         * doc/misc/texinfo.tex, lib/xalloc-oversized.h, lib/intprops.h:
42648         Copy from gnulib.
42650 2016-06-24  Martin Rudalics  <rudalics@gmx.at>
42652         Remove two uses of 'min' in Fwindow_text_pixel_size
42654         * src/xdisp.c (Fwindow_text_pixel_size): Don't use 'min' since
42655         it calls move_it_to twice.  Suggested by Eli Zaretskii.
42657 2016-06-23  Paul Eggert  <eggert@cs.ucla.edu>
42659         Clarify intent of FACE_FROM_ID and IMAGE_FROM_ID
42661         * src/dispextern.h (FACE_OPT_FROM_ID): Don’t use FACE_FROM_ID,
42662         since it is intended to be used only when it returns a non-null
42663         pointer, and here the pointer might be null.
42664         (IMAGE_OPT_FROM_ID): Don’t use IMAGE_FROM_ID, for similar reasons.
42666 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
42668         Remove some more face aliases obsoleted in 22.1
42670         * lisp/eshell/em-ls.el (eshell-ls-directory-face, eshell-ls-symlink-face,
42671         eshell-ls-executable-face, eshell-ls-readonly-face,
42672         eshell-ls-unreadable-face, eshell-ls-special-face,
42673         eshell-ls-missing-face, eshell-ls-archive-face, eshell-ls-backup-face,
42674         eshell-ls-product-face, eshell-ls-clutter-face): Remove.
42675         * lisp/isearch.el (isearch-lazy-highlight-face, lazy-highlight-face): Remove.
42676         (isearch-lazy-highlight-update): Use face symbol.
42677         * lisp/net/sieve-mode.el (sieve-control-commands-face,
42678         sieve-action-commands-face, sieve-test-commands-face,
42679         sieve-tagged-arguments-face): Remove.
42680         (sieve-font-lock-keywords): Use non-obsolete faces.
42681         * lisp/progmodes/sh-script.el (sh-heredoc-face): Remove.
42682         (sh-get-indent-info, sh-prev-line): Use face symbol.
42683         * lisp/textmodes/tex-mode.el (tex-font-lock-keywords-1):
42684         Use non-obsolete face.
42685         (tex-math-face, tex-verbatim-face): Remove.
42686         (tex-font-lock-syntactic-face-function): Use face symbols.
42688 2016-06-23  Mark Oteiza  <mvoteiza@udel.edu>
42690         Remove some face aliases obsoleted in 22.1
42692         * lisp/faces.el (modeline-inactive, modeline-highlight, modeline-buffer-id):
42693         * lisp/hilit-chg.el (highlight-changes-face, highlight-changes-delete-face):
42694         * lisp/info.el (Info-title-1-face, Info-title-2-face, Info-title-3-face,
42695         Info-title-4-face, info-menu-5):
42696         * lisp/obsolete/old-whitespace.el (whitespace-highlight-face):
42697         * lisp/paren.el (show-paren-match-face, show-paren-mismatch-face):
42698         * lisp/progmodes/make-mode.el (makefile-space-face):
42699         * lisp/textmodes/texinfo.el (texinfo-heading-face): Remove.
42700         (texinfo-font-lock-keywords): Use texinfo-heading face.
42701         * lisp/vc/add-log.el (change-log-date-face, change-log-name-face,
42702         change-log-email-face, change-log-file-face, change-log-list-face,
42703         change-log-conditionals-face, change-log-function-face,
42704         change-log-acknowledgement-face):
42705         * lisp/vc/diff-mode.el (diff-header-face, diff-file-header-face,
42706         diff-index-face, diff-hunk-header-face, diff-removed-face, diff-added-face,
42707         diff-changed-face, diff-function-face, diff-context-face,
42708         diff-nonexistent-face): Remove.
42709         (diff-use-changed-face, diff-font-lock-keywords): Use non-obsolete face
42710         symbols.
42711         (diff-hunk-file-names): Fix comment.
42712         (diff-refine-change): Remove.
42713         (diff-refine-removed, diff-refine-added, diff-refine-hunk): Use
42714         non-obsolete face.
42715         * lisp/vc/log-view.el (log-view-file-face, log-view-message-face): Remove.
42716         (log-view-font-lock-keywords): Use non-obsolete face names.
42717         * lisp/vc/pcvs-info.el (cvs-header-face, cvs-filename-face, cvs-unknown-face,
42718         cvs-handled-face, cvs-need-action-face, cvs-marked-face, cvs-msg-face):
42719         * lisp/wid-edit.el (widget-documentation-face, widget-button-face,
42720         widget-field-face, widget-single-line-field-face, widget-inactive-face,
42721         widget-button-pressed-face):
42722         * lisp/woman.el (woman-italic-face, woman-bold-face, woman-unknown-face,
42723         woman-addition-face): Remove.
42725 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
42727         * lisp/international/characters.el (standard-case-table): Improve last change.
42729 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
42731         Improve results of 'upcase' for characters with title-case
42733         * lisp/international/characters.el (standard-case-table): Swap the
42734         order of some lines, to have 'upcase' return the upper-case
42735         variant, not the title-case, for some characters whose lower-case
42736         map to the same codepoints.  (Bug#23833)
42738 2016-06-23  Alan Mackenzie  <acm@muc.de>
42740         Make typing into incomplete C++ raw strings work, and make it work fast enough
42742         * lisp/progmodes/cc-engine.el (c-beginning-of-macro, c-state-pp-to-literal):
42743         Put `save-match-data' around calls to `looking-at' to enable the use of the
42744         match data in higher level functions.
42746         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations)
42747         (c-font-lock-cut-off-declarators): Use `limit' rather than `(point-max)' as a
42748         limit to speed up handling of C++ raw strings.
42750 2016-06-23  Eli Zaretskii  <eliz@gnu.org>
42752         Fix handling of LWINDOW key on MS-Windows
42754         * src/w32fns.c (funhook): Correct a typo which broke handling of
42755         the LWINDOW key.  (Bug#23830)
42757 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
42759         Update Unicode data files from Unicode 9.0.0
42761         * admin/unidata/copyright.html:
42762         * admin/unidata/BidiBrackets.txt:
42763         * admin/unidata/UnicodeData.txt: Update from Unicode 9.0.0, just
42764         released.
42766 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
42768         Fix test for whether the '.el' file is newer than '.elc'
42770         * src/lread.c (Fload): Don't overwrite the last character of the
42771         file name in FOUND with 'c', unless the file name ended in ".elc"
42772         to begin with.  Don't treat empty files as byte-compiled.  See
42773         https://lists.gnu.org/r/emacs-devel/2016-06/msg00463.html
42774         for more details of the problem this caused.
42776 2016-06-22  Eli Zaretskii  <eliz@gnu.org>
42778         Fix 'insert-file-contents' when REPLACE is non-nil
42780         * src/fileio.c (maybe_move_gap): New function to move the gap to
42781         the end of a buffer, if it isn't there already.
42782         (Finsert_file_contents): Call 'maybe_move_gap' before using
42783         conversion_buffer's text as a C 'char' array.  (Bug#23659)
42784         * src/coding.c (decode_eol): Compute the byte increment before
42785         calling del_range_2, because the latter can invalidate the pointer
42786         to buffer text.
42788 2016-06-22  Ken Brown  <kbrown@cornell.edu>
42790         Avoid compiler warning
42792         * src/w32fns.c (Fx_show_tip): Don’t jump over auto initialization.
42794 2016-06-22  Stefan Monnier  <monnier@iro.umontreal.ca>
42796         * lisp/emacs-lisp/syntax.el (syntax-propertize): Flush extended region.
42798 2016-06-22  Ken Brown  <kbrown@cornell.edu>
42800         Fix last change to FRAME_INTERNAL_BORDER_WIDTH
42802         * src/w32fns.c (x_set_internal_border_width): Don’t use
42803         FRAME_INTERNAL_BORDER_WIDTH(), which is now a function call, as an
42804         lvalue.
42806 2016-06-21  Paul Eggert  <eggert@cs.ucla.edu>
42808         Improve --without-x GCC pacification
42810         * src/composite.c (autocmp_chars):
42811         * src/conf_post.h (DebPrint) [HAVE_NTGUI && !DebPrint && !EMACSDEBUG]:
42812         Use simpler ((void) 0) for no-op expression returning void.
42813         * src/dispextern.h [HAVE_WINDOW_SYSTEM]:
42814         Include fontset.h, for face_for_char.
42815         (FACE_SUITABLE_FOR_ASCII_CHAR_P, FACE_FOR_CHAR):
42816         Now inline functions instead of macros.  This avoids the need for
42817         all those casts to void.
42818         (FACE_SUITABLE_FOR_ASCII_CHAR_P): Omit 2nd (unused) arg.
42819         All uses changed.
42820         * src/frame.c (Ficonify_frame, Fset_frame_position):
42821         * src/xdisp.c (Fmove_point_visually, show_mouse_face):
42822         * src/xdisp.c (note_mode_line_or_margin_highlight)
42823         (note_mouse_highlight):
42824         Assume HAVE_WINDOW_SYSTEM for simplicity, since the code should
42825         now work either way without generating warnings.
42826         * src/frame.c (display_available) [HAVE_WINDOW_SYSTEM]: New function.
42827         (window_system_available) [HAVE_WINDOW_SYSTEM]: Move to frame.h.
42828         (decode_window_system_frame): Use check_window_system instead of
42829         rolling the code ourself.  Return needed only if HAVE_WINDOW_SYSTEM.
42830         (decode_window_system_frame, check_window_system):
42831         Merge the HAVE_WINDOW_SYSTEM and !HAVE_WINDOW_SYSTEM versions into one.
42832         * src/frame.c (Ficonify_frame, Fset_frame_position):
42833         * src/xdisp.c (show_mouse_face, define_frame_cursor1)
42834         (note_mouse_highlight):
42835         Narrow the scope of the HAVE_WINDOW_SYSTEM #ifdef;
42836         this is a better way to pacify GCC.
42837         * src/xdisp.c (x_set_left_fringe, x_set_right_fringe)
42838         (x_set_right_divider_width, x_set_bottom_divider_width):
42839         * src/xfns.c (x_set_internal_border_width):
42840         Don’t use what are now function calls as lvalues.
42841         * src/frame.h (WINDOW_SYSTEM_RETURN): New macro.
42842         (decode_window_system_frame, check_window_system):
42843         Use it, to avoid the need for duplicate declarations.
42844         (window_system_available): Now an inline function.
42845         (display_available): New decl.
42846         (frame_dimension): New inline function.
42847         (FRAME_FRINGE_COLS, FRAME_LEFT_FRINGE_WIDTH)
42848         (FRAME_RIGHT_FRINGE_WIDTH, FRAME_TOTAL_FRINGE_WIDTH)
42849         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
42850         (FRAME_BOTTOM_DIVIDER_WIDTH):
42851         Use it, to avoid the need for duplicate definitions.
42852         Now inline functions instead of macros.
42853         * src/gnutls.c (gnutls_log_function2i): Remove.
42854         * src/gnutls.h (GNUTLS_LOG2i): Use ‘message’ directly.
42855         This avoids complaints about gnutls_log_function2i being defined
42856         and not used on older platforms that do not need to call GNUTLS_LOG2i.
42857         * src/image.c (DefaultDepthOfScreen) [0]: Remove unused macro.
42858         * src/lisp.h (AUTO_STRING_WITH_LEN): Revert change from ‘type id =
42859         expr’ to ‘type id; id = expr’, as this would suppress valid
42860         jump-misses-init diagnostics.  Let’s find a better way to address
42861         the problem.
42862         * src/vm-limit.c (__MALLOC_HOOK_VOLATILE):
42863         Define only if needed.
42864         * src/xdisp.c (handle_single_display_spec):
42865         Simplify fringe_bitmap computation.
42866         (define_frame_cursor1): Do nothing unless in a window system.
42867         All callers changed and simplified.
42868         * src/xfaces.c (realize_default_face):
42869         Use a simpler way to pacify GCC when a return value is not used
42870         on some platforms.
42872 2016-06-21  Phillip Lord  <phillip.lord@russet.org.uk>
42874         Ensure undo-boundary after all commands
42876         * lisp/simple.el (undo-auto--boundaries): Ensure an undo-boundary after
42877           every command whether it (apparently) changes the buffer or not.
42879         See Bug#23785 for discussion.
42881 2016-06-21  Eli Zaretskii  <eliz@gnu.org>
42883         Fix vertical layout calculations when newline has line-height property
42885         * src/xdisp.c (move_it_in_display_line_to): Reset the iterator's
42886         'constrain_row_ascent_descent_p' flag after processing the
42887         newline, similar to what 'display_line' does.  Without this, the
42888         flag remains set once set by x_produce_glyphs, and causes the
42889         vertical layout calculations to go awry, because Emacs thinks the
42890         screen lines have zero height.  (Bug#23850)
42892 2016-06-20  Ken Brown  <kbrown@cornell.edu>
42894         Fix compiler warnings in Cygwin-w32 build
42896         * src/conf_post.h (DebPrint) [!EMACSDEBUG]: Add empty do-while
42897         loop to avoid compiler warnings about empty body of 'if'
42898         statement.
42900         * src/image.c [HAVE_NTGUI] (DefaultDepthOfScreen): Disable unused
42901         macro.
42902         (x_create_bitmap_from_data): Declare 'frame'.
42903         (x_create_bitmap_from_file): Don't declare unused variable
42904         'dpyinfo'.
42906         * src/lisp.h (AUTO_STRING_WITH_LEN): Avoid initialization to
42907         prevent "jump-misses-init" compiler warnings.
42909         * src/w32fns.c (check_w32_winkey_state): Define and use only if
42910         WINDOWSNT.
42911         (Fx_show_tip): Declare 'f'.
42912         (Fx_file_dialog): Declare 'filter_a' only if not NTGUI_UNICODE.
42913         (w32_strerror): Use format specifier %d for sprintf argument of
42914         type int.
42915         (emacs_abort): Cast sprintf argument of type DWORD to unsigned
42916         int, and use format specifier %x, for compatibility with Cygwin.
42917         (unicode_append_menu) [NTGUI_UNICODE]:
42918         * src/w32menu.c [NTGUI_UNICODE] (get_menu_item_info)
42919         (set_menu_item_info, unicode_append_menu)
42920         (unicode_message_box):
42921         * src/menu.c [NTGUI_UNICODE] (unicode_append_menu): Define as
42922         functions rather than macros to avoid "address will always
42923         evaluate as true" compiler warnings.
42925         * src/w32font.c (w32_to_x_charset): Use format specifier %d for
42926         sprintf argument of type int.
42928         * src/w32term.c (x_draw_glyphless_glyph_string_foreground): Cast
42929         sprintf argument of type int to unsigned int to match %X format
42930         specifier.
42931         (w32_scroll_bar_handle_click):
42932         (w32_horizontal_scroll_bar_handle_click): Declare 'f'.
42934         * src/w32term.h (FRAME_DISPLAY_INFO): Explicitly discard unused
42935         argument.
42937 2016-06-20  Ken Brown  <kbrown@cornell.edu>
42939         Fix compiler warnings in no-window-system-build
42941         * src/composite.c (autocmp_chars): Declare and set 'f' only if
42942         HAVE_WINDOW_SYSTEM.
42944         * src/dispextern.h (FACE_SUITABLE_FOR_ASCII_CHAR_P)
42945         (FACE_FOR_CHAR): Explicitly discard unused arguments.
42947         * src/font.c (font_open_entity): Declare 'min_width' where it is
42948         first set, and only if HAVE_WINDOW_SYSTEM.
42950         * src/frame.c [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame):
42951         Define _Noreturn version to avoid "suggest attribute noreturn"
42952         compiler warning.
42953         (check_window_system): Declare as _Noreturn.
42954         (Ficonify_frame):
42955         (Fset_frame_position): Don’t declare and set 'f'.
42957         * src/frame.h [!HAVE_WINDOW_SYSTEM] (decode_window_system_frame)
42958         (check_window_system):  Add _Noreturn prototypes.
42959         (FRAME_FRINGE_COLS, FRAME_TOTAL_FRINGE_WIDTH)
42960         (FRAME_LEFT_FRINGE_WIDTH, FRAME_RIGHT_FRINGE_WIDTH)
42961         (FRAME_INTERNAL_BORDER_WIDTH, FRAME_RIGHT_DIVIDER_WIDTH)
42962         (FRAME_BOTTOM_DIVIDER_WIDTH): Explicitly discard unused argument.
42964         * src/xdisp.c (handle_single_display_spec): Declare
42965         'fringe_bitmap' only if HAVE_WINDOW_SYSTEM.
42966         (append_space_for_newline): Declare 'g' where it is first set.
42967         (Fmove_point_visually): Declare and set 'target_is_eol_p' only if
42968         HAVE_WINDOW_SYSTEM.
42969         (show_mouse_face): Declare and set 'f' and 'phys_cursor_on_p' only
42970         if HAVE_WINDOW_SYSTEM.
42971         (note_mode_line_or_margin_highlight):
42972         (note_mouse_highlight): Declare and set 'cursor' and 'pointer'
42973         only if HAVE_WINDOW_SYSTEM.
42975         * src/xfaces.c (realize_default_face): Declare and set 'face' only
42976         if HAVE_X_WINDOWS.  Remove redundant #ifdef.
42978 2016-06-20  Michael Albinus  <michael.albinus@gmx.de>
42980         Weaken test conditions in filenotify-tests.el
42982         * test/lisp/filenotify-tests.el (file-notify--test-with-events):
42983         Fix thinko in test.
42984         (file-notify-test02-events, file-notify-test04-file-validity)
42985         (file-notify-test07-backup)
42986         (file-notify-test08-watched-file-in-watched-dir): Make test
42987         conditions more weak.  (Bug#23618)
42989 2016-06-19  Paul Eggert  <eggert@cs.ucla.edu>
42991         Minor ABLOCKS_BUSY cleanups in alloc.c
42993         * src/alloc.c (ABLOCKS_BUSY): Rename arg to avoid potential clash
42994         with member ‘abase’ in definiens.
42995         (lisp_align_malloc, lisp_align_free): Use bool for boolean.
42996         Avoid compiler warning with fewer casts.
42997         (lisp_align_free): Check busy-field values; this can help the
42998         compiler a bit when optimizing, too.
43000 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
43002         ASCII-fy coding-system-for-read used for Git commands
43004         * lisp/vc/vc-git.el (vc-git--asciify-coding-system):
43005         New function.
43006         (vc-git-diff, vc-git-annotate-command): Use it.
43008 2016-06-19  Dmitry Gutov  <dgutov@yandex.ru>
43010         Prohibit multibyte characters in url-http-data
43012         It didn't work anyway, but this makes any such errors more obvious
43013         by catching them earlier.
43015         * lisp/url/url-http.el (url-http-create-request):
43016         Use string-to-unibyte (bug#23750).
43018 2016-06-19  Eli Zaretskii  <eliz@gnu.org>
43020         Fix setting a range of char-table slots in a singular case
43022         * src/chartab.c (char_table_set_range): Start the loop from the
43023         first character of the block to which FROM belongs.  (Bug#23797)
43025         * test/src/chartab-tests.el: New test file.
43027 2016-06-19  Alan Mackenzie  <acm@muc.de>
43029         Fix CC Mode fontification problem apparent in test file decls-6.cc.
43031         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Recognize
43032         "bar (gnu);" as a declarator only when the construct is directly inside a
43033         class (etc.) called "bar".
43034         (c-directly-in-class-called-p): New function.
43036 2016-06-19  Alan Mackenzie  <acm@muc.de>
43038         c-renarrow-state-cache: take care when new point is inside old brace pair.
43040         Also add display of point-min to the c-parse-state debugging output.
43042         * lisp/progmodes/cc-engine.el (c-renarrow-state-cache): When the new
43043         point is inside an old recorded brace pair, clear the cache.
43044         (c-debug-parse-state): Output the value of point-min.
43046 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
43048         Rename ALIGN to pointer_align
43050         * src/alloc.c (pointer_align): Rename from ALIGN.
43051         This fixes Bug#23764 in a simpler way.
43053 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
43055         Merge from origin/emacs-25
43057         d1efbaf Fix documentation of completion functions
43058         65c96cc Clarify documentation of 'font-lock-maximum-decoration'
43059         2ad3d01 * doc/misc/cl.texi (Usage): Add some more details.
43060         b49cb0a Fbackward_prefix_chars: stay within buffer bounds
43062 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
43064         Merge from origin/emacs-25
43066         2317c61 Fix last todo-mode change
43067         5d4d8a3 Improve last todo-mode fix
43068         d7084f2 Fix todo-mode use of minibuffer completion keymap (bug#23695).
43069         27dec52 * src/alloc.c (ALIGN): Avoid error on DragonFly BSD.  (Bug#23...
43070         f526191 * lisp/emacs-lisp/nadvice.el (advice--make-docstring): Avoid ...
43071         e881070 * lisp/help-fns.el (describe-function-1): Avoid reporting adv...
43072         d308aa1 Minor grammar fix (bug#23746)
43073         20de667 Doc fixes for grammar and typos (bug#23746)
43074         a67a4e5 * doc/lispref/processes.texi (Process Buffers): Minor rewordi...
43075         27f440e Add cross-reference to ELisp manual
43076         10802d8 ; make change-history-commit
43077         4b2d77d * lisp/emacs-lisp/macroexp.el (macroexp--expand-all): Fix (bu...
43078         12e009e Restore initial undo boundary with viper
43079         291fe0a Revert "Fix viper undo breakage from undo-boundary changes"
43080         6921f4a Fix dbus crash on 32-bit Cygwin
43082 2016-06-18  Paul Eggert  <eggert@cs.ucla.edu>
43084         Merge from origin/emacs-25
43086         9ae514a * etc/AUTHORS: Update the AUTHORS file
43087         3ca428e add entries to authors.el
43088         66d556b Fix eldoc-related freezes in python mode
43089         d59bcbc Handle mouse leaving initial window in `mouse-set-region' (Bu...
43090         27fe1e4 org.el: Fix bindings of < and > for calendar scrolling
43091         a813487 Fix undo boundary in recursive edit (Bug#23632)
43092         1f85b7c Doc fixes re alist-get.  (Bug#23548)
43093         ba3f206 * lisp/progmodes/python.el (inferior-python-mode): Avoid tabs...
43094         56fa055 * src/syntax.c (syms_of_syntax) <comment-end-can-be-escaped>:...
43095         4c1370a * lisp/help-fns.el (describe-function-1): Fix handling of fil...
43096         a3f7ae8 * lisp/emacs-lisp/cl-macs.el (cl-loop): Doc fix re "by".
43097         601b9b2 * doc/misc/cl.texi (Mapping over Sequences): Fix cl-notevery.
43099 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
43101         * lisp/emacs-lisp/map.el (map-contains-key): Better docstring
43103 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
43105         Fix seq-contains
43107         Make sure seq-contains return the element of the sequence instead of t.
43109         * lisp/emacs-lisp/seq.el (seq-contains): Fix the function.
43110         * test/lisp/emacs-lisp/seq-tests.el: Add a regression test.
43112 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
43114         Add new function map-do
43116         * lisp/emacs-lisp/map.el (map-do, map--do-alist, map--do-array): New
43117           functions.
43118         * test/lisp/emacs-lisp/map-tests.el: Add a unit test for map-do.
43120 2016-06-18  Nicolas Petton  <nicolas@petton.fr>
43122         Add seq-do-indexed
43124         * lisp/emacs-lisp/seq.el (seq-do-indexed): New function.
43125         * test/lisp/emacs-lisp/seq-tests.el: Add a unit test for seq-do-indexed.
43127 2016-06-17  Stefan Monnier  <monnier@iro.umontreal.ca>
43129         map.el (map-merge*): Use `map-into' at beginning rather than end
43131         * lisp/emacs-lisp/map.el (map-merge): Use `map-into' for the first map,
43132         and don't use of an intermediate alist.
43133         (map-merge-with): Same, plus use `cl-callf' to try and avoid performing
43134         3 lookups per inner iteration.
43136 2016-06-16  Mark Oteiza  <mvoteiza@udel.edu>
43138         * lisp/window.el (switch-to-buffer-preserve-window-point): Bump :version.
43140 2016-06-15  Alan Mackenzie  <acm@muc.de>
43142         Speed up CC Mode's font locking by taking some code out of a hot loop.
43144         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Remove code which
43145         tests for bare declarators.
43146         (c-font-lock-cut-off-declarators): New function.
43147         (c-complex-decl-matchers): insert c-font-lock-cut-off-declarators.
43149 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
43151         Automatically find vars and functions via definition-prefixes
43153         * lisp/help-fns.el (help-definition-prefixes): New var and function.
43154         (help--loaded-p, help--load-prefixes, help--symbol-completion-table):
43155         New functions.
43156         (describe-function, describe-variable): Use them.
43158         * lisp/emacs-lisp/radix-tree.el (radix-tree--prefixes)
43159         (radix-tree-prefixes, radix-tree-from-map): New functions.
43161 2016-06-15  Michal Nazarewicz  <mina86@mina86.com>
43163         Automatically detect whether .h file is C or C++
43165         * lisp/progmodes/cc-mode.el (c-or-c++-mode): A new function which
43166         analyzes contents of the buffer to determine whether it looks like C++
43167         source code and based on that enables c-mode or c++-mode.
43168         (c-or-c++-mode--regexp): Regular expression which, when matches
43169         a buffer, signals file is C++.
43171 2016-06-15  Alan Mackenzie  <acm@muc.de>
43173         Parse compound identifiers in C++ member initialization lists.
43175         * lisp/progmodes/cc-engine.el (c-back-over-compound-identifier): New function.
43176         (c-back-over-member-initializer-braces, c-back-over-list-of-member-inits)
43177         (c-back-over-member-initializers): Call c-back-over-compound-identifier rather
43178         than c-simple-skip-symbol-backward.
43180 2016-06-15  Stefan Monnier  <monnier@iro.umontreal.ca>
43182         Advertize set-keymap-parent as replacement for copy-keymap
43184         * doc/lispref/keymaps.texi (Creating Keymaps):
43185         * src/keymap.c (Fcopy_keymap): Advertize set-keymap-parent as replacement.
43187 2016-06-15  Ted Zlatanov  <tzz@lifelogs.com>
43189         * lisp/generic-x.el (ansible-inventory-generic-mode): Warn if
43190         value is missing
43192 2016-06-15  Tim Chambers  <tbc@alum.mit.edu>  (tiny change)
43194         Add new ansible-inventory-generic-mode (Bug#23762)
43196         * lisp/generic-x.el (ansible-inventory-generic-mode): Add new mode.
43198 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
43200         Fix ifdef-vs-if typo with RANDR13_LIBRARY
43202         * src/xfns.c (x_get_monitor_attributes_xrandr): Use #if, not #ifdef.
43203         This ports to systems that predate xrandr 1.3. See Christian Lynbech in:
43204         https://lists.gnu.org/r/emacs-devel/2016-06/msg00198.html
43206 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
43208         Port to platforms where char * has top bit set
43210         This fixes a five-year-old FIXME comment.  Although I don’t know
43211         of a platform where this is a problem in practice, better safe
43212         than sorry.
43213         * src/doc.c (Fdocumentation): If SUBRP, simply use doc as integer,
43214         as it is now an integer, not char *.
43215         (store_function_docstring): Offset is now EMACS_INT, not ptrdiff_t;
43216         this is a file offset and EMACS_INT is better if --with-wide-int.
43217         If SUBRP, simply store the offset rather than negating it and
43218         converting it to char *.
43219         * src/lisp.h (struct Lisp_Subr.doc): Now EMACS_INT, not char *.
43221 2016-06-14  Paul Eggert  <eggert@cs.ucla.edu>
43223         Remove recursion from store_function_docstring
43225         * src/doc.c (store_function_docstring):
43226         Refactor to avoid the need for C-level recursion.
43228 2016-06-14  Ken Brown  <kbrown@cornell.edu>
43230         Remove system-specific -I switch from Cygwin-w32 build
43232         Suggested by Eli Zaretskii in discussion of bug#18302.
43234         * src/image.c [HAVE_NTGUI]: Remove the unused macro
43235         PIXEL_ALREADY_TYPEDEFED.  On Cygwin, include "noX/xpm.h" instead of
43236         "X11/xpm.h".
43238         * configure.ac [CYGWIN && HAVE_W32]: Change the xpm test to use
43239         "noX/xpm.h".  Don't add a -I switch to CPPFLAGS.
43241 2016-06-14  Noam Postavsky  <npostavs@gmail.com>
43243         Make python.el work in Emacs 24
43245         * lisp/progmodes/python.el: Bump version.
43246         (python-define-auxiliary-skeleton): Only use format-message if
43247         fbound (Bug#23126).
43249 2016-06-13  Ken Brown  <kbrown@cornell.edu>
43251         Avoid compiler warning
43253         * src/w32fns.c (deliver_wm_chars): Add 'const' to declaration of
43254         'type_CtrlAlt'.
43256 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
43258         Call tzset after setting TZ
43260         * src/editfns.c (tzlookup): Call tzset after setting TZ, so that
43261         the setting change propagates into Emacs local time (Bug#23600).
43262         (emacs_setenv_TZ): Clarify comments.
43264 2016-06-13  Paul Eggert  <eggert@cs.ucla.edu>
43266         Update texinfo.tex
43268         * doc/misc/texinfo.tex: Update from gnulib.
43270 2016-06-12  Paul Eggert  <eggert@cs.ucla.edu>
43272         New macro GNUC_PREREQ for GCC version
43274         * src/conf_post.h (GNUC_PREREQ): New macro.
43275         Change uses of __GNUC_MINOR__ and __GNUC_PATCHLEVEL__ to use this
43276         macro instead, for clarity and consistency.
43277         (PRINTF_ARCHETYPE): New macro.  Define it to __gnu_printf__ only
43278         if glibc, since non-GNU platforms don’t necessarily support GNU
43279         printf formats.
43280         (ATTRIBUTE_FORMAT_PRINTF): Use it.
43282 2016-06-12  Nicolas Petton  <nicolas@petton.fr>
43284         * lisp/emacs-lisp/seq.el (seq-drop): Better list implementation
43286 2016-06-12  Eli Zaretskii  <eliz@gnu.org>
43288         Fix printf-related compilation warnings on MinGW
43290         * src/conf_post.h (ATTRIBUTE_FORMAT_PRINTF) [__MINGW32__]: Use
43291         '__ms_printf__', not '__gnu_printf__', as the latter is not what
43292         MS 'printf' supports, and causes bogus compilation warnings.
43293         * src/lisp.h (pI) [__MINGW32__]: Define to "I64", as MS 'printf'
43294         doesn't support the "ll" modifier.
43296 2016-06-11  Paul Eggert  <eggert@cs.ucla.edu>
43298         emacs_strerror cleanups
43300         * src/buffer.c, src/emacs.c, src/lread.c: Don’t include coding.h;
43301         no longer needed, now that emacs_strerror is declared by lisp.h.
43302         * src/coding.c (emacs_strerror): Remove; moved to emacs.c.
43303         * src/coding.h (emacs_strerror) [emacs]: Remove decl; moved
43304         to lisp.h.
43305         * src/emacs.c (emacs_strerror): Move here from coding.c.  Do not
43306         convert result string; this is now the caller’s responsibility,
43307         as some need conversion and others don’t.
43308         * src/fileio.c (report_file_errno, report_file_notify_error):
43309         Use emacs_strerror rather than rolling it ourselves.
43310         * src/lisp.h (emacs_strerror): Move decl here from coding.h.
43311         * src/lread.c (dir_warning): Just call emacs_strerror rather than
43312         both strerror and emacs_strerror.  Convert its result from
43313         locale-coding-system, since it no longer does that conversion.
43314         * src/sound.c (sound_perror):
43315         * src/sysdep.c (emacs_perror, str_collate):
43316         Use emacs_strerror, not strerror.
43318 2016-06-10  David Reitter  <david.reitter@gmail.com>
43320         Prevent compiler warning for unused arguments
43322         * lisp/international/ucs-normalize.el
43323         (ucs-normalize-hfs-nfd-pre-write-conversion):
43324         Prevent compiler warning for unused arguments, add coment.
43326 2016-06-10  Paul Eggert  <eggert@cs.ucla.edu>
43328         Catch malloc_get_state, malloc_set_state failure
43330         This should help insulate Emacs better from configuration screwups.
43331         Future versions of the GNU C library are planned to deprecate
43332         these functions, but will continue to support them in
43333         already-built-and-dumped Emacs executables.
43334         * src/alloc.c (malloc_initialize_hook) [DOUG_LEA_MALLOC]:
43335         Abort if malloc_set_state fails.
43336         (alloc_unexec_pre) [DOUG_LEA_MALLOC]:
43337         Report malloc_get_state failure, and exit.
43339 2016-06-10  Eli Zaretskii  <eliz@gnu.org>
43341         Show returned value after gdb-mi "finish" command
43343         * lisp/progmodes/gdb-mi.el (gdb-stopped): Display the expected
43344         "Value returned" message in response to "finish", when not
43345         produced by GDB/MI.  (Bug#23720)
43347 2016-06-10  David Reitter  <david.reitter@gmail.com>
43349         Simplify pre-write-conversion for utf-8-hfs coding system
43351         * lisp/international/ucs-normalize.el
43352         (ucs-normalize-hfs-nfd-pre-write-conversion): Refactor.
43354         May address an issue where Emacs consumed large amounts of CPU
43355         because of neverending toolbar updating (which was caused
43356         by, but also called this function).
43358 2016-06-09  Martin Rudalics  <rudalics@gmx.at>
43360         Revert "Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2"
43362         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
43363         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
43364         Monnier.  (Bug#19185, Bug#20398)
43366         This reverts commit 72166f2f3dba18f1217c666574032f5a0351ed65.
43368         That commit did more harm than good (Bug#23571).
43370 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
43372         Port __builtin_assume_aligned to Sun C 5.13
43374         * src/conf_post.h (__builtin_assume_aligned):
43375         Fix typo: the extra arg did not conform to C99.
43377 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
43379         Prefer getsockopt to getpeername on non-MS-Windows
43381         * admin/CPP-DEFINES: Remove HAVE_GETPEERNAME.
43382         * configure.ac: Don’t check for getpeername.
43383         * src/process.c (wait_reading_process_output) [!WINDOWSNT]:
43384         Use getsockopt even if not GNU/Linux, as the platforms where
43385         getsockopt used to hang are no doubt long dead.
43387 2016-06-09  Paul Eggert  <eggert@cs.ucla.edu>
43389         Fix XFASTINT of non-fixnum in process status
43391         * src/process.c (decode_status): 3rd arg is now Lisp_Object *,
43392         not int *, and is not decoded.  All uses changed.
43393         (status_message): Do not assume ‘failed’ code is an integer.
43394         * src/process.h: Document codes better.
43396 2016-06-09  Glenn Morris  <rgm@gnu.org>
43398         Make messcompat.el obsolete.
43400         * lisp/obsolete/messcompat.el: Move here from lisp/gnus.
43401         * doc/misc/message.texi (Compatibility): Remove section.
43403 2016-06-09  Glenn Morris  <rgm@gnu.org>
43405         Leading "*" in the doc of defvars is long obsolete.
43407         * lisp/plstore.el (plstore-encrypt-to):
43408         * lisp/cedet/semantic/lex-spp.el
43409         (semantic-lex-spp-macro-max-length-to-save):
43410         * lisp/cedet/semantic/symref.el (semantic-symref-tool):
43411         * lisp/cedet/semantic/bovine/el.el
43412         (semantic-elisp-store-documentation-in-tag):
43413         * lisp/cedet/semantic/wisent/comp.el (wisent-verbose-flag)
43414         (wisent-expected-conflicts):
43415         * lisp/cedet/semantic/wisent/wisent.el (wisent-parse-verbose-flag):
43416         * lisp/gnus/gnus-agent.el (gnus-category-menu-hook):
43417         * lisp/gnus/gnus-group.el (gnus-group-listing-limit):
43418         * lisp/gnus/gnus-srvr.el (gnus-server-menu-hook)
43419         (gnus-browse-menu-hook):
43420         * lisp/gnus/message.el (message-shoot-gnksa-feet):
43421         * lisp/gnus/mm-decode.el (mm-path-name-rewrite-functions):
43422         * lisp/gnus/mm-util.el (mm-extra-numeric-entities):
43423         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
43424         * lisp/gnus/mml.el (mml-generate-multipart-alist):
43425         * lisp/gnus/nndraft.el (nndraft-required-headers):
43426         * lisp/gnus/nnheader.el (nnheader-max-head-length)
43427         (nnheader-head-chop-length, nnheader-file-name-translation-alist)
43428         (nnheader-directory-separator-character)
43429         (nnheader-pathname-coding-system):
43430         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system)
43431         (nnmail-active-file-coding-system):
43432         * lisp/gnus/nnrss.el (nnrss-file-coding-system):
43433         * lisp/gnus/nntp.el (nntp-record-commands):
43434         * lisp/gnus/score-mode.el (gnus-score-edit-done-hook)
43435         (gnus-score-mode-hook, gnus-score-menu-hook):
43436         * lisp/mail/rfc2047.el (rfc2047-header-encoding-alist)
43437         (rfc2047-allow-irregular-q-encoded-words)
43438         (rfc2047-allow-incomplete-encoded-text):
43439         * lisp/mh-e/mh-alias.el (mh-alias-system-aliases):
43440         * lisp/mh-e/mh-e.el (mh-mail-header-separator, mh-x-mailer-string):
43441         * lisp/mh-e/mh-scan.el (mh-scan-format-mh, mh-scan-format-nmh):
43442         * lisp/net/pop3.el (pop3-password):
43443         * lisp/play/animate.el (animate-n-steps):
43444         * lisp/progmodes/cc-vars.el (c-old-style-variable-behavior):
43445         Convert from defvar with leading * to defcustom.
43448         * lisp/emulation/viper-init.el (viper-heading-end):
43449         * lisp/gnus/mm-url.el (mm-url-html-entities):
43450         * lisp/gnus/nnmaildir.el (nnmaildir-article-file-name):
43451         * lisp/mh-e/mh-e.el (mh-invisible-header-fields-compiled):
43452         * lisp/net/tramp-adb.el (tramp-adb-method): Remove leading * from doc.
43454         * lisp/gnus/messcompat.el: Mark (pointless) file not for compilation.
43455         (message-from-style, message-interactive, message-indentation-spaces)
43456         (message-signature, message-signature-file):
43457         Remove settings that match the defaults.
43458         (message-setup-hook, message-mode-hook, message-default-headers)
43459         (message-send-hook, message-send-mail-function):
43460         Just use setq rather than redefining.
43462         * lisp/gnus/nnrss.el (nnrss):
43463         * lisp/mail/rfc2047.el (rfc2047):
43464         * lisp/play/animate.el (animate): New custom groups.
43466 2016-06-09  Glenn Morris  <rgm@gnu.org>
43468         Remove obsolete leading * from defcustom, defface doc strings.
43470         * lisp/cedet/ede/linux.el, lisp/cedet/ede/project-am.el:
43471         * lisp/cedet/ede/simple.el, lisp/cedet/semantic/bovine/c.el:
43472         * lisp/cedet/semantic/complete.el, lisp/cedet/semantic/db.el:
43473         * lisp/cedet/semantic/decorate/include.el:
43474         * lisp/cedet/semantic/decorate/mode.el, lisp/cedet/semantic/format.el:
43475         * lisp/cedet/semantic/ia.el, lisp/cedet/semantic/idle.el:
43476         * lisp/cedet/semantic/imenu.el, lisp/cedet/semantic/lex-spp.el:
43477         * lisp/cedet/semantic/mru-bookmark.el, lisp/cedet/semantic/sb.el:
43478         * lisp/cedet/srecode/fields.el, lisp/ecomplete.el:
43479         * lisp/gnus/gnus-agent.el, lisp/gnus/gnus-art.el:
43480         * lisp/gnus/gnus-async.el, lisp/gnus/gnus-cache.el:
43481         * lisp/gnus/gnus-cite.el, lisp/gnus/gnus-delay.el:
43482         * lisp/gnus/gnus-diary.el, lisp/gnus/gnus-dup.el:
43483         * lisp/gnus/gnus-fun.el, lisp/gnus/gnus-group.el:
43484         * lisp/gnus/gnus-kill.el, lisp/gnus/gnus-msg.el:
43485         * lisp/gnus/gnus-picon.el, lisp/gnus/gnus-salt.el:
43486         * lisp/gnus/gnus-score.el, lisp/gnus/gnus-start.el:
43487         * lisp/gnus/gnus-sum.el, lisp/gnus/gnus-topic.el:
43488         * lisp/gnus/gnus-util.el, lisp/gnus/gnus-uu.el, lisp/gnus/gnus-win.el:
43489         * lisp/gnus/gnus.el, lisp/gnus/mail-source.el, lisp/gnus/message.el:
43490         * lisp/gnus/mm-url.el, lisp/gnus/mm-uu.el, lisp/gnus/mml.el:
43491         * lisp/gnus/nndiary.el, lisp/gnus/nnir.el, lisp/gnus/nnmail.el:
43492         * lisp/gnus/smiley.el, lisp/gnus/smime.el, lisp/mail/mail-extr.el:
43493         * lisp/mh-e/mh-e.el, lisp/net/mailcap.el, lisp/net/pop3.el:
43494         * lisp/net/starttls.el, lisp/progmodes/cc-vars.el:
43495         * lisp/progmodes/cperl-mode.el, test/manual/cedet/tests/test.el:
43496         Remove obsolete leading * from defcustom, defface doc strings.
43498 2016-06-09  Eli Zaretskii  <eliz@gnu.org>
43500         Fix copying text properties by 'format'
43502         * src/editfns.c (styled_format): Fix copying text properties from
43503         the format specification to the produced string representation.
43504         (Bug#23730)
43505         (Fformat) Doc fix.
43507         * doc/lispref/strings.texi (Formatting Strings): Document that
43508         text properties from the format specifiers are also copied to the
43509         produced string.
43511 2016-06-09  Alan Mackenzie  <acm@muc.de>
43513         Handle C++ raw strings.
43515         * lisp/progmodes/cc-engine.el (c-raw-string-pos, c-depropertize-raw-string)
43516         (c-depropertize-raw-strings-in-region,
43517         c-before-change-check-raw-strings)
43518         (c-propertize-raw-string-opener, c-after-change-re-mark-raw-strings): New
43519         functions.
43521         * lisp/progmodes/cc-fonts.el (c-basic-matchers-before): Insert a clause for
43522         c-font-lock-raw-strings.
43523         (c-font-lock-raw-strings): New function.
43525         * lisp/progmodes/cc-langs.el (c-get-state-before-change-functions): Insert
43526         c-before-change-check-raw-strings into the C++ value, and c-depropertize-CPP
43527         into the values for C, C++, and Objective C.
43528         (c-before-font-lock-functions): Insert c-after-change-re-mark-raw-strings into
43529         the C++ value.
43531         * lisp/progmodes/cc-mode.el (c-old-BEG, c-old-END): New variables.
43532         (c-depropertize-CPP): New function, extracted from
43533         c-neutralize-syntax-in-and-mark-CPP.
43534         (c-neutralize-syntax-in-and-mark-CPP): Remove the call to
43535         c-clear-char-property-with-value for 'syntax-table value '(1) at the beginning
43536         of the function.
43537         (c-after-change): Set c-old-BEG and c-old-END to the current values of
43538         c-new-BEG and c-new-END.
43540 2016-06-09  Daiki Ueno  <ueno@gnu.org>
43542         epg: don't use obsolete function
43544         * lisp/epg.el (epg-sign-string, epg-encrypt-string): Remove
43545         redundant configuration check, which is now done in
43546         `epg-make-context'.
43548 2016-06-09  Daiki Ueno  <ueno@gnu.org>
43550         epg: don't start pinentry if it is useless
43552         * lisp/epg.el (epg--start): Don't start pinentry server if the
43553         session is non-interactive or pinentry-mode is set.
43555 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
43557         Replace IF_LINT by NONVOLATILE and UNINIT
43559         Inspired by a suggestion from RMS in: https://bugs.gnu.org/23640#58
43560         * .dir-locals.el (c-mode): Adjust to macro changes.
43561         * src/conf_post.h (NONVOLATILE, UNINIT): New macros (Bug#23640).
43562         (IF_LINT): Remove.  All uses replaced by the new macros.
43564 2016-06-08  Michal Nazarewicz  <mina86@mina86.com>
43566         Remove ‘ert-with-function-mocked’ macro in favour of ‘cl-letf’ macro
43568         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): Remove macro
43569         in favour of ‘cl-letf’ macro which is more generic.  All existing
43570         uses are migrated accordingly.  The macro has not been included in
43571         an official release yet so it should be fine to delete it.
43573 2016-06-08  Glenn Morris  <rgm@gnu.org>
43575         * test/lisp/emacs-lisp/package-tests.el
43576         (package-test-update-archives-async): Try re-enabling on hydra.
43578 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
43580         * src/fileio.c (auto_save_error): Omit unused local.
43582 2016-06-08  Paul Eggert  <eggert@cs.ucla.edu>
43584         Simplify overflow check via INT_SUBTRACT_WRAPV
43586         * src/editfns.c (check_tm_member): Simplify integer overflow check.
43588 2016-06-07  Glenn Morris  <rgm@gnu.org>
43590         Try to avoid hangs and stray procs in network-stream-tests.  (Bug#23560)
43592         * test/lisp/net/network-stream-tests.el (connect-to-tls-ipv4-wait)
43593         (connect-to-tls-ipv4-nowait, connect-to-tls-ipv6-nowait):
43594         Ensure gnutls-serv process gets killed.
43595         (echo-server-nowait, connect-to-tls-ipv4-nowait):
43596         Limit the amount of time we might wait.
43598 2016-06-07  Glenn Morris  <rgm@gnu.org>
43600         Reduce allout.el's pollution of the namespace.
43602         * lisp/allout.el (allout-set-regexp): Rename from set-allout-regexp.
43603         Keep old name as obsolete alias.
43604         (allout-produce-mode-menubar-entries, allout-nullify-prefix-data)
43605         (allout-solicit-char-in-string)
43606         (allout-count-trailing-whitespace-region, allout-regexp-sans-escapes):
43607         Rename to add an "allout-" prefix.
43609 2016-06-07  Glenn Morris  <rgm@gnu.org>
43611         * configure.ac (emacs_config_features): Add CANNOT_DUMP.
43613 2016-06-07  Glenn Morris  <rgm@gnu.org>
43615         Misc small webjump updates.
43617         * lisp/net/webjump.el (webjump): Add custom group.
43618         (webjump-sample-sites): Make it a constant.
43619         Remove explicit, old list of GNU ftp mirrors.
43620         (webjump-state-to-postal-alist): Make it a constant.
43621         (webjump-sites): Make it a defcustom.
43622         (webjump-to-iwin): Update for changed remote service.
43624 2016-06-07  Glenn Morris  <rgm@gnu.org>
43626         Do not hard-code port for package test server.  (Bug#23708)
43628         * test/lisp/emacs-lisp/package-resources/package-test-server.py:
43629         Do not hard-code port.
43630         * test/lisp/emacs-lisp/package-tests.el (package-test-update-archives-async):
43631         Update for the above change.
43633 2016-06-07  Tino Calancha  <f92capac@gmail.com>
43635         * lisp/ibuffer.el (ibuffer): Improve 'other-window' case.  (Bug#23617)
43637 2016-06-07  Glenn Morris  <rgm@gnu.org>
43639         * src/fileio.c (auto_save_error): Use display-warning.  (Bug#23703)
43641 2016-06-07  Tino Calancha  <f92capac@gmail.com>
43643         * lisp/ibuf-ext.el (ibuffer-do-shell-command-file):
43644         Fix non-file-visiting-buffer case.  (Bug#22678)
43646 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
43648         Port --enable-gcc-warnings to clang 3.7.0
43650         * configure.ac: Add -Wno-tautological-compare to avoid bogus
43651         warnings about 0 <= rlim.rlim_max.  Remove flags that no longer
43652         seem to be needed, at least in Fedora 23 x86-64.
43654 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
43656         Use __builtin_assume_aligned on untagged Lisp vals
43658         * src/conf_post.h (__has_builtin, __builtin_assume_aligned):
43659         New macros, for compilers not already defining them.
43660         (__has_builtin___builtin_assume_aligned): New macro.
43661         * src/lisp.h (lisp_h_XUNTAG): Use __builtin_assume_aligned.
43662         This shrinks text space by 0.2% on x86-64 with GCC 6.1.
43664 2016-06-07  Glenn Morris  <rgm@gnu.org>
43666         * lisp/help-fns.el (describe-function-1): Avoid reporting advised
43667         aliases as the type of their targets.
43669 2016-06-07  Tino Calancha  <f92capac@gmail.com>
43671         * lisp/simple.el (process-menu-mode, list-processes--refresh):
43672         Include PID.  (Bug#21725)
43674 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
43676         Merge from origin/emacs-25
43678         6e3adf8 Fix crash in syntax.c after GC
43679         973ce5a Improve squiggly heredoc support in non-SMIE Ruby mode
43680         9d5cceb Fix doc string quoting
43681         0b33a23 Fix mouse dragging of vertical dividers with scroll bars on l...
43682         a5d05f4 * etc/PROBLEMS: Mention the link-time problems on FreeBSD 11.
43684 2016-06-07  Paul Eggert  <eggert@cs.ucla.edu>
43686         Merge from origin/emacs-25
43688         604f656 * test/automated/viper-tests.el (viper-test-undo-kmacro): Del...
43689         20eb531 * lisp/mail/footnote.el (footnote-mode): Fix doc typo.
43690         a7a2244 * doc/misc/smtpmail.texi (Encryption): Fix 2012-12-22 typo.
43691         07bd972 * lisp/emacs-lisp/lisp-mode.el (lisp--mode-syntax-table): Fix...
43693 2016-06-06  Paul Eggert  <eggert@cs.ucla.edu>
43695         Use standard Unicode names for Thai, Lao
43697         * lisp/language/lao-util.el, lisp/language/thai-util.el:
43698         Don’t override standard Unicode character name (Bug#23698).
43700 2016-06-06  Glenn Morris  <rgm@gnu.org>
43702         * lisp/man.el (Man-reference-regexp, Man-default-man-entry):
43703         Handle U+2010 hyphen at eol, as used when LANG=en_US.utf8.
43705 2016-06-06  Michael Albinus  <michael.albinus@gmx.de>
43707         Some fixes in filenotify-tests.el for cygwin
43709         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
43710         Reintroduce value for cygwin, it's needed on slow systems.
43711         (file-notify--wait-for-events): Move up definition.
43712         (file-notify--test-no-descriptors): Use `file-notify--wait-for-events'.
43713         (file-notify--test-with-events-check, file-notify--test-with-events)
43714         (file-notify-test08-watched-file-in-watched-dir):
43715         Use :random rather than `random.
43716         (file-notify-test06-many-events): Do not skip for cygwin.
43718 2016-06-05  Juri Linkov  <juri@linkov.net>
43720         * src/casefiddle.c (Fupcase_region): Add arg ‘region-noncontiguous-p’.
43722         If non-nil, operate on multiple chunks.  (Bug#23655)
43724         * src/search.c (Freplace_match): Use Qnil for new arg of Fupcase_region.
43726 2016-06-05  Juri Linkov  <juri@linkov.net>
43728         * lisp/wdired.el (wdired-next-line, wdired-previous-line): Add "^"
43730         to interactive spec to handle shift-selection.  (Bug#23642)
43732 2016-06-05  Michael Albinus  <michael.albinus@gmx.de>
43734         Improve robustness of filenotify-tests.el (Bug#23618)
43736         * test/lisp/filenotify-tests.el (file-notify--test-no-descriptors)
43737         (file-notify--test-no-descriptors-explainer)
43738         (file-notify--test-cleanup-p): New defuns.
43739         (file-notify--test-cleanup): Don't check for
43740         `file-notify--test-event' anymore, that's done in
43741         `file-notify--test-no-descriptors'.
43742         (file-notify--test-with-events-check)
43743         (file-notify--test-with-events): Handle the `random' marker.
43744         (file-notify--test-with-events-explainer): Improve readability.
43745         (file-notify-test00-availability)
43746         (file-notify-test01-add-watch, file-notify-test02-events)
43747         (file-notify-test03-autorevert)
43748         (file-notify-test04-file-validity)
43749         (file-notify-test05-dir-validity)
43750         (file-notify-test06-many-events, file-notify-test07-backup)
43751         (file-notify-test08-watched-file-in-watched-dir)
43752         (file-notify-test09-sufficient-resources): Check also
43753         `file-notify--test-cleanup-p'.
43754         (file-notify-test04-file-validity)
43755         (file-notify-test05-dir-validity): Use `ignore' as handler.
43756         (file-notify-test05-dir-validity)
43757         (file-notify-test06-many-events): Delete directory finally.
43758         (file-notify-test08-watched-file-in-watched-dir): Add `random' marker.
43760 2016-06-05  Stephen Berman  <stephen.berman@gmx.net>
43762         man.el: Fix links on hyphenated words (bug#23647)
43764         * lisp/man.el (Man-bgproc-sentinel): Make links work on
43765         hyphenated words.
43767 2016-06-05  K. Handa  <handa@gnu.org>
43769         Add category 'j' to more characters.
43771         * lisp/international/characters.el: Add category 'j' (Japanese)
43772         to characters in japanese-jisx0213.2004-1.
43774 2016-06-04  Tino Calancha  <f92capac@gmail.com>
43776         isearch-edit-string resumes multi isearches
43778         * lisp/isearch.el (with-isearch-suspended): Remember and restore
43779         multi-isearch variables.  (Bug#21663)
43781 2016-06-04  Eli Zaretskii  <eliz@gnu.org>
43783         Fix Eshell display when RTL characters are involved
43785         * lisp/eshell/esh-mode.el (eshell-mode): Set
43786         'bidi-paragraph-direction' to 'left-to-right'.  (Bug#23652)
43788 2016-06-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
43790         Make ses-jump with completing input.
43792         * lisp/ses.el (ses-jump): Make symbol input completing against list of
43793           named cells.
43795 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
43797         Port angle-bracket TZ settings to MS-Windows
43799         * doc/lispref/os.texi (Time Zone Rules): Document MS-Windows
43800         lack of support for numeric time zone abbreviations.
43801         * src/w32.c (sys_putenv): Convert angle-bracket TZ syntax
43802         to MS-compatible syntax if possible, and to "ZZZ" otherwise.
43803         Problem reported by Kazuhiro Ito (Bug#23600).
43805 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
43807         Avoid delving into Git internals for version
43809         * lisp/loadup.el (exec-path): Set it to nil later, so that
43810         emacs-repository-get-version can invoke git commands in the PATH.
43811         * lisp/version.el (emacs-repository--version-git-1): Remove.
43812         (emacs-repository-get-version): Let Git do it rather than
43813         delving into Git internals.
43815 2016-06-01  Stefan Monnier  <monnier@iro.umontreal.ca>
43817         * lisp/emacs-lisp/autoload.el (autoload--make-defs-autoload): Expand less
43819 2016-06-01  Paul Eggert  <eggert@cs.ucla.edu>
43821         Fix emacs-repository-get-version with packed .git
43823         * lisp/version.el (emacs-repository-get-version):
43824         Parse .git/packed-refs if it exists.
43825         Problem reported by Martin Rudalics in:
43826         https://lists.gnu.org/r/emacs-devel/2016-05/msg00554.html
43828 2016-06-01  Michael Albinus  <michael.albinus@gmx.de>
43830         Minor change in tramp.texi
43832         * doc/misc/tramp.texi (Password handling): Do not discuss
43833         anymore how to get password-cache.el.  It is bundled with
43834         Emacs.
43836 2016-06-01  Alan Mackenzie  <acm@muc.de>
43838         Correct fontification and indentation of C++'s "constexpr" expressions
43840         * lisp/progmodes/cc-langs.el (c-type-modifier-kwds): Remove "constexpr".
43841         (c-modifier-kwds): Add "constexpr".
43843 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
43845         Cosmetic change to kinsoku-eol.  (tiny change)
43847         * lisp/international/kinsoku.el (kinsoku-eol): Make the
43848         order of characters match with the comments.
43850 2016-05-31  Ikumi Keita  <ikumi@ikumi.que.jp>
43852         Add HIRAGANA ITERATION MARK to japanese-kana-table.  (tiny change)
43854         * lisp/language/japan-util.el (japanese-kana-table): Add an
43855         entry for HIRAGANA ITERATION MARK (U+309D).
43856         (japanese-alpha-numeric-table): Fix docstring.
43858 2016-05-31  K. Handa  <handa@gnu.org>
43860         Fix incomplete handling of translation table in a coding system.
43862         * src/coding.c (get_translation): New arg NCHARS.  Even if TRANS
43863         is an alist, return a character or a vector of character.
43864         (produce_chars): Adjust for the above change.
43865         (consume_chars): Likewise.
43867 2016-05-31  Michael Albinus  <michael.albinus@gmx.de>
43869         Improve robustness for out-of-band copy in Tramp
43871         * lisp/net/tramp-adb.el (tramp-adb-execute-adb-command)
43872         * lisp/net/tramp-cmds.el (tramp-append-tramp-buffers)
43873         * lisp/net/tramp-gvfs.el (tramp-gvfs-do-copy-or-rename-file):
43874         Cosmetic changes.
43876         * lisp/net/tramp-sh.el (tramp-do-copy-or-rename-file-out-of-band):
43877         Use local `default-directory'.  Simplify command to send.
43878         Don't check return code, this was already done in
43879         `tramp-process-actions'.
43880         (tramp-get-inline-coding): Don't set `default-directory'.
43882         * lisp/net/tramp.el (tramp-action-out-of-band):
43883         Throw `out-of-band-failed'.
43884         (tramp-process-actions): Handle `out-of-band-failed'.
43885         (tramp-call-process, tramp-call-process-region):
43886         Use local `default-directory'.
43888 2016-05-31  Paul Eggert  <eggert@cs.ucla.edu>
43890         Merge from origin/emacs-25
43892         788c9b6 ; Spelling fix
43893         25c4a30 * lisp/recentf.el (recentf-dialog-mode-map): Remove follow-li...
43894         0992ec3 Correct cl-flet usage (Bug#22317)
43895         50caae3 Release MH-E manual version 8.6
43896         602bb40 Update MH-E's documentation about HTML renderers
43897         89018f0 Fx the we->the typo
43898         845ee57 Restore frames into the current display by default
43899         ee28b4c * lisp/recentf.el (recentf-open-files-item): Quick fix for (b...
43900         01c3cd1 etc/TODO: Remove out-of-place issue
43901         5e18486 Clarify doc string of 'file-name-sans-extension'
43902         bffda22 Fix the MSDOS build
43903         f907f98 * lisp/progmodes/elisp-mode.el (elisp-function-argstring): Ca...
43904         1a2ffd0 * src/dired.c (Ffile_name_all_completions): Doc fix.  (Bug#23...
43905         f7ffc4b Fix infloop in 'number-sequence'
43906         4ab2673 ; Spelling and punctuation fixes in comments
43907         71c152e * lisp/emacs-lisp/find-func.el (find-function-library):
43909 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
43911         * lisp/emacs-lisp/autoload.el: Use radix-tree.
43913          (autoload--make-defs-autoload): Rewrite.
43914         (autoload--split-prefixes-1): Remove.
43915         (autoload-def-prefixes-max-entries): Rename from
43916         autoload-defs-autoload-max-size.
43917         (autoload-popular-prefixes): Remove.
43918         (autoload-def-prefixes-max-length): New const.
43920         * lisp/emacs-lisp/radix-tree.el: New file.
43922 2016-05-30  Ken Brown  <kbrown@cornell.edu>
43924         * src/conf_post.h (SYSTEM_PURESIZE_EXTRA) [CYGWIN]: Increase.
43926 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
43928         Omit IF_LINT code that no longer seems needed
43930         Nowadays GCC is smarter, or the Emacs code has mutated, or both,
43931         and now is as good a time as any to remove uses of IF_LINT that
43932         now seem to be unnecessary.
43933         * lib-src/emacsclient.c (set_local_socket):
43934         * lib-src/movemail.c (main) [MAIL_USE_MAILLOCK && HAVE_TOUCHLOCK]:
43935         * src/buffer.c (fix_start_end_in_overlays, fix_overlays_before):
43936         * src/casefiddle.c (casify_region):
43937         * src/charset.c (load_charset_map):
43938         * src/coding.c (decode_coding_object, encode_coding_object):
43939         * src/data.c (Fmake_variable_buffer_local, Fmake_local_variable)
43940         (cons_to_unsigned, cons_to_signed):
43941         * src/frame.c (make_frame, x_set_frame_parameters):
43942         * src/keyboard.c (read_event_from_main_queue):
43943         * src/regex.c (regex_compile):
43944         * src/syntax.c (back_comment):
43945         * src/window.c (Frecenter):
43946         * src/xfaces.c (Fx_list_fonts):
43947         Remove IF_LINT that no longer seems necessary.
43948         * src/image.c (png_load_body, jpeg_load_body): Simplify use of IF_LINT.
43949         * src/keyboard.c (read_char): Use IF_LINT (volatile) rather than
43950         a pragma dance to pacify GCC -Wclobbered.
43951         * src/xdisp.c (x_produce_glyphs): Rewrite to avoid need for IF_LINT.
43953         * src/xterm.c (x_connection_closed): Now _Noreturn, which should
43954         mean we do not need IF_LINT any more.
43955         (x_io_error_quitter): Now _Noreturn.  Put an 'assume (false)’
43956         at the end, to forestall warnings from older compilers.
43958 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
43960         Port --enable-gcc-warnings to Cygwin, FreeBSD
43962         These platforms have a bug where _Noreturn is empty when 'lint' is
43963         defined.  Problem reported by Ken Brown (Bug#23640).
43964         * configure.ac (GCC_LINT): Rename from 'lint'.
43965         * src/conf_post.h (IF_LINT): Use GCC_LINT, not just 'lint’.
43967 2016-05-30  Paul Eggert  <eggert@cs.ucla.edu>
43969         Update from gnulib
43971         This incorporates:
43972         2016-05-30 Use GCC_LINT, not lint
43973         2016-05-29 secure_getenv: Port to many more platforms.
43974         * doc/misc/texinfo.tex, lib/secure_getenv.c, lib/verify.h:
43975         * m4/secure_getenv.m4: Copy from gnulib.
43977 2016-05-30  Stefan Monnier  <monnier@iro.umontreal.ca>
43979         * lisp/emacs-lisp/pcase.el: Undo last change's spurious changes
43981         * lisp/emacs-lisp/pcase.el (pcase-mutually-exclusive-predicates): Add `atom'.
43983 2016-05-30  Ken Brown  <kbrown@cornell.edu>
43985         * src/regex.c (IF_LINT): Remove; it’s in conf_post.h
43987 2016-05-30  Michael Albinus  <michael.albinus@gmx.de>
43989         Fix Bug#23631 for Tramp
43991         * lisp/net/tramp-adb.el (tramp-adb-handle-file-name-all-completions)
43992         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-name-all-completions)
43993         * lisp/net/tramp-sh.el (tramp-sh-handle-file-name-all-completions):
43994         Fix caching problems.
43996         * lisp/net/tramp-sh.el (tramp-perl-file-name-all-completions): Simplify.
43998         * lisp/net/tramp-smb.el (tramp-smb-handle-directory-files):
43999         Move duplicate deletion ...
44000         (tramp-smb-handle-file-name-all-completions): ... here.
44002         * lisp/net/tramp.el (tramp-handle-file-name-completion):
44003         Handle `completion-ignored-extensions'.  (Bug#23631)
44005         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
44006         Test also `completion-regexp-list' and `completion-ignored-extensions'.
44008 2016-05-29  Stefan Monnier  <monnier@iro.umontreal.ca>
44010         * lisp/wid-edit.el (link): Remove :follow-link property (bug#22434)
44012         * lisp/recentf.el (recentf-dialog-mode-map): Remove unecessary mapping.
44014 2016-05-29  Lars Magne Ingebrigtsen  <larsi@gnus.org>
44016         Fix up remainder of the mml property change
44018         * lisp/gnus/message.el (message-send-mail): Use the renamed
44019         mml-buffer-substring-no-properties-except-some function.
44020         (message-send-news): Ditto.
44022 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
44024         Allow preserving EXIF rotations when sending HTML messages
44026         * lisp/gnus/mml.el (mml--possibly-alter-image): Allow image
44027         rotation if you have exiftool installed and the image format
44028         supports it.
44029         (mml-expand-html-into-multipart-related): Use it.
44030         (mml-buffer-substring-no-properties-except-some): Renamed and
44031         copy display properties, too.
44033 2016-05-29  Lars Ingebrigtsen  <larsi@gnus.org>
44035         Make message-toggle-image-thumbnails work better
44037         * lisp/gnus/message.el (message-toggle-image-thumbnails): Use
44038         `insert-image' instead of `put-image' to make it possible to
44039         edit the resulting text in a sensible manner.
44041 2016-05-29  Alan Mackenzie  <acm@muc.de>
44043         Rationalize the use of c-new-BEG and c-new-END in CC Mode.
44045         Remove the now redundant c-old-BOM and c-old-EOM.
44047         * lisp/progmodes/cc-engine.el (c-macro-cache-syntactic): Change and simplify
44048         meaning.
44049         (c-macro-cache-no-comment): New variable.
44050         (c-invalidate-macro-cache, c-beginning-of-macro, c-end-of-macro): incorporate
44051         the new c-macro-cache-no-comment.
44052         (c-syntactic-end-of-macro): Make better use of c-macro-cache-syntactic.
44053         (c-no-comment-end-of-macro): New function.
44055         * lisp/progmodes/cc-langs.el (c-before-font-lock-functions): Add
44056         c-extend-font-lock-region-for-macros to C/C++/ObjC value.
44058         * lisp/progmodes/cc-mode.el (c-old-BOM, c-old-EOM): Remove.
44059         (c-extend-region-for-CPP): Put results in c-new-BEG/END rather than
44060         c-old-BOM/EOM.
44061         (c-extend-font-lock-region-for-macros): Simplify meaning, no longer returning
44062         a cons for the new region, since the function is now called as an after-change
44063         function.  No longer adjust c-new-END for the length of inserted/deleted
44064         text.  Move the size restrictions on macros to here from
44065         c-neutralize-syntax-in-and-mark-CPP.
44066         (c-neutralize-syntax-in-and-mark-CPP): No longer adjust c-new-BEG/END here.
44067         Use c-no-comment-end-of-macro rather than c-syntactic-end-of-macro to find the
44068         upper boundary to "neutralize" syntactically obtrusive characters.
44069         (c-change-expand-fl-region): Don't set c-new-END to next BOL when already at
44070         one.
44072 2016-05-28  Ken Brown  <kbrown@cornell.edu>
44074         Avoid compiler warnings
44076         * src/cygw32.c (chdir_to_default_directory): Use "void" as
44077         argument list.  Use SSDATA instead of SDATA.
44079         * src/unexcw.c (fixup_executable): Use %td as format specifier for
44080         argument of type ptrdiff_t.  Use %zu for argument of type size_t.
44082 2016-05-28  Eli Zaretskii  <eliz@gnu.org>
44084         Fix 'next-line' and 'previous-line' during keyboard macro
44086         * lisp/simple.el (line-move-visual): Handle the case when point
44087         moves outside of the visible portion of the buffer while executing
44088         a keyboard macro.  (Bug#13452)  (Bug#23551)  (Bug#23555)
44090 2016-05-28  Alan Mackenzie  <acm@muc.de>
44092         C++ Mode: attribute in class declaration fouls up indentation.  Fix!
44094         * lisp/progmodes/cc-engine.el (c-looking-at-decl-block): Add code to skip
44095         back over noise clauses and attribute clauses.
44097         * lisp/progmodes/cc-langs.el (c-paren-nontype-key): New language variable.
44099 2016-05-28  Ken Olum  <kdo@cosmos.phy.tufts.edu>
44101         Prevent locked-file errors in Rmail
44103         * lisp/mail/rmail.el (rmail-get-new-mail-1): Lock file before
44104         calling 'rmail-insert-inbox-text'.  Unlock if
44105         'rmail-insert-inbox-text' doesn't modify buffer.
44106         (rmail-insert-inbox-text): Remove lock-checking code.  (Bug#17706)
44108 2016-05-28  Michael Albinus  <michael.albinus@gmx.de>
44110         Sync with Tramp repository.
44112         * lisp/net/tramp-adb.el (tramp-adb-handle-start-file-process):
44113         * lisp/net/tramp-sh.el (tramp-sh-handle-start-file-process)
44114         * lisp/net/tramp-smb.el (tramp-smb-handle-start-file-process):
44115         Create BUFFER if it doesn't exist.  Reported by Nikolay
44116         Kudryavtsev <nikolay.kudryavtsev@gmail.com>.
44118         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-attributes)
44119         (tramp-gvfs-file-attributes-with-gvfs-ls-regexp)
44120         (tramp-gvfs-file-attributes-with-gvfs-info-regexp): New defconst.
44121         (tramp-gvfs-get-directory-attributes)
44122         (tramp-gvfs-get-root-attributes)
44123         (tramp-gvfs-get-file-attributes): New defun.
44124         (tramp-gvfs-handle-file-attributes)
44125         (tramp-gvfs-handle-file-name-all-completions): Use them.
44126         (tramp-gvfs-handle-file-directory-p): Use `file-truename'.
44127         (tramp-gvfs-maybe-open-connection): Set :noquery flag for process.
44128         (tramp-gvfs-send-command): Add locale settings to `process-environment'.
44129         (top): Suppress D-Bus error messages during zeroconf initialization.
44131         * lisp/net/tramp.el (tramp-unknown-id-string)
44132         (tramp-unknown-id-integer): New defconst.
44133         (tramp-check-cached-permissions)
44134         * lisp/net/tramp-gvfs.el (tramp-gvfs-handle-file-attributes)
44135         * lisp/net/tramp-sh.el (tramp-do-file-attributes-with-ls)
44136         (tramp-convert-file-attributes, tramp-get-remote-uid)
44137         (tramp-get-remote-gid): Use them.
44139         * lisp/net/tramp-sh.el (tramp-display-escape-sequence-regexp):
44140         Rename from `tramp-color-escape-sequence-regexp'.
44141         (tramp-sh-handle-insert-directory)
44142         (tramp-convert-file-attributes): Adapt callees.
44143         (tramp-device-escape-sequence-regexp): New defconst.
44144         (tramp-wait-for-output): Use it.  Reported by Matthías Páll
44145         Gissurarson <icetritlo@gmail.com>.
44147         * lisp/net/tramp-smb.el (tramp-smb-handle-file-name-all-completions):
44148         Simplify.
44150         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
44151         (tramp-test28-shell-command):
44152         Use `tramp-display-escape-sequence-regexp'.
44154 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44156         Don’t document declare-function internals
44158         Suggested by Stefan Monnier in:
44159         https://lists.gnu.org/r/emacs-devel/2016-05/msg00618.html
44160         * doc/lispref/functions.texi (Declaring Functions):
44161         * lisp/subr.el (declare-function):
44162         * lisp/emacs-lisp/bytecomp.el:
44163         (byte-compile-macroexpand-declare-function):
44164         Document as (fn file &optional arglist fileonly)
44165         even though it is really (fn file &rest args).
44167 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44169         * src/puresize.h (BASE_PURESIZE): Increase it some more.
44171 2016-05-27  Glenn Morris  <rgm@gnu.org>
44173         * src/puresize.h (BASE_PURESIZE): Increase it by a little bit.
44175         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Tweak previous to
44176         avoid build failure.
44178 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44180         Port to platforms where rlim_max < 0
44182         * src/emacs.c (main): Do not treat a negative rlim_max as a limit;
44183         this can happen if a special value like RLIM_INFINITY is negative.
44185 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44187         Robustify stack-size calculation
44189         * src/emacs.c: Include getpagesize.h.
44190         (main): Check for integer overflow when computing stack size.
44191         Round new rlim_cur to pagesize boundary on all platforms, as this
44192         is easy and would have prevented Bug#23622.  If setrlimit
44193         fails, use current limit to determine re_max_failures.
44195 2016-05-27  Ken Brown  <kbrown@cornell.edu>
44197         Adjust filenotify-tests on Cygwin
44199         * test/lisp/filenotify-tests.el (file-notify--test-timeout):
44200         Remove special case for Cygwin.
44201         (file-notify-test07-backup): Update expected results on Cygwin.
44203 2016-05-27  Paul Eggert  <eggert@cs.ucla.edu>
44205         Improve define-function omitted-arg documentation
44207         * doc/lispref/functions.texi (Declaring Functions):
44208         * lisp/subr.el (declare-function):
44209         Be clearer when documenting omitted args for define-function.
44211 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
44213         * lisp/emacs-lisp/cl-macs.el (cl-defstruct): Add docstring to accessors.
44215 2016-05-27  Stefan Monnier  <monnier@iro.umontreal.ca>
44217         * lisp/subr.el (definition-prefixes): Expand docstring
44219         * lisp/emacs-lisp/autoload.el (autoload--split-prefixes):
44220         Remove unused function.
44222 2016-05-27  Phillip Lord  <phillip.lord@russet.org.uk>
44224         Fix broken viper deactivation
44226         * lisp/emulation/viper.el (viper--deactivate-advice-list): Destructure
44227           args to advice-remove.
44228           (viper--advice-add): Use cons not list.
44230         Addresses bug#23625
44232 2016-05-27  Mark Oteiza  <mvoteiza@udel.edu>
44234         Preserve buffer point in windows by default (Bug#4041).
44236         * doc/lispref/windows.texi: Mention new default.
44237         * etc/NEWS: Mention new default.
44238         * lisp/window.el (switch-to-buffer-preserve-window-point): Default to t.
44240 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44242         Fix byte-compiler pacification for declare-function
44244         Problem reported by Michael Heerdegen in:
44245         https://lists.gnu.org/r/emacs-devel/2016-05/msg00590.html
44246         * lisp/emacs-lisp/bytecomp.el:
44247         (byte-compile-macroexpand-declare-function):
44248         Revert signature to previous value.
44249         * lisp/subr.el (declare-function): Change signature to
44250         match the reverted signature used in the byte compiler.
44252 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44254         Update texinfo.tex
44256         This fixes Bug#23611 in a different (and presumably better) way.
44257         * doc/misc/texinfo.tex: Update from gnulib.
44259 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44261         Pacify 'make check-declare'
44263 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44265         Repair damage from emacs-25 merge
44267         * test/lisp/character-fold-tests.el:
44268         Remove, as it was renamed to test/lisp/char-fold-tests.el.
44269         * test/lisp/emulation/viper-tests.el:
44270         Rename from test/automated/viper-tests.el.
44272 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44274         Merge from origin/emacs-25
44276         c3489d0 * lisp/w32-fns.el (set-message-beep, w32-get-locale-info) (w3...
44277         a4d882c Correct old cell name unbinding when renaming cell.
44278         6c12c53 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
44279         0be6725 Document problem: slow screen refresh on missing font.
44280         853b9b9 * admin/admin.el (add-release-logs): Basic check of existing ...
44281         5fa80cf * build-aux/gitlog-to-emacslog: Handle empty generated Change...
44282         3c79e51 * admin/admin.el (add-release-logs): Generate ChangeLog if ne...
44283         42275df * doc/misc/texinfo.tex: Revert previous change (Bug#23611).
44284         3f4a9d9 * admin/authors.el (authors): First update the ChangeLog.
44285         897fb6f ; 'Changes from the pre-25.1 API' copyedits
44286         825ca25 Rename vc-stay-local back to vc-cvs-stay-local
44287         4efb3e8 * doc/emacs/files.texi (Comparing Files): * doc/emacs/trouble...
44288         b995d1e * doc/misc/eww.texi (Advanced): Fix xref.
44289         2e589c0 Fix cross-references between manuals
44290         f3d2ded * doc/misc/vhdl-mode.texi (Sample Init File): Rename node to ...
44291         906c810 ; * admin/release-process: Move etc/HISTORY from here... ; * ...
44292         bea1b65 * admin/admin.el (add-release-logs): Also update etc/HISTORY.
44293         503e752 ; * CONTRIBUTE: Fix a typo.
44294         fbfd478 Avoid aborting due to errors in arguments of 'set-face-attrib...
44295         bdfbe6d ; * admin/release-process: Copyedits.
44296         44a6aed ; * test/automated/data-tests.el: Standardize license notice.
44297         c33ed39 ; * test/automated/viper-tests.el: Standardize license notice.
44298         df4a14b Add automated test for viper-tests.el
44299         c0139e3 Fix viper undo breakage from undo-boundary changes
44300         920d76c Fix reference to obsolete fn ps-eval-switch
44301         18a9bc1 Do not trash symlinks to init file
44302         2671179 Don't print the "decomposition" line for control chars in wha...
44303         869092c Bring back xterm pasting with middle mouse
44304         5ab0830 Provide workaround for xftfont rendering problem
44305         c9f7ec7 * lisp/desktop.el: Disable restore frameset if in non-graphic...
44306         30989a0 Mention GTK+ problems in etc/PROBLEMS
44307         421e3c4 * lisp/emacs-lisp/package.el (package-refresh-contents):
44308         dadfc30 Revert "epg: Add a way to detect gpg1 executable for tests"
44309         e41a5cb Avoid errors with Czech and Slovak input methods
44310         d4ae6d7 epg: Add a way to detect gpg1 executable for tests
44311         ebc3a94 * lisp/emacs-lisp/package.el: Fix free variable warnings.
44312         6e71295 * lisp/emacs-lisp/package.el (package--with-response-buffer):
44313         c45d9f6 Improve documentation of 'server-name'
44314         3b5e38c Modernize ASLR advice in etc/PROBLEMS
44315         1fe1e0a * lisp/char-fold.el: Rename from character-fold.el.
44317 2016-05-26  Eli Zaretskii  <eliz@gnu.org>
44319         Avoid byte-compiler warnings due to 'declare-function'
44321         * lisp/w32-fns.el (set-message-beep, w32-get-locale-info)
44322         (w32-get-valid-locale-ids):
44323         * lisp/progmodes/js.el (ido-mode): Specify arglist in
44324         'declare-function' forms, to avoid byte-compiler warnings.
44326 2016-05-26  Glenn Morris  <rgm@gnu.org>
44328         * lisp/info.el (Info-default-directory-list): Don't check /share,info.
44330         No-one puts info pages there.  If /share does exist, it's likely to
44331         contain remote file systems where access could be slow.
44333 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44335         Merge from origin/emacs-25
44337         2d76405 etc/AUTHORS: Update the AUTHORS file
44339 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44341         Merge from origin/emacs-25
44343         06cb28f Fix bug#23462: Crash when iconifying frame on OS X.
44345 2016-05-26  Paul Eggert  <eggert@cs.ucla.edu>
44347         Merge from origin/emacs-25
44349         939eb75 Fix bug in default setting of 'ps-paper-type'
44351 2016-05-26  Glenn Morris  <rgm@gnu.org>
44353         * lisp/info.el (Info-default-directory-list): Remove obsolete suffixes.
44355 2016-05-26  Michael Albinus  <michael.albinus@gmx.de>
44357         Fix Bug#23614.
44359         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
44360         Let-bind `process-coding-system-alist' in order to suppress
44361         the value for "cmdproxy".
44363         * lisp/net/tramp.el (tramp-encoding-shell):
44364         `w32-shell-name' is a function.
44365         (tramp-encoding-command-switch)
44366         (tramp-encoding-command-interactive): Use `w32-shell-dos-semantics'.
44368         * test/lisp/net/tramp-tests.el (tramp-test24-file-name-completion):
44369         Suppress some tests on MS Windows.  (Bug#23614)
44371 2016-05-26  Stephen Berman  <stephen.berman@gmx.net>
44373         hl-line.el: Fix flickering of highlighted line (bug#23510)
44375         * lisp/hl-line.el (hl-line-maybe-unhighlight)
44376         (global-hl-line-highlight-all)
44377         (global-hl-line-maybe-unhighlight): New functions.
44378         (hl-line-overlay-buffer): New variable.
44379         (hl-line-mode): Use it.  Replace hl-line-unhighlight on
44380         pre-command-hook by hl-line-maybe-unhighlight on
44381         post-command-hook, to prevent hl-line from flickering.
44382         Adjust document string.
44383         (global-hl-line-mode): Use global-hl-line-highlight-all to
44384         simultaneously highlight the current line in all live windows.
44385         Replace global-hl-line-unhighlight on pre-command-hook by
44386         global-hl-line-maybe-unhighlight on post-command-hook, to
44387         prevent global-hl-line from flickering.  Remove
44388         global-hl-line-unhighlight from change-major-mode-hook on
44389         disabling the mode.  Adjust document string.
44391 2016-05-25  Stefan Monnier  <monnier@iro.umontreal.ca>
44393         Make autoloads populate a new definition-prefixes table
44395         * lisp/subr.el (definition-prefixes): New hash table.
44396         (register-definition-prefixes): New function.
44398         * lisp/emacs-lisp/autoload.el (autoload-compute-prefixes): New var.
44399         (autoload--split-prefixes-1, autoload--split-prefixes)
44400         (autoload--make-defs-autoload): New functions.
44401         (autoload-defs-autoload-max-size, autoload-popular-prefixes): New vars.
44402         (autoload-generate-file-autoloads): Obey autoload-compute-prefixes.
44403         (update-directory-autoloads): Don't touch loaddefs.el if the set of
44404         autoloads hasn't changed (i.e. if only the timestamp would change).
44406         * lisp/loadup.el: Purify definition-prefixes.
44408         * lisp/w32-fns.el: Keep name space clean.
44409         (w32-set-default-process-coding-system): Rename from
44410         set-default-process-coding-system.
44411         (w32-set-system-coding-system): Rename from set-w32-system-coding-system.
44413 2016-05-24  Ken Brown  <kbrown@cornell.edu>
44415         Allow network-stream-tests to work for out-of-tree builds
44417         * test/lisp/net/network-stream-tests.el
44418         (network-stream-tests--datadir): New defconst.
44419         (make-tls-server): Use it.
44421 2016-05-24  Ken Brown  <kbrown@cornell.edu>
44423         Fix failing echo-server-nowait test
44425         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
44426         Specify IPv4 for the client, to match the family of the server.
44427         (Bug#23606)
44429 2016-05-24  Ken Brown  <kbrown@cornell.edu>
44431         Allow shr-tests to work for out-of-tree builds
44433         * test/lisp/net/shr-tests.el (shr-tests--datadir): New defconst.
44434         (shr-test, rendering): Use it.
44436 2016-05-24  Ken Brown  <kbrown@cornell.edu>
44438         Update allowable arguments for open-network-stream
44440         * src/coding.c (Ffind_operation_coding_system): Allow t as a
44441         target for open-network-stream.  (Bug #23540)
44443 2016-05-24  Dmitry Gutov  <dgutov@yandex.ru>
44445         Make js-mode's syntax highlighting work again
44447         * lisp/progmodes/js.el (js-mode): Fix the assigned
44448         font-lock-defaults value (bug#23603).
44450 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
44452         * lisp/progmodes/cc-mode.el: Add minor comments
44454         (c-change-expand-fl-region): Mark args as unused.
44456 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
44458         * lisp/url/url-http.el: Use lexical-binding
44460         (url-http-simple-after-change-function): Use buffer-size rather than `nd'.
44461         (url-http-wait-for-headers-change-function): Remove unused var
44462         `content-length'.
44463         (url-http): Remove unused vars `host' and `port'.
44465 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
44467         * lisp/widget.el (define-widget): Use `declare' (which does work now).
44469         (widget-plist-member): Mark as obsolete.
44471 2016-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
44473         * lisp/image.el: Use lexical-binding
44475         (image-scaling-factor, imagemagick-types-inhibit)
44476         (imagemagick-enabled-types): Remove redundant :group.
44477         (image--get-image): Apply de-Morgan and use car-safe.
44478         (image-compute-scaling-factor): Use the argument.
44480 2016-05-23  Glenn Morris  <rgm@gnu.org>
44482         * lisp/image.el (image--get-image): Remove nonsensical code.
44484         * lisp/image.el (image--get-image): Avoid requiring a library for
44485         one trivial operation.
44487 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
44489         Don’t use only last protocol from getaddrinfo
44491         Problem reported by Ken Brown in:
44492         https://lists.gnu.org/r/emacs-devel/2016-05/msg00483.html
44493         * src/process.c (conv_addrinfo_to_lisp): New function.
44494         (connect_network_socket): Arg is now a list of addrinfos, not
44495         merely IP addresses.  All uses changed.  Use protocol from
44496         each addrinfo.
44497         (Fmake_network_process): Accumulate protocols into addrinfos
44498         rather than just using the last one found.
44499         (check_for_dns): Accumulate protocols here, too.
44500         * src/process.h (struct Lisp_Process): Remove ai_protocol;
44501         no longer needed.
44503 2016-05-23  Paul Eggert  <eggert@cs.ucla.edu>
44505         Fix seq requirement that broke bootstrap
44507         * lisp/image.el (image--get-image): Require seq here, not at the
44508         top level, to avoid ‘(require seq) while preparing to dump’ while
44509         bootstrapping.  Suggested by Tino Calancha in:
44510         https://lists.gnu.org/r/emacs-devel/2016-05/msg00477.html
44512 2016-05-22  Nicolas Petton  <nicolas@petton.fr>
44514         Add missing dependencies to seq.el
44516         * lisp/emacs-lisp/find-func.el:
44517         * lisp/ibuffer.el:
44518         * lisp/image.el: Require seq.
44520 2016-05-22  Alp Aker  <alp@food52.com>
44522         * src/process.c (SOCK_NONBLOCK): Fix typo.
44524 2016-05-22  Etienne Prud’homme  <e.e.f.prudhomme@gmail.com>
44526         Add completion of colors in CSS mode
44528         * lisp/textmodes/css-mode.el (css-value-class-alist): Add CSS colors
44529         from "CSS Color Module Level 3".
44531         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
44532         Update test.
44534 2016-05-21  Paul Eggert  <eggert@cs.ucla.edu>
44536         Prefer SOCK_NONBLOCK to O_NONBLOCK
44538         * src/process.c (SOCK_NONBLOCK): Define to 0 if not already defined.
44539         (connect_network_socket): Create the socket with SOCK_NONBLOCK, to
44540         avoid an fcntl with O_NONBLOCK if SOCK_NONBLOCK works.  Put the
44541         SOCK_DGRAM check a bit later, to keep the logic cleaner, as
44542         the order does not matter here.
44544 2016-05-21  Alan Third  <alan@idiocy.org>
44546         Fix bug#16856, cursor leaves garbage in fringe on OS X.
44548         * src/nsterm.m (ns_draw_window_cursor): Prevent the cursor from
44549         being drawn outside the text area.
44551 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
44553         Fix compiler warnings in the MinGW build
44555         * configure.ac [mingw32]: Don't add -Wpointer-sign, and add
44556         -Wno-pointer-sign, to keep the noise level down.
44558         * nt/mingw-cfg.site (gl_cv_warn_c__Wredundant_decls): Disable
44559         -Wredundant-decls, as that produces a lot of noise due to
44560         redeclaration of time-related functions by gnulib.
44561         * nt/runemacs.c (set_user_model_id): Fix argument type of
44562         'SetCurrentProcessExplicitAppUserModelID'.
44564         * src/image.c (x_create_bitmap_from_file) [HAVE_NTGUI]: Don't
44565         declare 'dpyinfo', as it is unused.
44566         (xpm_load): Fix warnings about pointer signedness.
44567         * src/w32proc.c (IsValidLocale, init_winsock): Remove redundant
44568         prototypes.
44569         (sys_spawnve): Avoid warnings about discarding 'const' qualifier.
44570         (sys_select): Provide prototype.
44571         (g_b_init_compare_string_w): Move declaration to file scope.
44572         * src/w32heap.c (dumped_data_commit): Now static.
44573         (FREEABLE_P): Avoid warnings about pointer comparison with integer.
44574         (mmap_realloc): Cast to 'char *' for arithmetics on void pointers.
44575         * src/w32console.c (ctrl_c_handler, sys_tputs, sys_tgetstr)
44576         (evalcost, cmputc, cmcheckmagic, cmcostinit, cmgoto, Wcm_clear):
44577         Provide prototypes.
44578         * src/w32.c (globals_of_w32, conv_sockaddr_to_lisp): Remove
44579         redundant prototypes.
44580         (w32_get_internal_run_time, map_w32_filename): Provide prototype.
44581         (init_environment, sys_ctime): Avoid warnings about discarding
44582         'const' qualifier.
44583         Include utimens.h.
44584         (sys_ctime, sys_chdir, sys_creat, sys_fopen, sys_mkdir)
44585         (sys_open, sys_rename, sys_rmdir, is_slow_fs, term_winsock)
44586         (sys_close, sys_dup2, sys_read, sys_write, sys_localtime): Provide
44587         prototypes.
44588         (sys_rename_replace): Use %d to avoid compiler warnings.
44589         (_wsa_errlist): Make the message text 'const char *', to avoid
44590         compilation warnings.
44591         (dynlib_reset_last_error): Move prototype to file scope.
44592         (w32_get_resource): First argument is now 'const char *'.
44593         * src/w32uniscribe.c (syms_of_w32uniscribe): Provide prototype.
44594         (otf_features): Second argument is no 'const char *'.
44595         * src/w32term.c (free_frame_menubar, x_wm_set_size_hint)
44596         (x_set_window_size): Remove redundant prototypes.
44597         (XChangeGC, XGetGCValues, w32_draw_underwave)
44598         (w32_draw_rectangle, w32_shift_glyphs_for_insert, x_mouse_leave)
44599         (x_calc_absolute_position, x_destroy_window): Now static.
44600         (menubar_selection_callback): Move prototype to file scope.
44601         * src/w32font.c (g_b_init_get_glyph_outline_w): Remove redundant
44602         declaration.
44603         (w32_to_x_charset): Fix warnings about discarding 'const' qualifier.
44604         (w32font_full_name): Fix warnings about implicit conversion of
44605         'float' to 'double'.
44606         * src/w32reg.c (w32_get_rdb_resource): Fix warnings about
44607         discarding 'const' qualifier.
44608         * src/w32menu.c (syms_of_w32menu, globals_of_w32menu)
44609         (set_frame_menubar): Remove redundant prototypes.
44610         (menubar_selection_callback, w32_menu_display_help): Provide
44611         prototypes.
44612         (simple_dialog_show): Avoid warnings about discarding 'const'
44613         qualifier.
44614         * src/w32fns.c (syms_of_w32fns, globals_of_w32fns)
44615         (free_frame_menubar, w32_strerror, x_set_menu_bar_lines)
44616         (x_set_tool_bar_lines, x_set_internal_border_width): Remove
44617         redundant prototypes.
44618         (current_popup_menu): Remove redundant declaration.
44619         (colormap_t): Member 'name' is now 'const char *'.
44620         (add_system_logical_colors_to_map): Fix signed/unsigned warnings.
44621         (x_decode_color, x_set_border_pixel)
44622         (x_clear_under_internal_border, x_set_name, hook_w32_key)
44623         (reset_w32_kbdhook_state, deliver_wm_chars, w32_backtrace): Now
44624         static.
44625         (w32_load_cursor, w32_key_to_modifier, map_keypad_keys)
44626         (w32_msg_worker, w32_last_error): Provide prototypes.
44627         (funhook, lookup_vk_code): Avoid warnings about missing
44628         parentheses.
44629         (x_default_font_parameter, Fw32_notification_notify): Avoid
44630         warnings about discarding 'const' qualifier.
44631         (Fx_create_frame): Avoid warnings about empty body of 'else'.
44632         (x_screen_planes): Ifdef away unused function.
44633         (Fx_show_tip): Remove unused variables.
44634         (Fw32_battery_status): Avoid warnings about implicit promotion
44635         from float to double.
44636         (Fw32_notification_notify): Initialize 'timeout'.
44637         * src/profiler.c (profiler_cpu_running) [HAVE_ITIMERSPEC]: Only
44638         define the TIMER_SETTIME_RUNNING value if it will be used.
44639         * src/w32notify.c (send_notifications): Ifdef away an empty if
44640         clause.  Remove unused variable.
44641         (watch_end, watch_completion): Provide prototypes.
44642         * src/sound.c (sound_warning) [WINDOWSNT]: Don't define: unused.
44643         * src/callproc.c (child_setup, getenv_internal_1) [WINDOWSNT]: Fix
44644         warning with pointer signedness.
44645         * src/gnutls.c (gnutls_x509_crt_get_signature)
44646         (gnutls_alert_send_appropriate) [WINDOWSNT]: Don't define, and
44647         don't load them from the GnuTLS library, as they are no longer
44648         used.
44649         * src/process.c (DATAGRAM_CHAN_P) [!DATAGRAM_SOCKETS]: Don't
44650         define, as it's unused.
44651         * src/unexw32.c (open_input_file, open_output_file)
44652         (close_file_data): Remove redundant prototypes.
44653         (_start): provide prototype.
44654         (mainCRTStartup): Move prototype to file level.
44655         (find_section): Use type-cast to shut up compiler warnings.
44656         (offset_to_section, relocate_offset): Now static.
44657         (find_section): First argument is now a 'const char *'.
44658         (offset_to_section): Ifdef away, as it's unused.
44659         * src/w32heap.h (find_section): Adjust prototype.
44660         * src/dynlib.c (dynlib_reset_last_error): Provide prototype.
44661         * src/dired.c (directory_files_internal_w32_unwind): Avoid
44662         warnings about missing prototypes.
44663         (is_slow_fs) [WINDOWSNT]: Provide prototype at file level.
44664         (directory_files_internal) [WINDOWSNT]: Fix warnings about pointer
44665         signedness.
44666         * src/fileio.c (Ffile_writable_p, Ffile_regular_p) [WINDOWSNT]:
44667         Fix warnings about pointer signedness.
44668         * src/filelock.c (WTMP_FILE) [WINDOWSNT]: Don't define, it's
44669         unused.
44670         * src/sysdep.c (_getpid): Remove redundant prototype.
44671         (sys_subshell) [DOS_NT]: Don't define 'status', it's unused.
44672         [!MSDOS]: Don't define 'st', it's unused.
44673         (init_sys_modes) [DOS_NT]: Don't define 'terminal', it's unused.
44674         (str_collate) [WINDOWSNT]: Avoid warnings about pointer signedness.
44675         * src/keyboard.c (tty_read_avail_input) [WINDOWSNT]: Don't define
44676         n_to_read, as it is not used.
44677         (MAX_ENCODED_BYTES) [WINDOWSNT]: Don't define, as it's unused.
44678         * src/w32font.h (syms_of_w32font): Remove redundant prototype.
44679         * src/xfaces.c (x_display_info) [HAVE_NTGUI]: Remove unused macro.
44680         * src/term.c (init_tty) [DOS_NT]: Ifdef away variables that are
44681         not used by DOS_NT builds, to avoid compiler warnings.
44682         * src/menu.c (current_popup_menu) [HAVE_NTGUI]: Remove redundant
44683         declaration.
44684         * src/dispnew.c (init_display) [WINDOWSNT]: Use type-cast to shut
44685         up compiler warnings.
44686         * src/w32term.h (x_set_window_size, x_get_focus_frame)
44687         (x_make_frame_visible, x_make_frame_invisible, x_iconify_frame)
44688         (x_set_frame_alpha, x_activate_menubar, x_bitmap_icon)
44689         (x_free_frame_resources, x_real_positions)
44690         (display_x_get_resource): Remove redundant prototypes.
44692         * lib-src/ntlib.c (sys_ctime, sys_fopen, sys_chdir, mkostemp)
44693         (sys_rename, gettimeofday): Provide prototypes.
44694         * lib-src/ntlib.h (getuid, geteuid, mkostemp): Remove redundant
44695         declarations.
44696         * lib-src/emacsclient.c (w32_getenv): Argument is now 'const char *'.
44697         (xstrdup, w32_get_resource, w32_window_app, w32_execvp, ttyname)
44698         (close_winsock, initialize_sockets, w32_set_user_model_id)
44699         (w32_find_emacs_process, w32_give_focus) [WINDOWSNT]: Add
44700         prototypes.
44701         (w32_get_resource) [WINDOWSNT]: Fix a warning about signedness
44702         difference.
44703         (w32_set_user_model_id): Update prototype of
44704         SetCurrentProcessExplicitAppUserModelID to avoid compiler
44705         warnings.
44706         (start_daemon_and_retry_set_socket) [WINDOWSNT]: Use type-cast to
44707         shut up compiler warnings.
44708         * lib-src/etags.c (MAXPATHLEN) [WINDOWSNT]: Remove unused macro.
44710 2016-05-21  Eli Zaretskii  <eliz@gnu.org>
44712         Fix 'vertical-motion' and 'posn-at-point' under 'visual-line-mode'
44714         * src/xdisp.c (move_it_in_display_line_to): Don't assume we can
44715         wrap on a whitespace character if it's followed by another
44716         whitespace character.  When returning under WORD_WRAP for a screen
44717         line that is continued, restore to wrap point when atpos/atx
44718         position would be displayed on the next screen line due to
44719         line-wrap.  (Bug#23570)
44721 2016-05-21  Puneeth Chaganti  <punchagan@muse-amuse.in>
44723         * lisp/svg.el (svg-create): Fix a typo: xmlsn -> xmlns.  (Bug#23589)
44725 2016-05-20  Andrew Hyatt  <ahyatt@gmail.com>
44727         Added tests for dos unibyte decoding.
44729         The underlying bug was previously fixed by Eli Zaretskii in commit
44730         c8109d9c4057d8cac79e2c139758cadd410e7446.
44732 2016-05-20  Philipp Stephani  <phst@google.com>
44734         Fix handling of ‘mouse-on-link-p’.
44736         If ‘mouse-on-link-p’ returns a string or vector, the first element
44737         is to be used as new event.  Translation to ‘mouse-2’ should only
44738         happen if the return value is not a string or vector.  See
44739         docstring of ‘mouse-on-link-p’ and Bug#23288.
44741         * lisp/mouse.el (mouse--down-1-maybe-follows-link): Process return
44742         value of ‘mouse-on-link-p’ according to documentation.
44744         * test/lisp/mouse-tests.el (bug23288-use-return-value)
44745         (bug23288-translate-to-mouse-2): Tests for Bug#23288.
44747 2016-05-20  Daiki Ueno  <ueno@gnu.org>
44749         epg: Add a way to detect gpg1 executable for tests
44751         Fixes bug#23561.
44753         * test/automated/epg-tests.el
44754         (epg-tests-program-alist-for-passphrase-callback): New
44755         constant.
44756         (epg-tests-find-usable-gpg-configuration): New function,
44757         renamed from `epg-tests-gpg-usable'.  All callers changed.
44758         (epg-tests-gpg-usable): Remove.
44760         * lisp/epg-config.el (epg-config--program-alist): Factor out
44761         constructor element to...
44762         (epg-config--configuration-constructor-alist): ...here.
44763         (epg-find-configuration): Rename FORCE argument to NO-CACHE,
44764         and add PROGRAM-ALIST argument.
44766 2016-05-19  Mark Oteiza  <mvoteiza@udel.edu>
44768         Put point at beginning of display-time-world buffer.
44770         If display-time-world decides to popup vertically from the bottom of the
44771         frame and scroll-margin is nonzero, the top of the buffer contents are
44772         hidden due to scroll.
44773         * lisp/time.el (display-time-world-display): Move point to point-min
44774         after inserting contents.
44776 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
44778         Allow null entries in face and image cache
44780         Problem reported by Tino Calancha (Bug#23580).
44781         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID):
44782         Don’t assume that the result is non-null.
44783         * src/xdisp.c (fill_image_glyph_string):
44784         Restore check that image pointer is non-null.
44786 2016-05-19  Paul Eggert  <eggert@cs.ucla.edu>
44788         Fix flyspell highlighting
44790         Problem reported by Jim Meyering (Bug#23575).
44791         * src/xdisp.c (extend_face_to_end_of_line):
44792         Fix typo in previous change.
44794 2016-05-18  Eli Zaretskii  <eliz@gnu.org>
44796         * lisp/server.el (server-name): Add autoload cookie.  (Bug#23576)
44798 2016-05-18  Sam Steingold  <sds@gnu.org>
44800         python-describe-at-point: add and bind
44802 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44804         ‘make check-declare’ now chatters less
44806         * etc/NEWS: Document this.
44807         * lisp/emacs-lisp/check-declare.el (check-declare-locate):
44808         Return relative names, not absolute.
44809         (check-declare-scan, check-declare-verify, check-declare-warn)
44810         (check-declare-file, check-declare-directory):
44811         Generate less chatter.  Use relative file names rather than
44812         absolute.  Don’t give up on computing a good file name for a
44813         diagnostic merely because the function name was bad.  Make
44814         malformed declarations more noticeable.  Don’t warn about
44815         "ext:..." declarations if check-declare-ext-errors is nil.
44816         (check-declare-errmsg): Remove.
44817         (check-declare-warn): New optional arg LINE.
44818         (check-declare-files): Put status into mode line rather than
44819         chattering.
44821 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44823         Pacify byte-compiler for byte-compile-macroexpand-declare-function
44825         * lisp/emacs-lisp/bytecomp.el: Change signature of
44826         byte-compile-macroexpand-declare-function to match that of
44827         declare-function.
44829 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44831         Pacify byte-compiler for with-wrapper-hook
44833         * lisp/subr.el (subr--with-wrapper-hook-no-warnings):
44834         New macro, split out from with-wrapper-hook.
44835         * lisp/abbrev.el (abbrev--default-expand):
44836         * lisp/minibuffer.el (completion--in-region):
44837         * lisp/simple.el (buffer-substring--filter):
44838         * lisp/subr.el (with-wrapper-hook):
44839         Use it.
44841 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44843         Pacify byte-compiler in lisp/url
44845         * lisp/url/url-misc.el, lisp/url/url-file.el (mm-disable-multibyte):
44846         Add decl.
44848 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44850         Port --enable-gcc-warnings to GCC 6.1
44852         * configure.ac (WERROR_CFLAGS): Omit -Wunused-const-variable=2.
44853         * lib-src/etags.c (LOOKING_AT, LOOKING_AT_NOCASE):
44854         Omit test whether pointer plus a constant equals a null pointer.
44855         * src/alloc.c (compact_small_strings):
44856         Avoid pointer arithmetic on null pointers.
44857         * src/alloc.c (mark_face_cache):
44858         * src/fontset.c (free_realized_fontsets, Fset_fontset_font):
44859         * src/fringe.c (draw_fringe_bitmap_1)
44860         (Fset_fringe_bitmap_face):
44861         * src/macfont.m (macfont_draw):
44862         * src/msdos.c (IT_set_face, IT_clear_screen):
44863         * src/nsfont.m (nsfont_draw):
44864         * src/nsterm.h (FRAME_DEFAULT_FACE):
44865         * src/nsterm.m (ns_draw_window_cursor)
44866         (ns_draw_vertical_window_border, ns_draw_window_divider)
44867         (ns_dumpglyphs_box_or_relief)
44868         (ns_maybe_dumpglyphs_background, ns_dumpglyphs_image)
44869         (ns_dumpglyphs_stretch):
44870         * src/w32term.c (w32_draw_vertical_window_border)
44871         (w32_draw_window_divider, x_set_mouse_face_gc):
44872         * src/xdisp.c (estimate_mode_line_height, init_iterator)
44873         (handle_face_prop, handle_single_display_spec, pop_it)
44874         (CHAR_COMPOSED_P, get_next_display_element)
44875         (next_element_from_display_vector, extend_face_to_end_of_line)
44876         (fill_gstring_glyph_string,BUILD_COMPOSITE_GLYPH_STRING):
44877         * src/xfaces.c (Finternal_merge_in_global_face, Fface_font)
44878         (lookup_named_face):
44879         * src/xterm.c (x_draw_vertical_window_border)
44880         (x_draw_window_divider, x_set_mouse_face_gc):
44881         Prefer FACE_OPT_FROM_ID to FACE_FROM_ID when the result might be null.
44882         * src/xterm.c (try_window_id):
44883         Redo loop to convince GCC 6.1 that it is null pointer safe.
44884         (x_color_cells):
44885         Use eassume as necessary to pacify GCC 6.1.
44886         * src/dispextern.h (FACE_FROM_ID, IMAGE_FROM_ID): Now returns non-null.
44887         (FACE_OPT_FROM_ID, IMAGE_OPT_FROM_ID): New macro, with the old
44888         behavior of the non-_OPT macro, to be used when the result
44889         might be a null pointer.
44890         * src/dispnew.c (buffer_posn_from_coords, marginal_area_string)
44891         [HAVE_WINDOW_SYSTEM]:
44892         * src/intervals.h (INTERVAL_WRITABLE_P):
44893         * src/term.c (turn_off_face):
44894         * src/xdisp.c (get_glyph_face_and_encoding, fill_image_glyph_string)
44895         (produce_image_glyph, produce_xwidget_glyph):
44896         * src/xfaces.c (lookup_named_face):
44897         Remove unnecessary test for null pointer.
44898         * src/keyboard.c (read_char): Suppress bogus -Wclobbered warning.
44899         * src/process.c (would_block): New function.
44900         (server_accept_connection, wait_reading_process_output, send_process):
44901         Use it.
44902         * src/xdisp.c (get_window_cursor_type, note_mouse_highlight):
44903         Prefer IMAGE_OPT_FROM_ID to IMAGE_FROM_ID when the result
44904         might be null.
44906 2016-05-18  Paul Eggert  <eggert@cs.ucla.edu>
44908         Sync from gnulib
44910         This incorporates:
44911         2016-05-17 manywarnings: update for GCC 6.1
44912         2016-05-13 intdiv0, memmem, nocrash, strcasestr, strstr: no exit
44913         * m4/manywarnings.m4, m4/nocrash.m4: Copy from gnulib.
44915 2016-05-16  Glenn Morris  <rgm@gnu.org>
44917         * lisp/emacs-lisp/ert.el (ert-summarize-tests-batch-and-exit):
44918         Include more details on hydra.
44920 2016-05-16  Alan Mackenzie  <acm@muc.de>
44922         Tidy up redundant code in cc-vars.el caused by mistake in emacs-25 -> master
44924 2016-05-16  Alan Mackenzie  <acm@muc.de>
44926         Fix spurious fontification of "for (; a * b;)" in CC Mode.
44928         This fixes bug #7918 (again).
44930         * lisp/progmodes/cc-engine.el (c-delq-from-dotted-list): New function.
44931         (c-forward-decl-or-cast-1): Return a 4 element list in place of the previous
44932         cons cell - additionally, return a flag indicating whether the declaration
44933         parsed might have been an expression, and the position of the type identifier
44934         in the said declaration.
44936         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): When
44937         c-forward-decl-or-cast-1 has indicated it might have parsed an expression,
44938         check for it being a spurious declaration in a "for" statement.
44940 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
44942         Pacify ‘make check-declare’
44944         * lisp/cedet/srecode/insert.el (data-debug-new-buffer)
44945         (data-debug-insert-stuff-list, data-debug-insert-thing):
44946         * lisp/emulation/viper-ex.el (viper-change-state-to-vi)
44947         (viper-change-state-to-emacs):
44948         * lisp/emulation/viper-macs.el (viper-change-state-to-vi):
44949         * lisp/org/ob-asymptote.el (orgtbl-to-generic):
44950         * lisp/org/ob-awk.el (orgtbl-to-generic):
44951         * lisp/org/ob-core.el (org-edit-src-code, orgtbl-to-generic):
44952         * lisp/org/ob-emacs-lisp.el (orgtbl-to-generic):
44953         * lisp/org/ob-exp.el (org-element-context):
44954         * lisp/org/ob-gnuplot.el (org-time-string-to-time)
44955         (orgtbl-to-generic):
44956         * lisp/org/ob-haskell.el (org-export-to-file):
44957         * lisp/org/ob-latex.el (org-create-formula-image)
44958         (org-latex-compile):
44959         * lisp/org/ob-python.el (run-python):
44960         * lisp/org/ob-sh.el (orgtbl-to-generic):
44961         * lisp/org/ob-tangle.el (org-link-escape, org-back-to-heading):
44962         * lisp/org/org-colview.el (org-agenda-redo):
44963         * lisp/org/org-feed.el (url-retrieve-synchronously):
44964         * lisp/org/org-info.el (Info-find-node):
44965         * lisp/org/org-list.el (org-previous-line-empty-p):
44966         * lisp/org/org-macs.el (org-string-match-p):
44967         * lisp/org/org.el (org-beamer-mode):
44968         Fix prototype to match current definition.
44969         * lisp/emacs-lisp/advice.el (function-called-at-point):
44970         * lisp/progmodes/prolog.el (compilation-shell-minor-mode):
44971         Fix typo: extra '.
44972         * lisp/emacs-lisp/cl-generic.el (cl-defmethod):
44973         Insert ,' to pacify check-declare.
44974         * lisp/org/ob-comint.el (tramp-flush-directory-property):
44975         * lisp/org/ob-tangle.el (org-babel-update-block-body):
44976         * lisp/org/org-bibtex.el (org-babel-trim):
44977         * lisp/org/org-pcomplete.el (org-export-backend-options):
44978         * lisp/org/org-protocol.el (org-publish-get-project-from-filename):
44979         Fix file name in declare-function.
44980         * lisp/org/ob-comint.el (with-parsed-tramp-file-name)
44981         * lisp/org/ob-core.el (with-parsed-tramp-file-name):
44982         * lisp/org/org.el (org-beamer-mode):
44983         * lisp/url/url-http.el (gnutls-negotiate):
44984         Append ‘t’ to declare-function, since the declaration isn’t a defun.
44985         * lisp/org/ob-core.el (show-all):
44986         Declare outline-show-all instead, since it is the
44987         non-obsolete version of this function.
44988         (org-save-outline-visibility): Remove; not needed.
44989         * lisp/org/ob-scheme.el (run-geiser, geiser-mode)
44990         (geiser-eval-region, geiser-repl-exit):
44991         * lisp/org/ox-org.el (htmlize-buffer):
44992         Prepend "ext:" to file name, since it is not part of Emacs.
44993         * lisp/org/ob-sh.el (org-babel-comint-in-buffer)
44994         * lisp/org/org-gnus.el (nnimap-group-overview-filename):
44995         Remove decl, since function was removed.
44996         * lisp/org/ob-sh.el (org-babel-comint-with-output):
44997         * lisp/org/org-macro.el (org-with-wide-buffer):
44998         Omit unnecessary (and mismatching) decl.
44999         * lisp/org/org-agenda.el (calendar-absolute-from-iso):
45000         * lisp/org/org-clock.el (calendar-iso-to-absolute):
45001         Declare calendar-iso-to-absolute instead, since it is the
45002         non-obsolete version of this function.
45003         * lisp/org/org-compat.el (w32-focus-frame):
45004         Remove decl, since function is now obsolete.
45006 2016-05-14  Lars Ingebrigtsen  <larsi@gnus.org>
45008         :max-width/height fixes for shr after the scaling changes
45010         * lisp/net/shr.el (shr-rescale-image): Ensure that we respect
45011         max-width and max-height even after the scaling changes done
45012         earlier this year.
45014 2016-05-14  Eli Zaretskii  <eliz@gnu.org>
45016         Fix reading minibuffer input in viper-mode
45018         * lisp/emulation/viper-cmd.el (viper-read-string-with-history):
45019         Restore an assignment to viper-initial that got lost when
45020         viper-cmd.el was switched to lexical-binding.  (Bug#23536)
45022 2016-05-14  Paul Eggert  <eggert@cs.ucla.edu>
45024         Port autogen.sh to Git 2.4
45026         Problem reported by Michael Brand in:
45027         https://lists.gnu.org/r/emacs-devel/2016-05/msg00367.html
45028         * autogen.sh (git_config): Don't assume that git rev-parse
45029         groks --git-common-dir.
45031 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
45033         Merge from origin/emacs-25
45035         6de0715 Properly reject malformed or empty package sigs
45036         edae7d9 Remove buggy non-native image scrolling
45038 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
45040         Improve display of tex-verbatim and Info quoted
45042         Problem reported by Glenn Morris (Bug#19889).
45043         * doc/emacs/display.texi (Standard Faces):
45044         * doc/lispref/display.texi (Basic Faces):
45045         * etc/NEWS: Mention fixed-pitch-serif.
45046         * lisp/faces.el (face-font-family-alternatives):
45047         New family alias Monospace Serif.
45048         (fixed-pitch-serif): New face, which uses the new family.
45049         * lisp/info.el (Info-quoted):
45050         * lisp/textmodes/tex-mode.el (tex-verbatim): Use the new face.
45051         * test/lisp/legacy/font-parse-tests.el (font-parse-tests--data):
45052         Add test case for Monospace Serif.
45054 2016-05-13  Stefan Monnier  <monnier@iro.umontreal.ca>
45056         * lisp/net/sieve-mode.el: Handle the text:... notation
45058         Get rid of redundant :group keywords.
45059         (sieve-mode-syntax-table): Move initialization into declaration.
45060         (sieve-syntax-propertize, sieve-syntax-propertize-text): New functions.
45061         (sieve-mode): Use them.
45063 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
45065         Tweak check-declare-directory performance
45067         * lisp/emacs-lisp/check-declare.el (check-declare-directory):
45068         Use ‘find ... -exec ... +’ for speed.
45070 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
45072         Sync from gnulib
45074         This incorporates a spelling fix, plus:
45075         2016-05-09 Fix undefined behaviour in gettext.h
45076         * lib/gettext.h, lib/mktime.c:
45077         Copy from gnulib.
45079 2016-05-13  Paul Eggert  <eggert@cs.ucla.edu>
45081         Merge from origin/emacs-25
45083         9c2a1a2 * doc/misc/texinfo.tex: Sync from gnulib.
45084         66cd4d8 * lisp/emacs-lisp/find-func.el (find-feature-regexp) (find-al...
45085         1a5a05c Do not mistake colon at the end of regexp for slash symbol
45086         4c5a00b Make package-install-from-buffer not move point
45087         9596ea1 ; Revert "* emacs-lisp/lisp-mnt.el (lm-header): save-excursion"
45088         f79c352 Redo the fix for bug#21839
45089         8d2f78c Don't treat JS spread as contination method call
45091 2016-05-12  Chris Feng  <chris.w.feng@gmail.com>
45093         Correct server/client address
45095         * src/process.c (Fmake_network_process): :local is for servers and :remote
45096         is for clients.
45098 2016-05-12  Ken Brown  <kbrown@cornell.edu>
45100         Autosave buffers on logout if HAVE_NTGUI
45102         * src/w32fns.c (w32_wnd_proc): Pass a WM_ENDSESSION message on to
45103         w32_read_socket.
45105         * src/w32term.c (w32_read_socket): Create an event of type
45106         END_SESSION_EVENT if a WM_ENDSESSION message is received.
45108         * src/termhooks.h [HAVE_NTGUI]: New event kind END_SESSION_EVENT.
45110         * src/keyboard.c [HAVE_NTGUI] (syms_of_keyboard): New symbol
45111         `end-session'.
45112         (kbd_buffer_get_event): Return an end-session event if an event of
45113         type END_SESSION_EVENT is read.
45114         (keys_of_keyboard): Bind the end-session event to kill-emacs in
45115         special-event-map.  (Bug#23483)
45117 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
45119         * lisp/cedet/semantic/{db-el,symref}.el: Mark unused vars
45121         * lisp/cedet/semantic/db-el.el: Use _ to mark unused vars.
45122         (object-print): Use cl-call-next-method instead of call-next-method.
45123         * lisp/cedet/semantic/symref.el: Use _ to mark unused vars.
45125 2016-05-12  Stefan Monnier  <monnier@iro.umontreal.ca>
45127         * lisp/cedet/semantic: Silence some warnings
45129         * lisp/cedet/semantic/db-el.el (emacs-lisp-mode)
45130         (semanticdb-get-database-tables): Use make-instance to silence warnings.
45132         * lisp/cedet/semantic/symref.el: Require semantic/find since we use
45133         some macros from there.  Silence compilation warnings:
45134         Replace initargs with slot names in oref/oset.
45135         Move `SYMREF TOOLS' section earlier so definitions precede their use.
45137 2016-05-12  Lars Ingebrigtsen  <larsi@gnus.org>
45139         Support srcset in <img>
45141         * lisp/net/shr.el (shr--preferred-image): Allow <img> tags
45142         with srcset specifiers (bug#23459).
45144 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
45146         Do not autoload some functions of tramp.el
45148         * lisp/net/tramp.el (tramp-completion-file-name-handler):
45149         Autoload a shortened version of this function, avoid recursive load.
45150         (tramp-completion-file-name-handler-alist)
45151         (tramp-completion-mode-p)
45152         (tramp-completion-handle-expand-file-name)
45153         (tramp-completion-handle-file-name-all-completions)
45154         (tramp-completion-handle-file-name-completion): Do not autoload.
45156 2016-05-12  Michael Albinus  <michael.albinus@gmx.de>
45158         Avoid recursive load of tramp.el
45160         * lisp/net/tramp.el (tramp-completion-file-name-handler):
45161         Autoload a shortened version of this function, avoid recursive load.
45163 2016-05-11  Michael Albinus  <michael.albinus@gmx.de>
45165         Fix a problem of tramp-tests on hydra.
45167         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
45168         Nullify `tramp-default-method' due to hydra.
45170 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
45172         Pacify byte-compiler in lisp/vc
45174         * lisp/vc/vc-bzr.el, lisp/vc/vc-cvs.el, lisp/vc/vc-hg.el:
45175         * lisp/vc/vc-rcs.el, lisp/vc/vc-src.el:
45176         Declare functions defined elsewhere, to forestall “might not
45177         be defined at runtime” warnings.
45179 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
45181         Merge from origin/emacs-25
45183         d0d9f55 Allow newlines inside cl function arglists
45184         963541a Publicize cl--generic-all-functions
45185         3c581d5 ; Fix typo
45186         e58f900 Add some "safe-local-variable" declarations for compatibility...
45188 2016-05-10  Paul Eggert  <eggert@cs.ucla.edu>
45190         'text-quoting-style' now affects only ` and '
45192         Change 'text-quoting-style' so that it no longer affects
45193         formatting of curved quotes in format arguments to functions like
45194         'message'.  In particular, when this variable's value is 'grave',
45195         all quotes in formats are output as-is.
45196         * doc/lispref/help.texi (Keys in Documentation):
45197         * doc/lispref/strings.texi (Formatting Strings):
45198         * doc/lispref/tips.texi (Documentation Tips):
45199         * etc/NEWS:
45200         * src/doc.c (syms_of_doc): Document this.
45201         * lisp/help-fns.el (describe-function-1):
45202         * src/doc.c (text_quoting_style, Fsubstitute_command_keys)
45203         (syms_of_doc):
45204         * src/editfns.c (styled_format): Omit now-unnecessary code.
45205         * src/lisp.h (LEAVE_QUOTING_STYLE): Remove.
45207 2016-05-10  Alan Mackenzie  <acm@muc.de>
45209         Revert "Fix spurious fontification of "for (; a * b;)" in CC Mode."
45211         This reverts commit 89d1776b81ab552192ee41f13ce84ff86bda4556.  It is
45212         being reverted because it slowed down CC Mode's fontification too much
45213         (factor ~3).  It was the fix to bug #7918.
45215 2016-05-09  Lars Ingebrigtsen  <larsi@gnus.org>
45217         Move "Recent messages" earlier in report-emacs-bug
45219         * lisp/mail/emacsbug.el (report-emacs-bug): Move the "Recent
45220         messages" part earlier so that users can see it and remove it
45221         if they want.
45223 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
45225         Pacify byte compiler in tramp.el
45227         * lisp/net/tramp.el (tramp-time-diff): Use `tramp-compat-funcall'.
45229 2016-05-09  Paul Eggert  <eggert@cs.ucla.edu>
45231         Merge from origin/emacs-25
45233         3b47898 Fix doc string in `insert'
45234         b479dea * doc/misc/emacs-mime.texi (time-date): Document now-builtins...
45235         cd27f73 Say 'All results processed' at the end
45236         4ffec91 Document automatic adjustment of process' logical window dime...
45237         dc66271 ; Fix typos and stylistic glitches in NEWS
45239 2016-05-09  Alan Mackenzie  <acm@muc.de>
45241         CC Mode now uses the new :after-hook feature of define-derived-mode
45243         It now runs internal variable setting functions after the mode hooks, no
45244         longer runs the mode hooks twice, and declares the configuration variables for
45245         noise macros and macros with semicolons as safe variables (when given suitable
45246         arguments).
45248         Fixes bug #16759 and bug #23476.
45250         * .dir-locals.el: Put the c-noise-macros-with-paren-names setting
45251         back into the C Mode value.
45253         * lisp/progmodes/cc-mode.el: (c-basic-common-init): Remove the call to
45254         c-make-macro-with-semi-re.
45255         (c-mode, c++-mode, objc-mode, java-mode, idl-mode, pike-mode, awk-mode): Move
45256         c-make-noise-macro-regexps and c-make-macro-with-semi-re (where appropriate)
45257         and c-update-modeline into the :after-hook form.  Remove the explicit settings
45258         of the syntax table, the abbreviation table and the local key map, since they
45259         duplicate forms generated by define-derived-mode.  Remove the explicit
45260         invocation of each mode's mode hook, since they duplicate ones generated by
45261         define-derived-mode.
45263         * lisp/progmodes/cc-vars.el: (c-string-list-p, c-string-or-string-list-p): New
45264         functions.
45265         (c-noise-macro-names, c-noise-macro-with-parens-names): give the
45266         save-local-variable property c-string-list-p.
45267         (c-macro-names-with-semicolon): give the save-local-variable property
45268         c-string-or-string-list-p.
45270         * doc/misc/cc-mode.texi: (Macros with ;, Noise Macros): Note that it's not
45271         necessary to call the regexp generating functions after setting the pertinent
45272         configuration values in a mode hook.
45274 2016-05-09  Dmitry Gutov  <dgutov@yandex.ru>
45276         Fix the jit-lock-fontify-now test names
45278         * test/lisp/jit-lock-tests.el
45279         (jit-lock-fontify-now-mends-the-gaps)
45280         (jit-lock-fontify-now-does-not-refontify-unnecessarily):
45281         Fix the test names.
45283 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
45285         Extend completion candidates in tramp.el
45287         * lisp/net/tramp.el (tramp-parse-default-user-host): New defun.
45288         (tramp-get-completion-function): Use it.
45290 2016-05-09  Michael Albinus  <michael.albinus@gmx.de>
45292         Revert e2f785991d0c696fbb2bc2f331f888d979b8da82 for tramp.el
45294         * lisp/net/tramp.el (tramp-time-diff): Revert previous change due to backwards
45295         compatibility.
45297 2016-05-08  Dmitry Gutov  <dgutov@yandex.ru>
45299         Emulate interactive mode
45301         * test/lisp/jit-lock-tests.el (jit-lock-tests--setup-buffer)
45302         (jit-lock-does-not-refontify-unnecessarily):
45303         Bind noninteractive to nil (bug#23278).
45305 2016-05-08  Paul Eggert  <eggert@cs.ucla.edu>
45307         Simplify now that float-time etc. are built-in
45309         This was prompted by warnings about calls to now-obsolete functions.
45310         * lisp/calendar/time-date.el (encode-time-value):
45311         Use setq rather than a recursive call, to avoid a warning
45312         about calling this obsolete function.
45313         * lisp/calendar/time-date.el (encode-time-value)
45314         (with-decoded-time-value, time-to-seconds, time-to-number-of-days):
45315         * lisp/erc/erc.el (erc-emacs-time-to-erc-time):
45316         * lisp/net/rcirc.el (rcirc-float-time):
45317         * lisp/org/org-compat.el (org-float-time):
45318         Simplify now that time-add and float-time are now built-in.
45319         * lisp/calendar/time-date.el (time-add, time-subtract, time-less-p):
45320         * lisp/net/newst-backend.el (time-add):
45321         * lisp/org/org.el (time-subtract):
45322         Remove backward-compatibility definitions; they are now built-in.
45323         * lisp/calendar/timeclock.el (timeclock-time-to-seconds)
45324         (timeclock-seconds-to-time):
45325         * lisp/net/rcirc.el (rcirc-float-time):
45326         * lisp/org/org-compat.el (org-float-time):
45327         Now obsolete, since callers can just use float-time and
45328         seconds-to-time.  All uses changed.
45329         * lisp/emacs-lisp/ert.el (ert-results-pop-to-timings):
45330         * lisp/gnus/gnus-art.el (article-lapsed-string):
45331         * lisp/gnus/gnus-diary.el (gnus-user-format-function-d):
45332         * lisp/gnus/gnus-group.el (gnus-group-timestamp-delta):
45333         * lisp/gnus/nndiary.el (nndiary-compute-reminders):
45334         * lisp/net/tramp.el (tramp-time-diff):
45335         * lisp/org/org-clock.el (org-clock-timestamps-change):
45336         Prefer the time-subtract builtin to the subtract-time alias.
45337         * lisp/files.el (dir-locals-find-file, dir-locals-read-from-dir):
45338         * test/lisp/character-fold-tests.el (character-fold--speed-test):
45339         Prefer the float-time builtin to the time-to-seconds alias.
45340         * lisp/org/org-agenda.el, lisp/org/org-clock.el, lisp/org/org-list.el:
45341         * lisp/org/org-timer.el, lisp/org/org.el:
45342         Adjust to org-float-time deprecation.
45344 2016-05-08  Alan Mackenzie  <acm@muc.de>
45346         Add :after-hook facility to define-derived-mode.
45348         This allow a form to be evaluated _after_ a major mode's hooks have been run.
45349         It is needed to solve some problems in CC Mode, including bug #16759 and
45350         bug #23476.
45352         * lisp/emacs-lisp/derived.el (define-derived-mode): introduce the new argument
45353         `:after-hook', and generate the requisite code for it.
45354         (derived-mode-make-docstring): Take account of the possibility of :after-hook.
45356         * lisp/subr.el (delayed-after-hook-forms): New variable.
45357         (run-mode-hooks): As the last thing evaluate the forms in
45358         delayed-after-hook-forms.
45360         * doc/lispref/modes.texi (Derived Modes): Document :after-hook.
45361         (Mode Hooks): Document the new feature in run-mode-hooks.
45363         * etc/NEWS: Note the new feature.
45365 2016-05-08  Michael Albinus  <michael.albinus@gmx.de>
45367         Fix recursive load of tramp.elc
45369         * lisp/net/tramp.el (tramp-completion-file-name-handler):
45370         Check also for `tramp-completion-mode-p'.
45371         (tramp-completion-mode, tramp-completion-mode-p): Autoload them.
45373 2016-05-07  Paul Eggert  <eggert@cs.ucla.edu>
45375         Prefer grep -E/-F to egrep/fgrep
45377         POSIX marked egrep and fgrep as legacy apps in SUSv2 (1997) and
45378         withdrew them in SUSv3 (2001), and these days grep -E and grep -F
45379         are probably more portable.
45380         * lib-src/etags.c (main):
45381         * lisp/eshell/em-unix.el (eshell-grep, eshell/egrep)
45382         (eshell/fgrep):
45383         * lisp/cedet/semantic/symref.el (semantic-symref-find-text):
45384         * lisp/eshell/esh-var.el (eshell-apply-indices):
45385         * lisp/progmodes/ada-xref.el (ada-xref-search-with-egrep)
45386         (ada-find-in-src-path):
45387         * lisp/textmodes/ispell.el (ispell-grep-command):
45388         (ispell-lookup-words):
45389         Use or document grep -E and grep -F instead of egrep and fgrep.
45390         * lisp/textmodes/ispell.el (ispell-grep-options):
45391         Use -Ei on all platforms, not just MS-Windows.
45393 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
45395         Avoid unnecessary work if a chunk is empty
45397         * lisp/jit-lock.el (jit-lock-fontify-now): Avoid unnecessary work
45398         if a chunk is empty (bug#23278).
45400 2016-05-07  Dmitry Gutov  <dgutov@yandex.ru>
45402         * test/lisp/jit-lock-tests.el: New file.
45404 2016-05-07  Michael Albinus  <michael.albinus@gmx.de>
45406         Continue to fix Bug#10085
45408         * lisp/net/tramp.el (tramp-completion-file-name-handler-alist)
45409         <expand-file-name>: Add handler.
45410         (tramp-completion-handle-expand-file-name): New defun.
45411         (tramp-handle-file-name-as-directory): Handle completion mode case.
45413         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
45414         Fix test.
45415         (tramp-test24-file-name-completion): Extend test.
45417 2016-05-07  Alan Mackenzie  <acm@muc.de>
45419         Revert change 8e4595a... due to annoyance it causes the development team.
45421         Change 8e4595a438fe85dd109756886cdeaeea2e665afb from 2016-04-30 17:28:24
45422         +0000 was an enhancement to .dir-locals to allow correct fontification
45423         of certain macro constructs.
45425         * .dir-locals.el: Remove the two forms for C Mode dealing with noise macros.
45427 2016-05-07  Alan Mackenzie  <acm@muc.de>
45429         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): Give it a version number.
45431 2016-05-07  Simen Heggestøyl  <simenheg@gmail.com>
45433         Add tests for CSS mode completion
45435         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values)
45436         (css-test-property-values-no-duplicates)
45437         (css-test-value-class-lookup): Use `seq-sort'.
45438         (css-mode-tests--completions): New helper function for retrieving CSS
45439         completions.
45440         (css-test-complete-bang-rule, scss-test-complete-bang-rule)
45441         (css-test-complete-property-value, css-test-complete-pseudo-class)
45442         (css-test-complete-pseudo-element, css-test-complete-at-rule)
45443         (scss-test-complete-at-rule, css-test-complete-property)
45444         (css-test-complete-selector, css-test-complete-nested-selector)
45445         (scss-test-complete-nested-selector): New tests.
45447 2016-05-06  Alan Mackenzie  <acm@muc.de>
45449         Add an option in Edebug to prevent pauses after `h', 'f', and `o'.
45451         Requested by Paul Pogonyshev.  Also add in documentation for Edebug config
45452         variables which was missing.
45454         * lisp/emacs-lisp/edebug.el (edebug-sit-on-break): New customizable option.
45455         (edebug--display-1): Test edebug-sit-on-break before pausing 1 second.
45457         * doc/lispref/edebug.texi (Jumping): Document the effect of the new option.
45458         (Edebug Options): Document the new option.  Also add documentation for
45459         edebug-eval-macro-args, edebug-print-length, edebug-print-level,
45460         edebug-print-circle, edebug-sit-for-seconds.
45462         * etc/NEWS: Note the new feature.
45464 2016-05-07  Jorgen Schaefer  <contact@jorgenschaefer.de>
45466         scheme.el: Turn literal tabs into \t
45468         * lisp/progmodes/scheme.el: The last change to turn tabs into spaces
45469         also caught some literal tabs in character classes. Fix this by
45470         adding \t to those classes.
45472 2016-05-07  Tino Calancha  <f92capac@gmail.com>
45474         Make 'backtab' work in table-mode on text terminals
45476         * lisp/textmodes/table.el (table-cell-bindings): Bind 'backtab'
45477         explicitly.  (Bug#23456)
45479 2016-05-07  Eli Zaretskii  <eliz@gnu.org>
45481         Try to speed-up display of many all-blank lines
45483         * src/bidi.c (bidi_initialize): Use anchored regexps for
45484         paragraph start and paragraph separator sequences.  (Bug#23457)
45486 2016-05-06  Alan Mackenzie  <acm@muc.de>
45488         Correct hack-local-variables change from Thu May 5 11:05:49 2016 +0000
45490         Prevent hack-local-variables being called from the fundamental-mode mode call
45491         early in normal-mode.  This fixes bug #23460 and bug #23463.
45493         * lisp/files.el (normal-mode) Replace call to fundamental-mode with calls to
45494         the things it calls, with the exception of hack-local-variables.
45496         * etc/NEWS: Add an entry to note the calling of hack-local-variables at each
45497         major mode initialization.
45499 2016-05-06  Paul Eggert  <eggert@cs.ucla.edu>
45501         Port xref-tests to master branch
45503         Also, add a test to make this problem less likely in the future.
45504         * test/Makefile.in (check-no-automated-subdir): New rule.
45505         (check, check-expensive, check-maybe): Depend on it.
45506         * test/automated/data/xref/file1.txt: Rename to ...
45507         * test/data/xref/file1.txt: ... here.
45508         * test/automated/data/xref/file2.txt: Rename to ...
45509         * test/data/xref/file2.txt: ... here.
45510         * test/automated/xref-tests.el: Rename to ...
45511         * test/lisp/progmodes/xref-tests.el: ... here.
45512         (xref-tests-data-dir): Use EMACS_TEST_DIRECTORY.
45514 2016-05-05  Paul Eggert  <eggert@cs.ucla.edu>
45516         Merge from origin/emacs-25
45518         50650cb Doc fixes for fclist and grep
45519         5e814e0 Minor doc fixes for quoting
45520         3347a73 `nreverse' the marker pairs list
45521         1a4127d Use save-excursion in xref-location-marker more
45522         ab3ba91 shell-quote-argument DIR when appropriate
45523         922c7a3 Rework xref-query-replace-in-results
45524         3fe3510 * lisp/replace.el (query-replace-read-from): Use minibuffer-w...
45525         0932b94 Fix todo-mode bug involving archived items (bug#23447)
45526         e68ad1f ; * etc/NEWS: Tiny edit. (Bug#23432)
45527         adc80b7 ; * test/automated/xref-tests.el: Add copyright and license.
45528         4d8fd9c Handle "empty line" regexp in xref searches
45529         f559b37 Add tests for xref-collect-matches
45530         6428aa0 Use grep-find-ignored-directories instead of vc-directory-exc...
45531         6f82d8e Clear buffer-undo-list when showing xrefs
45532         c68a091 Note the quote translation in `message' in section "incompati...
45533         52f86a7 * etc/NEWS: Mention (message "%s" (format ...)).
45534         93703c5 (Common Keywords): Correct what missing :group means
45535         79e5800 Improve documentation of Dired's 'A' and 'Q' commands
45536         2ea2a2f Doc fixes for quoting
45537         8544b98 posnp doc clarification
45538         805204f Mention what a missing :group does
45539         ec554d7 Fix documentation of dired-aux search/replace commands
45541 2016-05-05  Simen Heggestøyl  <simenheg@gmail.com>
45543         Support completion of HTML tags in CSS selectors
45545         * lisp/textmodes/css-mode.el (css--html-tags): New variable holding a
45546         list of HTML tags for completion.
45547         (css--nested-selectors-allowed): New variable for determining whether
45548         nested selectors are allowed in the current mode.
45549         (css--complete-selector): New function for completing part of a CSS
45550         selector.
45551         (css-completion-at-point): Support completion of selectors.
45552         (scss-mode): Allow nested selectors.
45554 2016-05-05  Lars Ingebrigtsen  <larsi@gnus.org>
45556         Make `R' in eww work more reliably
45558         * lisp/net/eww.el (eww-score-readability): Protect against
45559         null children.
45561 2016-05-05  Alan Mackenzie  <acm@muc.de>
45563         Call hack-local-variables from major modes rather than from file visiting
45565         This prevents file/directory local variables from being lost when the major
45566         mode is set or changed.
45568         This fixes bug #15577 and bug #23407.
45570         * lisp/files.el (normal-mode): Call `hack-local-variables' when the major mode
45571         function hasn't already done so.
45572         (hack-local-variables): Rename parameter `mode-only' to `handle-mode', make
45573         its previous non-nil setting be t, and introduce the following action for a
45574         non-nil non-t value: apply all settings apart from `mode'.
45576         * lisp/subr.el (run-mode-hooks): call `hack-local-variables' for buffers
45577         which are visiting files.
45579         * doc/emacs/custom.texi (File Variables): Note that setting a major mode also
45580         sets file variables.
45581         (Directory Variables): Note that `mode', `eval', and `unibyte' can be set as
45582         dir local variables, but `coding' can't.
45584         * doc/lispref/modes.texi (Major Mode Conventions): Say that `run-mode-hooks'
45585         also calls `hack-local-variables'.
45586         (Auto Major Mode): Say that `find-file' no longer runs `hack-local-variables',
45587         as from 25.2.  Remove vagueness from `normal-mode' and `set-auto-mode' by
45588         saying that the mode IS SET, not merely "selected" or "chosen".
45589         (Mode Hooks): Document change to `run-mode-hooks'.
45591         * doc/lispref/variables.texi (File Local Variables): Document change to
45592         `hack-local-variables'.
45594 2016-05-05  Michael Albinus  <michael.albinus@gmx.de>
45596         tramp-sh.el: Work around a stat bug
45598         * lisp/net/tramp-sh.el (tramp-get-remote-stat): Do not use
45599         stat versions which produce shell quoted output.  See also
45600         coreutils Bug#23422.
45602 2016-05-04  Noam Postavsky  <npostavs@gmail.com>
45604         Fix autogen.sh for separate worktrees
45606         * autogen.sh: Use the $hooks variable in the $sample_hooks loop, instead
45607         of assuming .git/hooks is a directory.
45609 2016-05-04  Alan Mackenzie  <acm@muc.de>
45611         Allow `text-quoting-style' to be `leave', i.e. no translation of quotes.
45613         * lisp/help-fns.el (describe-function-1): Don't set coding system to UTF-8
45614         when text-quoting-style is `leave'.
45616         * src/lisp.h (enum text_quoting_style): Add identifier LEAVE_QUOTING_STYLE.
45618         * src/doc.c (syms_of_doc): New symbol "leave".  Amend doc string of
45619         `text_quoting_style'.
45620         (text_quoting_style): Handle `leave' by returning LEAVE_QUOTING_STYLE.
45621         (Fsubstitute_command_keys): Don't translate quotes when quoting_style is
45622         LEAVE_QUOTING_STYLE.
45624         * src/editfns.c (styled_format): Set quoting_style to -1 when
45625         text-quoting-style is `leave'.
45627 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
45629         * lisp/emulation/viper.el:
45630         * lisp/emulation/viper-cmd.el: Use lexical-binding.
45631         (viper-change-state-to-vi, viper-change-state-to-emacs): Allow dummy
45632         args, for use in advice-add.
45633         (viper--init-message): Rename from init-message.
45634         (viper-minibuffer-standard-hook): Adjust accordingly.
45635         (viper-undo): Remove unused var `modified'.
45636         (viper-read-string-with-history, viper-set-searchstyle-toggling-macros):
45637         Don't use dynamic vars as args.
45638         (viper-submit-report): Clarify use of dynamic vars.
45640         * lisp/emulation/viper.el: Use lexical-binding and nadvice.
45641         Remove redundant :group keywords.  Group the (if viper-mode) at top-level.
45642         Use add-function rather than a `(lambda ...).
45643         (viper--advice-list): New var.
45644         (viper--advice-add, viper--deactivate-advice-list): New funs.
45645         (viper-go-away, viper-set-hooks, viper-non-hook-settings): Use them.
45646         (viper-non-hook-settings): Don't hook into find-file any more.
45648 2016-05-04  Stefan Monnier  <monnier@iro.umontreal.ca>
45650         * lisp/vc/ediff-util.el: Use lexical-binding.
45652         * lisp/progmodes/js.el (js-syntax-propertize): Recognize shebang line.
45654 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
45656         Add an animation sanity check
45658         * lisp/image.el (image-multi-frame-p): Give up on animations
45659         if it seems like they are too slow (bug#23431).
45661 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
45663         abbrev-tests.el fix
45665         * test/lisp/abbrev-tests.el (abbrev-table-p-test): Don't check
45666         internal implementation detail.
45668 2016-05-03  Lars Ingebrigtsen  <larsi@gnus.org>
45670         (shr-rescale-image): Clarify logic slightly
45672         * lisp/net/shr.el (shr-rescale-image): Clarify logic slightly.
45674 2016-05-02  Martin Rudalics  <rudalics@gmx.at>
45676         Bind `widget-button-click' to mouse-1/-2 instead of down-mouse-1/-2
45678         * lisp/wid-edit.el (widget-keymap): Bind `widget-button-click'
45679         to mouse-1/-2 instead of down-mouse-1/-2.  Suggested by Stefan
45680         Monnier.  (Bug#19185, Bug#20398)
45682 2016-05-02  Lee Bochicchio  <lboc.home@gmail.com>
45684         Add more abbrev tests
45686         * test/lisp/abbrev-tests.el
45687         (clear-abbrev-table-test): Use `abbrev-expansion'
45688         (abbrev-table-empty-p-test, list-abbrevs-test)
45689         (prepare-abbrev-list-buffer-test, insert-abbrevs-test)
45690         (edit-abbrevs-test, define-abbrevs-test)
45691         (read-write-abbrev-file-test)
45692         (abbrev-edit-save-to-file-test): New tests (bug#23139).
45694 2016-05-02  Philipp Stephani  <p.stephani2@gmail.com>  (tiny change)
45696         Allow eval-ing named character literals
45698         * lisp/progmodes/elisp-mode.el (elisp--preceding-sexp): Skip over
45699         named character literals.
45700         * test/lisp/progmodes/elisp-mode-tests.el
45701         (elisp--preceding-sexp--char-name): Add test for skipping over
45702         named character literals (bug#23354).
45704 2016-05-02  Aaron Conole  <aconole@redhat.com>
45706         Call va_end in boot_error
45708         * src/gnutls.c (boot_error): A recent change added a function
45709         to signal an error or return an error code. That function uses
45710         a variadic argument list to populate an error message
45711         string. However, it missed calling va_end after using the
45712         variadic argument list.
45714           Copyright-paperwork-exempt: yes
45716 2016-05-02  Aaron Conole  <aconole@bytheb.org>
45718         Fix the call to set_network_coding_system
45720         * src/process.c (Fmake_network_process): A recent commit
45721         modified the set_network_socket_coding_system function to take
45722         arguments host, service, and name. However, those arguments
45723         appear to be swapped.
45725           Copyright-paperwork-exempt: yes
45727 2016-05-02  Lars Ingebrigtsen  <larsi@gnus.org>
45729         Revert "alas, a map can have only one parent"
45731         This reverts commit d05806fda1cbba2db112bc783597fbe9d27175b2.
45733         This had already been fixed by using `make-composed-map'.  And
45734         we don't want image-map to inherit from special-mode-map, anyway.
45736 2016-05-02  Paul Eggert  <eggert@cs.ucla.edu>
45738         Merge from origin/emacs-25
45740         bf21c84 Fix quoting problem in cc-engine debug message
45741         8f36614 Add electric-quote-string unit test
45742         6280531 Don’t electrically quote ‘'’ in Python
45743         fd7b430 `nreverse' Grep hits before passing them to xref--convert-hits
45745 2016-05-02  Sam Steingold  <sds@gnu.org>
45747         alas, a map can have only one parent
45749         * lisp/image-mode.el (image-model-map): Cannot have two parents.
45750         * lisp/image.el (image-map): Inherit from `special-mode-map'.
45752 2016-05-02  Michael Albinus  <michael.albinus@gmx.de>
45754         Fix Bug#10085
45756         * lisp/net/tramp.el (tramp-find-foreign-file-name-handler):
45757         Add optional arguments OPERATION and COMPETION.  Handle
45758         `file-name-as-directory', `file-name-directory' and
45759         `file-name-nondirectory' also in completion mode.
45760         (tramp-file-name-handler): Use it.  (Bug#10085)
45762         * test/lisp/net/tramp-tests.el (tramp-test06-directory-file-name):
45763         Extend test.
45765 2016-05-01  Martin Rudalics  <rudalics@gmx.at>
45767         * src/minibuf.c (read_minibuf): Use CONSP instead of Fconsp.
45769 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45771         Tweak .gitignore
45773         * .gitignore: Remove leim/changed.misc, leim/changed.tit,
45774         as these files are no longer created.  Add gmon.out, for
45775         -pg profiling.  Sort.
45777 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45779         Sync from gnulib
45781         This incorporates:
45782         2016-05-01 mktime: port to stricter signed overflow checking
45783         2016-05-01 mktime: speed up DEBUG_MKTIME benchmarks
45784         2016-05-01 mktime: resurrect DEBUG_MKTIME testing
45785         2016-05-01 mktime: simplify DEBUG_MKTIME
45786         2016-05-01 Port mktime_internal offset to unsigned time_t
45787         2016-04-27 xstrtol: prohibit monstrosities like "1bB"
45788         2016-04-13 mktime: improve integer overflow checking
45789         2016-04-13 intprops: check two's complement assumption
45790         2016-04-13 intprops, mktime, strtol: assume two's complement
45791         * lib/intprops.h, lib/mktime-internal.h, lib/mktime.c:
45792         * lib/strtol.c, lib/timegm.c, m4/mktime.m4, m4/std-gnu11.m4:
45793         Copy from gnulib.
45795 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45797         Merge from origin/emacs-25
45799         c695fb3 ; Spelling fixes
45800         03750c0 * doc/misc/texinfo.tex: Sync from gnulib.
45801         42fed3b * lisp/isearch.el (isearch-forward-symbol-at-point): Add isea...
45803 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45805         Merge from origin/emacs-25
45807         d8affa3 Use ‘T *restrict’ proto, not ‘T[restrict]’
45808         d38d2a8 Fix documentation of 'url-retrieve-synchronously'
45809         586b213 * lisp/url/url.el (url-retrieve-synchronously): Doc fix.  (Bu...
45811         # Conflicts:
45812         #       doc/misc/url.texi
45813         #       lisp/url/url.el
45815 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45817         Merge from origin/emacs-25
45819         16e5e8e Fix last change to isearch-update (bug#23406)
45820         b755d98 Autoload cursor-sensor-inhibit (bug#23406)
45821         b52ebd4 org-map-entries: Fix org-agenda-prepare-buffers call
45822         86aa409 Followup for last commit in the user manual
45823         7004459 Improve doc string of 'set-goal-column'
45824         ccdaf04 Fix the MSDOS build
45825         ffe701c Remove \= from format string (bug#18190)
45826         1c58fa1 Fix variable-pitch font on MS-Windows
45827         c6077bf Restore follow-scroll-up/down to scrolling by the combined si...
45828         b671e21 Revert unneeded change which harms syntactic parsing.  This f...
45829         48b24c9 Correct indentation of ids in a C++ enum after a protection k...
45830         5c3534f * lisp/window.el (window--process-window-list): No-op if no p...
45831         734fb3a Port dumping to NetBSD with PaX
45832         0255a70 Don't mistake `for' inside a function for a part of array com...
45834         # Conflicts:
45835         #       src/Makefile.in
45837 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45839         Merge from origin/emacs-25
45841         71fb0e0 Improve last change to vc-git-mode-line-string
45842         6858e77 Todo mode doc bug fix
45843         e55d0db Fix revision calculation in vc-git-mode-line-string
45844         ca87b34 ; Fix errant revert ccb75d7
45845         40bfebe Add Python 3.5 keyword "await"
45846         fa7886a Add new keywords of Python 3.5
45847         ccb75d7 Partially revert previous change.
45848         8ee168a ; * etc/NEWS: Update entry about color fonts on OS X with a w...
45849         b09ca27 Say why text-quoting-style is not a user option
45851 2016-05-01  Paul Eggert  <eggert@cs.ucla.edu>
45853         Merge from origin/emacs-25
45855         5a952eb Don't mention ~/.emacs.bmk literally in doc strings
45856         c338cf3 * etc/NEWS: Explain why multicolor font display is disabled o...
45857         c30d1b4 Port to Ubuntu 16.04 --enable-gcc-warnings
45859 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
45861         Mention the `find-library-name' changes
45863 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
45865         Fix text in menu in minor-mode-menu-from-indicator
45867         * lisp/mouse.el (minor-mode-menu-from-indicator): Don't
45868         capitalize "Off" in "Turn Off" (bug#11028).
45870 2016-05-01  David Engster  <deng@randomsample.de>
45872         gitmerge: Add cherry pick to gitmerge-skip-regexp
45874         * admin/gitmerge.el (gitmerge-skip-regexp): Add "cherry picked
45875         from commit", which is the string appended by 'git cherry-pick
45876         -x'.
45878 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
45880         Allow `global-set-key' to bind keys under the `M-o' map
45882         * lisp/subr.el (global-set-key): Allow binding keys under the
45883         `M-o' map (bug#9730).
45885 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
45887         Add `size-indication-mode' to the menu on `mouse-1' "Top"
45889         * lisp/bindings.el (mode-line-column-line-number-mode-map):
45890         Add `size-indication-mode' to the menu (bug#5727).
45892 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
45894         Allow finding libraries loaded manually outside the load-path
45896         * lisp/emacs-lisp/find-func.el (find-library--from-load-path):
45897         New function to find a library from a load path (bug#5661).
45898         (find-library-name): Use it.
45900         There are so many combinations of inputs and possibly entries in
45901         `load-history' that the code looks like an entry in a code obfuscation
45902         contest.  If anybody has a better implementation, please substitute.
45904         But remember that the input given may be foo, foo.el, foo.elc, and the
45905         entries in load-history may be foo.el, foo.elc and foo.el.gz, and we
45906         want to return only foo.el and foo.el.gz.  *phew*
45908 2016-05-01  Lars Ingebrigtsen  <larsi@gnus.org>
45910         Allow minibuffer prompts to use faces
45912         * doc/lispref/minibuf.texi (Text from Minibuffer): Document
45913         `minibuffer-prompt-properties' and explain how faces work in
45914         the minibuffer prompt.
45916         * src/minibuf.c (read_minibuf): If `face' is in
45917         `minibuffer-prompt-properties', apply it to the end of the
45918         face list to allow users to have their own faces on the
45919         prompts (bug#16136).
45921 2016-05-01  Peter Feigl  <peter.feigl@nexoid.at>  (tiny change)
45923         Add R7RS syntax forms to scheme.el
45925         * lisp/progmodes/scheme.el (scheme-font-lock-keywords-2): Add
45926         a number of special forms introduced in R7RS-small.
45927         * lisp/progmodes/scheme.el (scheme-indent-function): Same.
45929 2016-05-01  Alan Third  <alan@idiocy.org>
45931         Implement horizontal scroll bars on NS
45933         * lisp/scroll-bar.el (horizontal-scroll-bars-available-p): Remove NS
45934         check.
45935         * lisp/term/ns-win.el: Remove custom NS scroll-bar handlers and bind
45936         scroll-bar mouse clicks to standard handlers.
45937         * src/nsterm.h (EmacsScroller): Add 'horizontal' property and rename
45938         pixel_height to pixel_length.
45939         * src/nsterm.m (x_set_window_size): Remove left-hand scroll-bar code. It
45940         caused scroll-bars to be over-drawn and the best working solution
45941         appears to be complete removal.
45942         (ns_set_horizontal_scroll_bar): Rewrite to handle horizontal scrollers
45943         correctly.
45944         (ns_set_vertical_scroll_bar): Set width to actual scroller width.
45945         (setFrame): Handle horizontal case.
45946         (dealloc): Handle horizontal case.
45947         (judge): Handle horizontal case.
45948         (setPosition): Rename pixel_height to pixel_length.
45949         (sendScrollEventAtLoc): Handle horizontal case.
45950         (mouseDown): Handle horizontal case and general tidy up of code.
45951         (mouseDragged): Handle horizontal case. Call sendScrollEventAtLoc with
45952         absolute pixel size instead of ratio.
45953         * src/window.h: Remove NS check.
45955 2016-05-01  Michael Albinus  <michael.albinus@gmx.de>
45957         tramp.texi: Revert last change due to backward compatibility
45959 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
45961         Fix the buffer-count patch (Bug#23394)
45963         * src/buffer.c (Fgenerate_new_buffer_name): Increment count just
45964         once each time through the loop.  Reported by Lars Ingebrigtsen in:
45965         https://lists.gnu.org/r/emacs-devel/2016-04/msg00918.html
45967 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
45969         cua-prefix-override-inhibit-delay doc fix
45971         * lisp/emulation/cua-base.el
45972         (cua-prefix-override-inhibit-delay): Typo fix in doc string
45973         (bug#23401).
45975 2016-04-30  Paul Eggert  <eggert@cs.ucla.edu>
45977         Fix generate-new-buffer-name increment typo
45979         Problem reported by Chaitanya Koparkar (Bug#23394).
45980         * src/buffer.c (Fgenerate_new_buffer_name): Increment count when
45981         generating a new buffer.  This fixes a typo I introduced in
45982         2014-04-05T00:04:58Z!eggert@cs.ucla.edu.
45984 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
45986         global-eldoc-mode doc fix
45988         * lisp/emacs-lisp/eldoc.el (global-eldoc-mode): Be more
45989         specific about what "applicable" means (bug#23071).
45991 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
45993         Make the legend in describe-categories a link
45995         * lisp/help-fns.el (describe-categories): Make the "see
45996         bottom" text a link (bug#22227).
45998 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46000         normal-top-level-add-subdirs-to-load-path doc fix
46002         * lisp/startup.el (normal-top-level-add-subdirs-to-load-path):
46003         Doc fix (bug#21962).
46005 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46007         isearch-search-fun-function doc tweak
46009         * lisp/isearch.el (isearch-search-fun-function): Mention what
46010         the STRING parameter is (bug#21552).
46012 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46014         Fill some imenu--index-alist doc lines
46016         * lisp/imenu.el (imenu--index-alist): Fill some doc lines (bug#21269).
46018 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46020         Make describe-variable look up the variable in the current buffer
46022         * lisp/help-fns.el (describe-variable): Get the variable
46023         definition in the buffer we were called from (in case it only
46024         exists there) (bug#21252).
46026 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46028         Fmarker_position doc string clarification
46030         * src/marker.c (Fmarker_position): Clarify the doc string
46031         (bug#21231).
46033 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46035         Further define-obsolete-* doc fixups
46037         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
46038         Fix up last change.
46039         (define-obsolete-variable-alias): Ditto.
46041 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46043         Describe WHEN in all the define-obsolete- macros
46045         * lisp/emacs-lisp/byte-run.el (define-obsolete-face-alias):
46046         Say more verbosely what WHEN is (bug#21225).
46047         (define-obsolete-function-alias): Describe the WHEN parameter.
46048         (define-obsolete-variable-alias): Ditto.
46050 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46052         Mention with-silent-modifications in the lispref manual
46054         * doc/lispref/text.texi (Changing Properties): Document
46055         with-silent-modifications (bug#21171).
46057 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46059         with-silent-modifications doc clarification
46061         * lisp/subr.el (with-silent-modifications): Rearrange the doc
46062         string a bit so that the most pertinent information is at the
46063         top (bug#21171).
46065 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46067         clear-visited-file-modtime doc string fix
46069         * lisp/files.el (clear-visited-file-modtime): Fix possibly
46070         confusing doc string wording (bug#21169).
46072 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46074         Document mode mode line variables
46076         * doc/lispref/modes.texi (Mode Line Variables): Document
46077         `mode-line-front-space, `mode-line-misc-info',
46078         `mode-line-end-spaces' (bug#21014).
46080 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46082         Add a cross ref to Optional Mode Line
46084         * doc/lispref/modes.texi (Mode Line Variables): Add a cross
46085         reference to the Emacs mode line node that explains things
46086         like `display-time-string' (bug#21002).
46088 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46090         Add a doc string to display-time-string
46092         * lisp/time.el: Add a doc string to `display-time-string',
46093         because it's referred to in the manual, and is too mysterious
46094         otherwise (bug#21002).
46096 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46098         custom-buffer-style doc fix
46100         * lisp/cus-edit.el (custom-buffer-style): Document the `tree'
46101         value (bug#20724).
46103 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46105         Document how to check for ImageMagick support
46107         * doc/lispref/display.texi (ImageMagick Images): Say how to
46108         check for ImageMagick support, which isn't quite obvious
46109         (bug#20702).
46111 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46113         Minor doc fix for ImageMagick/SVG builds
46115         * doc/lispref/display.texi (SVG Images): Don't imply that you
46116         have to build Emacs yourself (bug#20702).
46117         (ImageMagick Images): Ditto.
46119 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46121         Rearrange the doc of query-replace slightly
46123         * lisp/replace.el (query-replace): Move the mention of the
46124         interactive prefix arg earlier so that users can find it
46125         (bug#20654).
46127 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46129         apropos-print doc fix
46131         * lisp/apropos.el (apropos-print): Document the undocumented
46132         parameters (bug#20520).
46134 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46136         completion-table-with-predicate doc string fix
46138         * lisp/minibuffer.el (completion-table-with-predicate): t ->
46139         non-nil in the doc string (bug#20460).
46141 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46143         Fill the completion-table-with-predicate doc string
46145         * lisp/minibuffer.el (completion-table-with-predicate): Fill
46146         the doc string (bug#20460).
46148 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46150         replace-match-maybe-edit doc clarification
46152         * lisp/replace.el (replace-match-maybe-edit): Say what
46153         MATCH-DATA is (bug#20304).
46155 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46157         add-timeout doc fix
46159         * lisp/emacs-lisp/timer.el (add-timeout): Mention the return
46160         value (bug#20181).
46162 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46164         Extremely minor doc fix in Choosing Window
46166         * doc/lispref/windows.texi (Choosing Window): There's only one
46167         action alist, I think (bug#20158).
46169 2016-04-30  Alan Mackenzie  <acm@muc.de>
46171         * .dir-locals.el: Amend for correct fontification of *.[ch]
46172         containing "IF_LINT"
46174 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46176         Transform mentions of `eval-after-load' to `with-eval-after-load'
46178         * doc/lispref/loading.texi (Hooks for Loading): Update text to
46179         not mention `eval-after-load' (bug#20038).
46181 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46183         cursor-type doc fix
46185         * src/buffer.c (syms_of_buffer): Mention that cursor-type's
46186         WIDHT/HEIGHT can't exceed the frame char size (bug#19215).
46188 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46190         Add a link from Tool Bar to Images
46192         * doc/lispref/keymaps.texi (Tool Bar): Add a link to the
46193         Images node (bug#19722).
46195 2016-04-30  Alan Mackenzie  <acm@muc.de>
46197         CC Mode: Recognize a noise macro with parens after a declarator's identifier
46199         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): In the while loop
46200         following comment "Skip over type decl suffix operators." insert code also
46201         to check for noise macros with parentheses.
46203 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46205         (default-mode-line-format): More explicit obsolete info
46207         * lisp/subr.el (default-mode-line-format): Be more explicit in
46208         how default values are now handled (bug#19424).
46210 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46212         Fcompare_buffer_substrings doc string clarification
46214         * src/editfns.c (Fcompare_buffer_substrings): Extremely minor
46215         doc string clarification (bug#19255).
46217 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46219         insert-file-contents-literally doc fix
46221         * lisp/files.el (insert-file-contents-literally): Say that the
46222         parameters are explained in the other function (bug#18317).
46224 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46226         Fix custom types for cursor-in-non-selected-windows
46228         * lisp/cus-start.el (standard): Use the same custom types for
46229         cursor-in-non-selected-windows as for cursor-type (bug#19214).
46231 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46233         Doc clarification to mwheel-scroll
46235         * lisp/mwheel.el (mwheel-scroll): Mention that the restriction
46236         does not apply to Windows (bug#19209).
46238 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46240         Clarify the doc of eval-expression-print-format
46242         * lisp/simple.el (eval-expression-print-format): Doc
46243         clarification (bug#19114).
46245 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46247         (extended-command-suggest-shorter): Add a version string
46249         * lisp/simple.el (extended-command-suggest-shorter): Add a
46250         version string.
46252 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46254         Document extended-command-suggest-shorter
46256         * doc/emacs/m-x.texi (M-x): Mention
46257         extended-command-suggest-shorter (bug#19152).
46259 2016-04-30  Ivan Shmakov  <ivan@siamics.net>
46261         Add a variable to control "shorter command" suggestions
46263         * lisp/simple.el (extended-command-suggest-shorter): New variable (bug#19152).
46264         (execute-extended-command): Use it.
46266 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46268         Explictly explain that package-initialize loads the packages
46270         * lisp/emacs-lisp/package.el (package-initialize): Be explicit
46271         in saying that `package-initialize' obviates adjusting the
46272         path or requiring the packages, as this is a question that
46273         apparently comes up now and then (bug#18829).
46275 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46277         Have the doc strings of `load-path' and `require' mention each other
46279         * src/fns.c (Frequire): Mention `load-path' and fill the doc
46280         string (bug#18829).
46282         * src/lread.c (syms_of_lread): Mention that `require' uses
46283         `load-path'.
46285 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46287         Doc fix for insert-pair-alist
46289         * lisp/emacs-lisp/lisp.el (insert-pair-alist): Say what
46290         COMMAND-CHAR is (bug#18809).
46292 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46294         Move doc of backup-directory-alist to the Backup node
46296         * doc/emacs/files.texi (Backup): Move the documentation of
46297         `backup-directory-alist' here from the "Single or Numbered
46298         Backups" node, because it doesn't seem to have much to do with
46299         numbering (bug#18692).
46301 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46303         Tiny doc clarification for create-fontset-from-fontset-spec
46305         * lisp/international/fontset.el (create-fontset-from-fontset-spec):
46306         Clarify what the optional part is (bug#18686).
46308 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46310         Fill the doc string of font-lock-keywords
46312         * lisp/font-lock.el (font-lock-keywords): Fill the lines and
46313         reorganize some explanations (bug#21427).
46315 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46317         Doc fix for font-lock-remove-keywords
46319         * lisp/font-lock.el (font-lock-remove-keywords): Add a link to
46320         `font-lock-add-keywords' to describe KEYWORDS (bug#18634).
46322 2016-04-30  Lars Ingebrigtsen  <larsi@gnus.org>
46324         Clarify whitespace-style doc string
46326         * lisp/whitespace.el (whitespace-style): Doc clarification
46327         (bug#18296).
46329 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46331         No need to test for jka-compr
46333         * lisp/vc/ediff-util.el (ediff-file-compressed-p): jka-compr
46334         is always available; no need to test (bug#18204).
46336 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46338         Doc fixed for next-error-buffer-p
46340         * lisp/simple.el (next-error-buffer-p): Clarify doc string
46341         (bug#18202).
46343 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46345         Tiny doc fix
46347         * src/fileio.c (Ffile_accessible_directory_p): Tiny doc fix
46348         (and fill) (bug#18201).
46350 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46352         Doc fix
46354         * src/keymap.c (Fdefine_prefix_command): Clarify doc string
46355         slightly (bug#18092).
46357 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46359         delsel doc touch ups
46361         * lisp/delsel.el (delete-selection-helper): Use non-nil
46362         instead of t and clarify function return values (bug#18089).
46364 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46366         Doc fixes for menu-bar.el
46368         * lisp/menu-bar.el (clipboard-kill-ring-save): Describe the
46369         REGION parameter (bug#18028).
46370         (clipboard-kill-region): Ditto.
46372 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46374         Doc fix
46376         * lisp/rect.el (delete-whitespace-rectangle): Doc fix (bug#18026).
46378 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46380         Minor doc clarification
46382         * lisp/subr.el (y-or-n-p): Document the return value from "n"
46383         (bug#18024).
46385 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46387         Fill font-lock-mode doc string
46389         * lisp/font-core.el (font-lock-mode): Fill the text to make it
46390         narrower (bug#18008).
46392 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46394         Wrap the auto-generated doc string
46396         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Wrap a
46397         string to make it less likely that we get overlong lines
46398         (bug#17999).
46400 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46402         Clarify hi-lock-find-patterns
46404         * lisp/hi-lock.el (hi-lock-find-patterns): Doc clarification
46405         (bug#17989).
46407 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46409         Warning fix in jit-lock-mode
46411         * lisp/jit-lock.el (jit-lock-mode): Don't issue a warning when
46412         turning the mode on in an indirect buffer, if this somehow has
46413         happened (bug#17738).
46415 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46417         Add a doc string to `winner-mode'
46419         * lisp/winner.el (winner-mode): Add a doc string based on the
46420         comments in the file (bug#17716).
46422 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46424         Doc fix for align-newline-and-indent
46426         * lisp/align.el (align-newline-and-indent): Mention that
46427         alignment is done by `align' (bug#17707).
46429 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46431         Cancel the eldoc timer when switching off eldoc mode
46433         * lisp/emacs-lisp/eldoc.el (eldoc-mode): Cancel the eldoc
46434         timer when switching off eldoc mode.  It will be restarted
46435         again if needed (bug#17582).
46437 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46439         Doc fix for `kbd'
46441         * lisp/subr.el (kbd): Describe more fully the format of the
46442         parameter (bug#17039).
46444 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46446         Add a sanity check to apropos-documentation-internal
46448         * lisp/apropos.el (apropos-documentation-internal): Add a
46449         sanity check to be less fragile in the presence of invalid
46450         data (bug#16725).
46452 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46454         Doc tweak
46456         * lisp/simple.el (use-empty-active-region): Doc tweak.
46457         There's only one region (bug#16513).
46459 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46461         Clarify `read-face-name' doc and tweak the code
46463         * lisp/faces.el (read-face-name): Clarify the documentation
46464         and allow a mix of faces and faces names in all cases
46465         (bug#16483).
46467 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46469         Remove ": ?" from the read-face-name prompt
46471         * lisp/faces.el (read-face-name): Remove ": ?" from the prompt
46472         to be more backwards compatible (bug#15909).
46474 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46476         Link from (emacs)Exiting to (lisp)Killing Emacs
46478         * doc/emacs/entering.texi (Exiting): Link to the lispref
46479         manual for further customizations (bug#15445).
46481 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46483         find-lisp doc touchups
46485         * lisp/find-lisp.el (find-lisp-format): Copy over the doc
46486         string (bug#15047).
46487         (find-lisp-find-files): Clarify doc.
46489 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46491         Don't have the manual claim that it lists all CL incompatibilities
46493         * doc/misc/cl.texi (Common Lisp Compatibility): The list of
46494         incompatibilities isn't exhaustive, so don't say that it is
46495         (bug#15171).
46497 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46499         Fix call of `kmacro-display'
46501         * lisp/kmacro.el (kmacro-view-ring-2nd): Fix call of
46502         `kmacro-display' (bug#15020).
46504 2016-04-29  Lars Ingebrigtsen  <larsi@gnus.org>
46506         Change all occurrences of "Mouse-[0-9]" to "mouse-[0-9]"
46508         * doc/emacs/*.texi: Change all occurrences of "Mouse-[0-9]" to
46509         "mouse-[0-9]".  These are case sensitive, and the keys are lower case
46510         (bug#14554).
46512 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46514         Rename "Directory Search" menu to "Servers"
46516         * lisp/menu-bar.el (menu-bar-tools-menu): Rename "Directory
46517         Search" to "Directory Servers".  Suggested by Eli
46518         Zaretskii. (bug#14919).
46520         * lisp/net/eudc.el: Rename ditto throughout.
46522 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46524         Remove uses of the unused to-end parameter from simple.el
46526         * lisp/simple.el (line-move-partial): Remove usages of the
46527         unused to-end parameter, and make it optional (bug#14844).
46528         (line-move): Remove use of the unused to-end parameter.
46530 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46532         Doc fix: _ chars are automatically removed.
46534         * lisp/cus-edit.el (custom-buffer-create): _ chars are
46535         automatically removed when displaying help, so fix the last
46536         doc change.
46537         (custom-buffer-create-other-window): Ditto.
46539 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46541         Doc string change to enable-recursive-minibuffers
46543         * src/minibuf.c (syms_of_minibuf): Mention
46544         minibuffer-depth-indicator-mode in the doc string to
46545         enable-recursive-minibuffers (bug#14147).
46547 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46549         Fix definition of nobreak-space
46551         * lisp/faces.el (nobreak-space): The definition to
46552         nobreak-space was inadvertantly changed by the previous checkin.
46554 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46556         Clarify the `interactive' doc string slightly
46558         * src/callint.c (Finteractive): Clarify the doc string slightly
46559           (bug#14577).
46561 2016-04-28  Drew Adams  <drew.adams@oracle.com>
46563         Make icomplete respect `completion-ignored-extensions'
46565         * lisp/icomplete.el (icomplete-completions): Heed
46566         `completion-ignored-extensions' (bug#12939).
46568 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46570         Make ibuffer not break on newline-embedded buffer names
46572         * lisp/ibuffer.el (name): When buffer names contain newlines,
46573         quote those newlines before displaying (bug#12378).
46575 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46577         Add a new face for non-breaking hyphen characters
46579         * doc/emacs/display.texi (Standard Faces): Mention nobreak-hyphen.
46580         (Text Display): Ditto.
46582         * lisp/faces.el (nobreak-hyphen): New face (bug#12048).
46584         * src/xdisp.c (get_next_display_element): Use it instead of
46585         the escape-glyph face.
46587         * src/xdisp.c (syms_of_xdisp): New symbil Qnobreak_hyphen.
46589 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46591         Make a menu less ambiguous
46593         * doc/emacs/custom.texi (Key Bindings): The Modifier Keys node
46594         is about using modifier keys, not binding them (bug#10942).
46596 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46598         Make kill-emacs-query-functions into defcustom
46600         * lisp/files.el (save-buffers-kill-terminal): Mention
46601         `save-buffers-kill-emacs' (bug#10794).
46602         (kill-emacs-query-functions): Made into a defcustom.
46604 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46606         Have describe-variable output multi-line values better
46608         * lisp/help-fns.el (describe-variable): When printing
46609         multi-line expressions, display them prettier (bug#10723).
46611 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46613         Clean up custom-buffer-create code slightly
46615         * lisp/cus-edit.el (custom-buffer-create-other-window): Don't
46616         pass the unused description value on (for clarity) (bug#10540).
46617         (custom-buffer-create): Ditto
46619 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46621         Clarify some doc strings
46623         * lisp/emacs-lisp/syntax.el (syntax-propertize-via-font-lock):
46624         Clarify doc string (bug#8693).
46625         (syntax-propertize): Clarify doc string.
46627 2016-04-28  Nicolas Richard  <theonewiththeevillook@yahoo.fr>
46629         Fix number-at-point in lisp buffers
46631         * lisp/thingatpt.el (number-at-point): Don't say that things
46632         like ?a are numbers in lisp mode buffers (bug#8634).
46634 2016-04-28  Lars Ingebrigtsen  <larsi@gnus.org>
46636         Don't consider colons to be paragraphs starting chars in strings
46638         * lisp/emacs-lisp/lisp-mode.el (lisp-fill-paragraph): Don't
46639         consider colons to start paragraphs in (doc) strings
46640         (bug#7751).
46642 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
46644         Make `undo' of `C-x r t' put point where it should be
46646         * lisp/rect.el (string-rectangle): Make `undo' of a this
46647         command put point back where it was (bug#7522).
46649 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
46651         Add some concept index entries for custom types
46653         * doc/lispref/customize.texi (Composite Types): Add concept
46654         index entries for restricted-sexp, radio and choice (bug#7385).
46656 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
46658         Mention `lisp-indent-function' in the lispref manual
46660         * doc/lispref/macros.texi (Indenting Macros): Mention
46661         `lisp-indent-function' (bug#3393).
46663 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
46665         Clarify doc string of internal compilation function
46667         * lisp/progmodes/compile.el (compilation-get-file-structure):
46668         Clarify doc string (bug#3137).
46670 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
46672         Avoid having `C-x h' mark the prompt part of the minibuffer
46674         * lisp/simple.el (mark-whole-buffer): Don't mark the prompt
46675         part of the minibuffer (bug#2589).
46677 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
46679         Allow a prefix argument to find-library to pop to a different window
46681         * lisp/emacs-lisp/find-func.el (find-library): Allow a prefix
46682         argument to pop to a different window (bug#2270).
46684 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
46686         Move the diff command to "Operate" in ibuffer
46688         * lisp/ibuffer.el (ibuffer-mode-operate-map): Move the diff
46689         command to the "Operate" menu, and remove the customization
46690         entry to make the "View" menu more logical (bug#1150).
46692 2016-04-27  Lars Ingebrigtsen  <larsi@gnus.org>
46694         Make the minor modes in help buffers into buttons
46696         * lisp/help.el (describe-mode): Make the minor modes into
46697         buttons to enable easier documentation traversal (bug#1149).
46699 2016-04-27  Jorgen Schaefer  <contact@jorgenschaefer.de>
46701         Add a number of Python 3 exceptions
46703         * lisp/progmodes/python.el (python-font-lock-keywords): Clean up
46704         the exception list, adding a number of new Python 3 exceptions and
46705         moving some exceptions to the Python 2 and 3 list as Python 2.7
46706         includes them.
46708 2016-04-26  Anders Lindgren  <andlind@gmail.com>
46710         Fix bug#22891: wrong terminal width when a fringe width is zero.
46712         When either fringe width is zero, Emacs reserved one column for a
46713         continuation glyph. Terminal windows does not take this into
46714         account when the frame is resized.
46716         * lisp/window.el (window-adjust-process-window-size): Use
46717         `window-max-chars-per-line' instead of `window-body-width'.
46718         * lisp/term.el (term-window-width): Remove function. (It does the
46719         same as `window-max-chars-per-line' but without recent bug fixes.)
46720         (term-mode): Use `window-max-chars-per-line' instead of
46721         `term-window-width'.
46723 2016-04-26  Simen Heggestøyl  <simenheg@gmail.com>
46725         Add completion of `calc()' in CSS mode
46727         * lisp/textmodes/css-mode.el (css-value-class-alist): Add `calc()' as
46728         a completion candidate for several value classes.
46729         (css--value-class-lookup): Return only unique results.
46731         * test/lisp/textmodes/css-mode-tests.el
46732         (css-test-property-values-no-duplicates)
46733         (css-test-value-class-lookup): Update to reflect the above changes.
46735 2016-04-26  Paul Eggert  <eggert@cs.ucla.edu>
46737         Fix socketd fd startup bug that I introduced
46739         Problem reported by Matthew Leach in:
46740         https://lists.gnu.org/r/emacs-devel/2016-04/msg00778.html
46741         * src/emacs.c (main): Indicate more clearly the coupling between
46742         the --daemon option and init_process_emacs.
46743         * src/lisp.h: Adjust to API changes.
46744         * src/process.c (set_external_socket_descriptor):
46745         Remove, replacing by ...
46746         (init_process_emacs): ... passing the socket FD here instead.
46747         All uses changed.
46749 2016-04-25  Tao Fang  <fangtao0901@gmail.com>
46751         Fix: (void-variable url-http-response-status)
46753         * lisp/url/url-http.el
46754         (url-https-proxy-after-change-function): Display the error
46755         message before doing the callback to avoid a void variable
46756         situation (bug#23290).
46758 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46760         smtpmail would say it's done before it is
46762         * lisp/mail/smtpmail.el (smtpmail-via-smtp): Move the sending
46763         of the data end marker from here... (bug#23020).
46764         (smtpmail-send-data): ... to here, so that we don't get a
46765         "Sending done" before we've sent the final "." (which can make
46766         the SMPT server reject the email.
46768 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46770         `url-retrieve-synchronously' now takes an optional timeout parameter
46772         * doc/misc/url.texi (Retrieving URLs): Document optional parameters.
46774         * lisp/url/url.el (url-retrieve-synchronously): Allow passing
46775         in a timeout parameter (bug#22940).
46777 2016-04-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46779         Include "Retype" as a comint password prompt
46781         * lisp/comint.el (comint-password-prompt-regexp): Include
46782         "Retype" to catch "Retype password for [account]:" from the
46783         "pass" utility (bug#22942).
46785 2016-04-25  Alan Mackenzie  <acm@muc.de>
46787         Fix spurious fontification of "for (; a * b;)" in CC Mode.
46789         * lisp/progmodes/cc-fonts.el (c-font-lock-declarations): Check for being
46790         inside the parens of a for statement and after a semicolon near the beginning
46791         of the lambda form.
46793 2016-04-25  Paul Eggert  <eggert@cs.ucla.edu>
46795         New function ‘char-from-name’
46797         This also fixes the mishandling of "\N{CJK COMPATIBILITY
46798         IDEOGRAPH-F900}", "\N{VARIATION SELECTOR-1}", etc.
46799         Problem reported by Eli Zaretskii in:
46800         https://lists.gnu.org/r/emacs-devel/2016-04/msg00614.html
46801         * doc/lispref/nonascii.texi (Character Codes), etc/NEWS: Document this.
46802         * lisp/international/mule-cmds.el (char-from-name): New function.
46803         (read-char-by-name): Use it.  Document that "BED" is treated as
46804         a name, not as a hexadecimal number.  Reject out-of-range integers,
46805         floating-point numbers, and strings with trailing junk.
46806         * src/lread.c (character_name_to_code): Call char-from-name
46807         instead of inspecting ucs-names directly, so that we handle
46808         computed names like "VARIATION SELECTOR-1".  Do not use an auto
46809         string, since char-from-name might GC.
46810         * test/src/lread-tests.el: Add tests for new behavior, and
46811         fix some old tests that were wrong.
46813 2016-04-25  Alan Mackenzie  <acm@muc.de>
46815         c-forward-<>-arglist no longer directly applies face properties in Java Mode.
46817         This allows the calling of c-restore-<>-properties from c-common-init without
46818         the test suite giving spurious errors.
46820         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist): Remove the form that
46821         sets face properties.
46822         (c-forward-<>-arglist-recur): Reformulate the bit that handles types inside
46823         template brackets using c-inside-<>-type-key.  Don't bind
46824         c-record-type-identifiers or c-record-found-types around the recursive call,
46825         allowing positions of found types to flow back to the caller.
46827         * lisp/progmodes/cc-langs.el (c-inside-<>-type-kwds, c-inside-<>-type-key):
46828         new lang consts/var.
46830         * lisp/progmodes/cc-mode.el (c-common-init): Don't remove
46831         c-restore-<>-properties from the list of functions called at mode
46832         initialization.
46834 2016-04-25  Jun Hao  <jun_hao@aol.com>
46836         Pass in port only if provided by caller in the OS X keychain
46838         * lisp/auth-source.el (auth-source-macos-keychain-search): Pass in
46839         port only if provided (bug#23374).
46841 2016-04-25  Alan Mackenzie  <acm@muc.de>
46843         Add fontification for a C declaration which looks like a function call.
46845         For example, "t1 *fn (t2 *b);".
46847         * lisp/progmodes/cc-engine.el (c-forward-decl-or-cast-1): Add new variable
46848         at-decl-start, setting it to whether the putative decl starts immediately
46849         after ; or { or }.  Accept such a construct as a decl when at-decl-start is
46850         non-nil.
46852         * lisp/progmodes/cc-langs.el (c-pre-start-tokens): New language variable.
46854 2016-04-25  Eli Zaretskii  <eliz@gnu.org>
46856         Don't mirror slashes in convert-standard-filename on MS-Windows
46858         * lisp/w32-fns.el (w32-convert-standard-filename): Don't mirror
46859         slashes into backslashes.  This avoids producing ugly file names,
46860         and is deemed no longer necessary, and should certainly be
46861         unrelated to which shell is in use.
46863 2016-04-24  Dmitry Gutov  <dgutov@yandex.ru>
46865         Revert the disputed VC change and update the tests
46867         * lisp/vc/vc-hooks.el (vc-working-revision):
46868         Remove the previous change.
46869         (vc-state): Same.  And update the old, incorrect comment about
46870         unregistered files
46871         (https://lists.gnu.org/r/emacs-devel/2016-04/msg00526.html).
46873         * test/lisp/vc/vc-tests.el (vc-test--state): Remove the check
46874         calling `vc-state' on default-directory (VC state is undefined
46875         for directories).  Check that `vc-state' returns nil where it
46876         returned `unregistered' before.  Remove all checks comparing
46877         invocations with the backend passed in explictly and without.
46878         (vc-test--working-revision): Remove all checks comparing
46879         invocations with the backend passed in explictly and without.
46880         Update comments, and add a new one.
46882 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
46884         * etc/NEWS: Grammar and punctuation improvements.
46886 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
46888         Merge from origin/emacs-25
46890         9daf1cf * etc/NEWS: Improve wording of vc-git-log-output-coding-syste...
46891         0cd2e92 Don't kill ~/ if it's the top level directory
46892         4f40f5f describe-char: fix insert char documentation
46893         87ee542 (vc-git-mode-line-string): Don't use `replace-regexp-in-string'
46895 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
46897         Merge from origin/emacs-25
46899         960f90d * etc/AUTHORS: Update the AUTHORS file
46900         b21e9d4 * admin/update_autogen: Use #!/usr/bin/env bash
46902 2016-04-24  Paul Eggert  <eggert@cs.ucla.edu>
46904         Merge from origin/emacs-25
46906         78f9af7 ; ChangeLog fixes
46907         162e549 * admin/authors.el (authors-ignored-files): Additions.
46908         2b31a0c In x_set_window_size restore do_pending_window_change calls
46909         401857e Fix Alt-modified keys on some European MS-Windows keyboards
46910         a77cf24 Document 'help-go-forward'
46911         1ba947f Revert "Allow to customize names of executables used by grep.el"
46912         570e0fa Revert "Don't use 'find-program'"
46913         645f4ef Revert "Use 'grep-find-program' in check-declare.el"
46914         aa03257 Clarify documentation of 'dired-mark-files-containing-regexp'
46915         ce0d8c7 Make tmm-menubar work in correct order again
46916         b8d5a8f Remove the Meta-CVS VC backend
46918 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
46920         Don't let `css--property-values' return duplicates
46922         * lisp/textmodes/css-mode.el (css--property-values): Don't return
46923         duplicate values.
46925         * test/lisp/textmodes/css-mode-tests.el (css-test-property-values):
46926         Take the above into account.
46927         (css-test-property-values-no-duplicates): Test that duplicates aren't
46928         returned by `css--property-values'.
46930 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46932         Call `make-composed-keymap' correctly
46934         * lisp/image-mode.el (image-mode-map): Call
46935         `make-composed-keymap' correctly.
46937 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46939         Use `make-composed-keymap' instead of copying the keymap
46941         * lisp/image-mode.el (image-mode-map): Use
46942         `make-composed-keymap' instead of copying the keymap.
46944 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46946         Make `q' etc work in image mode again
46948         * lisp/image-mode.el (image-mode-map): Restore
46949         special-mode-map as the parent keymap of image-mode-map (bug#23167).
46951 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46953         Fix typo in last url.texi checkin
46955 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46957         Make STARTTLS error messages better
46959         * lisp/net/network-stream.el (network-stream-open-starttls):
46960         Output a better error message when TLS negotiation fails while
46961         doing STARTTLS (bug#23027).
46963 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46965         Encode the shr tests files with trailing white space
46967 2016-04-24  Simen Heggestøyl  <simenheg@gmail.com>
46969         Cache results of `css--property-values'
46971         * lisp/textmodes/css-mode.el (css--property-values): Cache computed
46972         values.
46974         * test/lisp/textmodes/css-mode-tests.el (css-test-property-value-cache):
46975         New regression test for the above.
46977 2016-04-24  Michael Albinus  <michael.albinus@gmx.de>
46979         Some improvements in vc
46981         * lisp/vc/vc-hooks.el (vc-state, vc-working-revision):
46982         Check, whether FILE is registered.
46984         * lisp/vc/vc-rcs.el (vc-rcs-checkout-model): Return `locking'
46985         for nonexistent files.
46987         * test/lisp/vc/vc-tests.el (w32-application-type): Declare.
46988         (vc-test--revision-granularity-function)
46989         (vc-test--unregister-function): Use `vc-call-backend'.
46990         (vc-test--run-maybe-unsupported-function): New defmacro.
46991         (vc-test--register, vc-test--state, vc-test--working-revision)
46992         (vc-test--checkout-model): Use it.  Fix also expected results.
46993         (vc-test-src02-state, vc-test-rcs04-checkout-model): They pass now.
46995 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
46997         Document the nil/default values of url-user-agent
46999         * doc/misc/url.texi (Customization): Document the nil/default
47000         values of url-user-agent.
47002 2016-04-24  Clément Pit--Claudel  <clement.pit@gmail.com>
47004         Compute User-Agent dynamically in url-http
47006         * lisp/url/url-http.el (url-http-user-agent-string): Compute
47007         User-Agent string dynamically.
47008         (url-http--user-agent-default-string): New function.
47010         * lisp/url/url-vars.el (url-privacy-level): Allow `emacs' in list
47011         of information not to send.
47012         (url-user-agent): Add nil and `default' options; do not
47013         pre-compute value.
47015 2016-04-24  Jun Hao  <jun_hao@aol.com>
47017         Handle auth-source items with special characters on OS X
47019         * lisp/auth-source.el
47020         (auth-source-macos-keychain-search-items): Handle keychain
47021         output correctly when has special chararcters (bug#22824).
47023 2016-04-24  Magnus Henoch  <magnus.henoch@gmail.com>
47025         Implement process-attributes for Darwin
47027         * src/sysdep.c (timeval_to_timespec, make_lisp_timeval)
47028         (system_process_attributes): Implement process-attributes
47029         for Darwin (bug#16579).
47031 2016-04-24  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47033         Use Unicode literals instead of hex values
47035         * lisp/net/shr.el (shr-tag-bdo): Use Unicode literals instead
47036         of hex values for greater readability.
47037         (shr-tag-bdi): Ditto.
47039 2016-04-24  Steve Purcell  <steve@sanityinc.com>
47041         Allow _ characters in SQL prompts
47043         * lisp/progmodes/sql.el (sql-product-alist): Allow _
47044         characters in SQL prompts (bug#22596).
47046         Fixes issue 22596, whereby "_" is now not considered a word constituent
47047         character in sql-interactive-mode, so prompts like "foo_dev# " are not
47048         correctly detected. Rather than piggy-back on the symbol table, we
47049         explicitly match against alphanumeric chars or "_".
47051 2016-04-23  Glenn Morris  <rgm@gnu.org>
47053         When autoload-timestamps is nil, use a dummy timestamp rather than "t".
47055         * lisp/emacs-lisp/autoload.el (autoload--non-timestamp): New constant.
47056         (autoload-generate-file-autoloads, autoload-find-destination)
47057         (update-directory-autoloads): Use autoload--non-timestamp.
47059 2016-04-23  Glenn Morris  <rgm@gnu.org>
47061         * test/lisp/xt-mouse-tests.el: Move from test/automated/.
47063 2016-04-22  Jö Fahlke  <jorrit@jorrit.de>  (tiny change)
47065         Regexps for matching CMake output
47067         * lisp/progmodes/compile.el (compilation-error-regexp-alist-alist): Add
47068         regexps for matching CMake output.
47069         * test/lisp/progmodes/compile-tests.el (compile-tests--test-regexps-data): Add
47070         CMake test cases.
47071         * etc/compilation.txt (CMake): Add CMake examples.
47073 2016-04-22  Artur Malabarba  <bruce.connor.am@gmail.com>
47075         * lisp/net/tramp-sh.el (tramp-ssh-controlmaster-options):
47077         Fix docstring quotes.
47079 2016-04-21  Paul Eggert  <eggert@cs.ucla.edu>
47081         Improve character name escapes
47083         * doc/lispref/nonascii.texi (Character Properties):
47084         Avoid duplication of Unicode names.  Reformat examples to fit in
47085         narrow pages.
47086         * doc/lispref/objects.texi (General Escape Syntax):
47087         Simplify and better-organize explanation of \N{...} escapes.
47088         * src/character.h (CHAR_SURROGATE_PAIR_P): Remove; unused.
47089         (char_surrogate_p): New inline function.
47090         * src/lread.c: Do not include string.h; no longer needed.
47091         (invalid_character_name, check_scalar_value): Remove; the ideas
47092         behind these functions are now bundled into character_name_to_code.
47093         (character_name_to_code): Remove undocumented support for "CJK
47094         IDEOGRAPH-XXXX" names, as "U+XXXX" suffices.  Reject monstrosities
47095         like "\N{U+-0}" and null bytes in \N escapes.  Reject floating
47096         point in \N escapes instead of returning garbage.  Use
47097         AUTO_STRING_WITH_LEN to lessen pressure on the garbage collector.
47098         * test/src/lread-tests.el (lread-char-number, lread-char-name)
47099         (lread-string-char-number, lread-string-char-name):
47100         Test runtime behavior, not compile-time, as the test framework
47101         is not set up to test compile-time.
47102         (lread-char-surrogate-1, lread-char-surrogate-2)
47103         (lread-char-surrogate-3, lread-char-surrogate-4)
47104         (lread-string-char-number-2, lread-string-char-number-3):
47105         New tests.
47106         (lread-string-char-number-1): Rename from lread-string-char-number.
47108 2016-04-21  Philipp Stephani  <phst@google.com>
47110         Use 'ucs-names' for character name escapes
47112         * src/lread.c (invalid_character_name, check_scalar_value)
47113         (parse_code_after_prefix, character_name_to_code): New helper
47114         functions that use 'ucs-names' and parsing for CJK ideographs.
47115         (read_escape): Use helper functions.
47116         (syms_of_lread): New symbol 'ucs-names'.
47117         * test/src/lread-tests.el: New tests; fix a couple of bugs in
47118         existing tests.
47120 2016-04-21  Philipp Stephani  <phst@google.com>
47122         Minor cleanups for character name escapes
47124         * src/lread.c (init_character_names): Add missing 'void'.
47125         Remove top-level 'const'.
47126         (read_escape): Simplify loop a bit.  Remove top-level 'const'.
47128 2016-04-21  Philipp Stephani  <phst@google.com>
47130         Add documentation for character name escapes
47132 2016-04-21  Philipp Stephani  <phst@google.com>
47134         Implement named character escapes, similar to Perl
47136         * src/lread.c (init_character_names): New function.
47137         (read_escape): Read Perl-style named character escape sequences.
47138         (syms_of_lread): Initialize new variable 'character_names'.
47139         * test/src/lread-tests.el (lread-char-empty-name): Add test file
47140         for src/lread.c.
47142 2016-04-21  Fabrice Popineau  <fabrice.popineau@gmail.com>
47144         Avoid run-time dependency on libwinpthread DLL on MS-Windows
47146         * nt/mingw-cfg.site (ac_cv_search_clock_gettime)
47147         (ac_cv_func_clock_gettime, ac_cv_func_clock_settime): Force to not
47148         present, so that MinGW64 builds don't depend on libwinpthread.
47149         (Bug#22959)
47151 2016-04-21  Matthew Leach  <matthew@mattleach.net>
47153         Add LIBSYSTEMD to the list of supported features
47155         * configure.ac: Add LIBSYSTEMD to EMACS_CONFIG_FEATURES and print a
47156         message at the end of configure stating whether Emacs will be build
47157         with libsystemd support.
47159 2016-04-21  Vasilij Schneidermann  <v.schneidermann@gmail.com>
47161         Support absolute column movement in 'ansi-term'
47163         * lisp/term.el (term-handle-ansi-escape): Handle the "\E[G" sequence
47164         for absolute column movement.  (Bug#23303)
47166 2016-04-21  Jorgen Schaefer  <contact@jorgenschaefer.de>
47168         Add Python 3.5 keyword "await"
47170         * lisp/progmodes/python.el (python-font-lock-keywords): Add await as
47171         keyword.
47173 2016-04-20  Simen Heggestøyl  <simenheg@gmail.com>
47175         Add "keyframes" to list of CSS at-rules
47177         * lisp/textmodes/css-mode.el (css-at-ids): Add "keyframes" at-rule.
47179 2016-04-20  Phillip Lord  <phillip.lord@russet.org.uk>
47181         Prevent bootstrap autoload backup files
47183         * lisp/emacs-lisp/autoload.el (autoload-find-generated-file): Suppress
47184         backups in newly created file.
47186         (autoload-ensure-default-file): Function split into two.
47187         (autoload-ensure-file-writeable): New function from split.
47189         (Bug#23203)
47191 2016-04-20  Paul Eggert  <eggert@penguin.cs.ucla.edu>
47193         Fix org-timestamp-change typo
47195         Problem reported by Peter Münster (Bug#23299).
47196         * lisp/org/org.el (org-timestamp-change): Fix typo that relied
47197         on undocumented behavior in ‘encode-time’.  In practice the
47198         old code used local time, so use that.
47200 2016-04-19  Paul Eggert  <eggert@cs.ucla.edu>
47202         Avoid AC_PREPROC_IFELSE glitch in configure.ac
47204         Problem reported by Angelo Graziosi in:
47205         https://lists.gnu.org/r/emacs-devel/2016-04/msg00545.html
47206         * configure.ac (gl_gcc_warnings): Work around an Autoconf glitch:
47207         AC_PREPROC_IFELSE doesn’t generate a simple shell command.
47209 2016-04-19  Michael Albinus  <michael.albinus@gmx.de>
47211         autorevert: Resume with polling if file is deleted
47213         * lisp/autorevert.el: Use consistent wording in comments and
47214         docstrings.
47215         (auto-revert-mode): Add local function to `kill-buffer-hook'.
47216         (auto-revert-notify-handler): Improve handling of `stopped' event.
47218         * test/lisp/autorevert-tests.el
47219         (auto-revert-test02-auto-revert-deleted-file): New test.
47220         (auto-revert-test03-auto-revert-tail-mode)
47221         (auto-revert-test04-auto-revert-mode-dired): Rename them.
47223 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
47225         Merge from origin/emacs-25
47227         5a0cbe5 Fix Bug#23276
47228         2007e32 Sync with upstream vhdl mode v3.38.1.
47229         b6d2552 Tweak configure.ac syntax in recent module patch
47231 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
47233         Merge from origin/emacs-25
47235         ac00a92 Make sh-electric-here-document-mode accessible in sh-mode-hoo...
47236         3287f48 ; Add entry to MAINTAINERS
47237         b85981f * configure.ac (HAVE_MODULES): Exclude gnu-kfreebsd from prev...
47238         0f33284 Make use of rectangle-preview custom variable.
47239         aa0d83a Make use of rectangle-preview face.
47240         33bef6e Use 'grep-find-program' in check-declare.el
47241         a8560e5 Improve "C-h S" for cl-lib symbols
47242         52e798b Fix minor issues with removing left or right fringes
47243         d6ffd64 Speed up redisplay in ansi-term mode
47244         4ab671c Simplify 8-bit character handling by terminal for 'raw-text'
47245         f3653ec * configure.ac (HAVE_MODULES): Treat gnu like gnu-linux.  (Bu...
47246         ab849b7 Fix w32 memory-management problem when extending buffer text
47248 2016-04-18  Paul Eggert  <eggert@cs.ucla.edu>
47250         Merge from origin/emacs-25
47252         32364bb substitute-command-keys keeps quotes’ text props
47253         567ab52 * src/xwidget.c (x_draw_xwidget_glyph_string): More clipping ...
47254         24b87a1 Add semantic-symref-filepattern-alist entry for lisp-interact...
47255         cc0b713 Perform xref searches without visiting unopened files
47256         5045575 Revert "Prevent bootstrap autoload backup files"
47258 2016-04-18  Philipp Stephani  <p.stephani2@gmail.com>
47260         * lisp/emacs-lisp/easy-mmode.el (define-minor-mode): Fix docstring
47262         so that it matches the actual implementation.
47263         See https://lists.gnu.org/r/help-gnu-emacs/2016-04/msg00071.html
47265 2016-04-18  Stefan Monnier  <monnier@iro.umontreal.ca>
47267         * lisp/textmodes/ispell.el: Compile with lexical-binding
47269         (declare-function): Don't define any more.
47270         (ispell-check-minver, ispell-looking-back): Tweak definition so that
47271         the compiler can obviously know that it's always defined.
47272         (ispell-debug-buffer): Declare var.
47273         (ispell-hunspell-fill-dictionary-entry)
47274         (ispell-parse-hunspell-affix-file, ispell-hunspell-add-multi-dic)
47275         (ispell-find-hunspell-dictionaries, ispell-set-spellchecker-params)
47276         (ispell-command-loop): Avoid add-to-list on local variables.
47278 2016-04-17  Paul Eggert  <eggert@cs.ucla.edu>
47280         Minor fixups for external socket launching
47282         * configure.ac (HAVE_LIBSYSTEMD): Change earliest version to 222.
47283         * doc/emacs/misc.texi (Emacs Server):
47284         * etc/NEWS: Spelling and doc fixes.
47285         * src/emacs.c (main) [HAVE_LIBSYSTEMD]:
47286         Check for sd_is_socket returning positive, not zero.
47287         * src/process.c (external_sock_fd): Instead of initializing here ...
47288         (init_process_emacs): ... initialize it here, so that it does the
47289         right thing after dump/restore.
47290         (connect_network_socket): Simplify socket_to_use test.
47292 2016-04-17  Simen Heggestøyl  <simenheg@gmail.com>
47294         Add HTML5 tags to HTML mode
47296         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML5 tags.
47297         (html-tag-help): Add short descriptions of those tags.
47299 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47301         Finish idna->puny changes in last Message patch
47303         * lisp/gnus/message.el (message-idna-to-ascii-rhs-1): Use puny
47304         instead of idna functions.
47306 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47308         Use puny.el instead of idna.el functions in Gnus
47310         * lisp/gnus/gnus-art.el (gnus-use-idna): Default to t (since
47311         Emacs comes with IDNA support built in).
47312         (article-decode-idna-rhs): Use `puny-decode-domain' instead of
47313         `idna-to-unicode'.
47315         * lisp/gnus/gnus-sum.el (gnus-summary-idna-message): Ditto.
47317 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47319         Mention `message-use-idna' in NEWS
47321 2016-04-17  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47323         Default `message-use-idna' to t
47325         * lisp/gnus/message.el (message-use-idna): Default to t (since
47326         Emacs comes with puny.el now).
47328 2016-04-16  Matthew Leach  <matthew@mattleach.net>
47330         Extend battery.el to exotic power supply types
47332         * lisp/battery.el (battery-linux-sysfs-regexp): Rename from
47333         'battery--linux-sysfs-regexp' and make a defcustom. All users
47334         changed.  (Bug#23216)
47336 2016-04-16  Matthew Leach  <matthew@mattleach.net>
47338         Add external socket launching support
47340         * src/process.c (connect_network_socket): Allow a pre-allocated socket
47341         descriptor to be used if passed to Emacs, avoiding the call to
47342         'socket' and 'bind'.
47343         (Fmake_network_process): Allow users to pass ':use-external-socket' in
47344         the parameter plist to use any sockets that have been passed to Emacs.
47345         (wait_reading_process_output): Call 'socket' and 'bind' every time.
47346         (syms_of_process): New symbol ':use-external-socket'.
47347         (set_external_socket_descriptor): New function.
47348         (external_sock_fd): New variable.
47349         * src/lisp.h: (set_external_socket_descriptor): New declaration.
47350         * src/emacs.c (main): Call 'sd_listen_fds' to read the number of sockets
47351         passed and call 'set_external_socket_descriptor' to set the external
47352         socket.
47353         * src/Makefile.in: Add libsystemd library and C flags to the Emacs
47354         compilation options.
47356         * configure.ac: Add new default-on option "systemd" and check for
47357         libsystemd at configure time.
47359         * lisp/server.el (server-start): Set ':use-external-socket' to 't' when
47360         calling 'make-network-process'.
47362         * etc/NEWS: Document new socket-passing functionality and the configure
47363         option to disable systemd interaction.
47365         * doc/emacs/misc.texi (Emacs Server): Document systemd socket passing
47366         functionality and provide systemd unit examples.
47367         * doc/lispref/processes.texi (Network Processes): Document new
47368         'make-network-process' option ':use-external-socket'.
47370 2016-04-16  Matthew Leach  <matthew@mattleach.net>
47372         Don't spell-check argument of 'cref' TeX macro
47374         * lisp/textmodes/ispell.el (ispell-tex-skip-alists): Add the cref
47375         macro to skip spell-checking the cref macro argument.
47377 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
47379         Simplify use of O_BINARY
47381         * src/callproc.c (call_process):
47382         * src/fileio.c (write_region):
47383         * src/filelock.c (read_lock_data):
47384         * src/image.c (x_find_image_fd):
47385         * src/lread.c (openp):
47386         * src/sysdep.c (init_random, emacs_fopen):
47387         * src/unexcw.c (unexec):
47388         Omit unnecessary use of O_BINARY, since emacs_open now arranges
47389         that for us.
47391 2016-04-14  Paul Eggert  <eggert@cs.ucla.edu>
47393         * src/indent.c (Fvertical_motion): Pacify GCC
47395         5.3.1 20160406 (Red Hat 5.3.1-6) on x86-64.
47397 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
47399         Port ‘./autogen.sh git’ to non-clones
47401         Problem reported by Angelo Graziosi in:
47402         https://lists.gnu.org/r/emacs-devel/2016-04/msg00341.html
47403         * autogen.sh (do_git): Default to false when the arg is ‘all’ but
47404         there is no ‘.git’.
47405         (git_common_dir, hooks): New vars.
47406         (git_config, tailored_hooks, sample_hooks): Use them.
47408 2016-04-13  Paul Eggert  <eggert@cs.ucla.edu>
47410         Do not require that .git be a directory
47412         Problem reportyed by Phillip Lord.
47413         * admin/update_autogen, autogen.sh, build-aux/gitlog-to-emacslog:
47414         * configure.ac, make-dist:
47415         Do not require that .git be a directory, as 'git worktree' makes
47416         it a file and not a directory.
47418 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
47420         Avoid now-obsolete function gmm-format-time-string
47422         * lisp/gnus/message.el (message-insert-formatted-citation-line):
47423         Use format-time-string instead of obsolete function
47424         gmm-format-time-string.
47426 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
47428         Support OFFSET and (OFFSET ABBR) time zone rules
47430         This simplifies Gnus and VC time zone support, by letting them
47431         feed the output of ‘current-time-zone’ and ‘decode time’ to
47432         primitives that accept time zone arguments.
47433         * doc/lispref/os.texi (Time Zone Rules, Time Conversion):
47434         * etc/NEWS:
47435         * lisp/gnus/message.el (message-insert-formatted-citation-line):
47436         * lisp/org/org.el (org-timestamp-format):
47437         * src/editfns.c (Fformat_time_string, Fdecode_time):
47438         (Fcurrent_time_string, Fcurrent_time_zone, Fset_time_zone_rule):
47439         Document new behavior.
47440         * lisp/gnus/gmm-utils.el (gmm-format-time-string):
47441         * lisp/vc/add-log.el (add-log-iso8601-time-zone):
47442         Mark as obsolete, as it is now just an alias or narrow wrapper
47443         around format-time-string.
47444         * src/editfns.c (tzlookup): Also support integer OFFSET and
47445         list (OFFSET ABBR) as time zone rules.
47446         (Fencode_time): No longer need a special case for a cons ZONE.
47447         (Fcurrent_time_zone): If the time zone string is missing, compute
47448         it the same way the other new code does.
47450 2016-04-12  Paul Eggert  <eggert@cs.ucla.edu>
47452         Merge from origin/emacs-25
47454         ca50981 Improve time zone documentation
47455         c23c965 Prevent bootstrap autoload backup files
47456         9344612 Disable multicolor fonts on OS X since they are not supported...
47457         c41ce1c Capitalize “Universal Time” in documentation
47458         10597c9 Don't use 'find-program'
47460 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
47462         Merge from origin/emacs-25
47464         b134c20 Sync with gnulib
47465         bb30fa9 Fix last change on 2016-01-02
47466         488a72f ; Spelling fixes
47467         9b1aab9 Port run-prolog EMACS to SWI-Prolog 7.2.3
47468         0e7bcec Avoid crashes due to unreasonably large or small text scaling
47469         85f257c Improve documentation of 'with-eval-after-load'
47470         668c7bc Improve handling of non-ASCII characters in Git log messages
47471         b570769 Remove undefined behavior in OS X dumper.
47472         97211f3 Fix clipping of xwidgets
47473         e87fbc0 Improve Lisp-level documentation of tooltips
47474         9f1786e Faces names should not end in "-face".
47475         3283271 * src/xsmfns.c (syms_of_xsmfns): Remove stray "s in doc strings.
47476         a1f221b Comint and compile no longer set EMACS
47477         5c28890 * lisp/subr.el (read-key): Don't let the prompt linger (bug#2...
47478         a75b9a6 Merge branch 'emacs-25' of git.savannah.gnu.org:/srv/git/emac...
47479         c93ae7a Allow to customize names of executables used by grep.el
47480         f6497c6 Set locale encoding to UTF-8 when run from OS X GUI.
47481         7ad1d07 Avoid signaling errors in 'M-n' at the 'C-x C-f' prompt
47482         a3f1ac2 Avoid infinite loop in 'studlify-word'
47483         f36df4b Don’t recommend obsolete EMACS env var
47484         fb0b531 * lisp/emacs-lisp/package.el: Change from a few days ago need...
47486 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
47488         Merge from origin/emacs-25
47490         96d9e78 Fix "Beginning of buffer" error in forward-page
47491         20686f7 Add a `transient' project type
47493 2016-04-11  Paul Eggert  <eggert@cs.ucla.edu>
47495         Merge from origin/emacs-25
47497         80128a7 Fix stability confusion in sort-tests
47498         1e4aa42 Avoid describe-key error with lambdas
47499         a05fb21 * lisp/emacs-lisp/package.el (package-install-selected-packag...
47500         f501116 Sync with gnulib
47501         c4963f9 Fix doc for Universal Time
47503 2016-04-10  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
47505         Fix alignement rule for CSS
47507         * lisp/align.el (align-rules-list): Support CSS properties that have
47508         multiple words.
47510 2016-04-10  Tassilo Horn  <tsdh@gnu.org>
47512         New custom option for overriding mailcap choices
47514         * lisp/net/mailcap.el (mailcap--get-user-mime-data): New function.
47515         (mailcap--set-user-mime-data): New function.
47516         (mailcap-user-mime-data): New customization option.
47517         (mailcap-select-preferred-viewer): New function.
47518         (mailcap-mime-info): Use it.
47520         * doc/misc/emacs-mime.texi (mailcap): Document `mailcap-user-mime-data'.
47522 2016-04-10  Michael Albinus  <michael.albinus@gmx.de>
47524         Fix Bug#23207
47526         * src/keyboard.c (read_char): Resume idle timers in case of
47527         dbus-event, file-notify-event and config-changed-event.
47528         Reported by Johan Claesson <johanclaesson@bredband.net>.  (Bug#23207)
47530 2016-04-09  Michael Albinus  <michael.albinus@gmx.de>
47532         Add vc-backend and vc-responsible-backend tests
47534         * lisp/vc/vc-hooks.el (vc-file-setprop, vc-file-getprop)
47535         (vc-file-clearprops): Use properties on absolute files.
47537         * test/lisp/vc/vc-tests.el (vc-test--unregister-function):
47538         Clear file properties.
47539         (vc-test--register): Add tests for `vc-backend' and
47540         `vc-responsible-backend'.  Catch other errors but `vc-not-supported'.
47541         (vc-test--state, vc-test--checkout-model): Catch other errors
47542         but `vc-not-supported'.
47543         (vc-test--working-revision): Fix test for RCS and SCCS.  Catch
47544         other errors but `vc-not-supported'.
47545         (vc-test-src02-state): Mark as an expected failure.
47547 2016-04-08  Paul Eggert  <eggert@cs.ucla.edu>
47549         Minor improvements for hash function primitives
47551         * src/fns.c (hashfn_eql): Define in terms of hashfn_equal and
47552         hashfn_eq rather than reaching inside them.
47553         (hashtest_eq, hashtest_eql, hashtest_equal):
47554         Now constants with initializers.
47555         (syms_of_fns): Omit no-longer-needed initialization.
47556         * src/lisp.h (LISPSYM_INITIALLY): New macro.
47557         (DEFINE_LISP_SYMBOL): Use it.
47559 2016-04-08  Paul Pogonyshev  <pogonyshev@gmail.com>
47561         New primitives sxhash-eq, sxhash-eql
47563         * doc/lispref/hash.texi (Defining Hash), etc/NEWS: Document this.
47564         * lisp/emacs-lisp/byte-opt.el (side-effect-free-fns):
47565         Add sxhash-equal, sxhash-eq, sxhash-eql.
47566         * lisp/subr.el (sxhash): Now an alias for sxhash-equal.
47567         * src/fns.c (Fsxhash_eq, Fsxhash_eql): New functions.n
47569 2016-04-08  Eli Zaretskii  <eliz@gnu.org>
47571         Teach Dired support parallel execution of commands on MS-Windows
47573         * lisp/dired-aux.el (dired-shell-stuff-it): Support
47574         parallel-in-background execution of commands on MS-Windows.
47575         Test 'w32-shell-dos-semantics' instead of the underlying OS
47576         when determining whether addition of 'wait' is needed.
47578 2016-04-08  Tino Calancha  <f92capac@gmail.com>
47580         Make 'dired-do-shell-command' wait for all background jobs
47582         * lisp/dired-aux.el (dired-shell-stuff-it): Force POSIX shells to
47583         wait until all background jobs exit.  (Bug#23206).
47585 2016-04-07  Vivek Dasmohapatra  <vivek@etla.org>
47587         Prefer 'font-lock-face to 'face in erc where appropriate
47589         * lisp/erc/erc-button.el (erc-button-add-face): Prefer
47590         'font-lock-face to 'face where appropriate.
47591         * lisp/erc/erc-capab.el (erc-capab-identify-add-prefix)
47592         * lisp/erc/erc-dcc.el (erc-dcc-chat-parse-output)
47593         * lisp/erc/erc-goodies.el (erc-controls-propertize)
47594         * lisp/erc/erc-stamp.el (erc-format-timestamp)
47595         * lisp/erc/erc-track.el (erc-faces-in)
47596         * lisp/erc/erc.el (erc-load-irc-script-lines, erc-display-msg)
47597         (erc-display-command, erc-make-notice, erc-highlight-notice)
47598         (erc-format-my-nick, erc-format-@nick, erc-format-privmessage)
47599         (erc-display-prompt, erc-display-message-highlight)
47600         (erc-log-irc-protocol): Ditto.
47602         * test/lisp/erc/erc-track-tests.el: Converted asserts into ert
47603         tests.
47605 2016-04-06  Lele Gaifax  <lele@metapensiero.it>
47607         Add new keywords of Python 3.5
47609         Python 3.5, released in mid September 2015, introduced a few new
47610         keywords to better support asynchronous code, "async" and "await"
47611         in particular. See https://www.python.org/dev/peps/pep-0492/ for
47612         details. (Bug#21783)
47613         * lisp/progmodes/python.el (python-rx-constituents): Add async
47614         def/for/with as block-start and async def as defun.
47615         * lisp/progmodes/python.el (python-font-lock-keywords): Add async
47616         def/for/with as keyword.
47617         * test/automated/python-tests.el (python-indent-after-async-block-1,
47618         python-indent-after-async-block-2, python-indent-after-async-block-3,
47619         python-nav-beginning-of-defun-3): New tests to test indentation and
47620         navigation for the async keyword.
47622 2016-04-05  Etienne Prud'homme  <e.e.f.prudhomme@gmail.com>  (tiny change)
47624         Support completion of at-rules in SCSS mode
47626         lisp/textmodes/css-mode.el (scss-at-ids): New defconst holding
47627         SCSS-specific at-rules.
47628         (css--at-ids): New buffer-local variable holding the list of at-rules
47629         for the current mode.
47630         (css--complete-at-rule): Retrieve at-rules from `css--at-ids`.
47631         (scss-mode): Set `css--at-ids'.
47633 2016-04-05  Paul Eggert  <eggert@cs.ucla.edu>
47635         Enable GCC warnings in developer builds
47637         However, do not fail; just issue the warnings.  Add an option
47638         --enable-gcc-warnings=warn-only to configure, to implement this.
47639         * INSTALL, etc/NEWS: Document this.
47640         * configure.ac (gl_GCC_VERSION_IFELSE): New macro, from coreutils.
47641         (gl_gcc_warnings, WERROR_CFLAGS): Use it to add new option.
47642         Don’t treat --with-x-toolkit=no as a special case when configuring
47643         warnings.
47645 2016-04-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47647         Inhibit querying for the encoding of the headers when resending
47649         * lisp/gnus/message.el (message-resend): Inhibit querying for
47650         the encoding of the headers when resending.
47652 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
47654         Prefer AUTO_STRING_WITH_LEN to make_formatted_string
47656         * src/buffer.c (Fgenerate_new_buffer_name):
47657         * src/filelock.c (get_boot_time):
47658         * src/minibuf.c (get_minibuffer):
47659         * src/process.c (make_process):
47660         * src/xdisp.c (ensure_echo_area_buffers):
47661         Prefer AUTO_STRING_WITH_LEN + sprintf to make_formatted_string
47662         when either will do.
47664 2016-04-04  Tao Fang  <fangtao0901@gmail.com>
47666         Allow URL using HTTPS proxies using CONNECT
47668         * lisp/url/url-http.el (url-http-find-free-connection): Allow
47669         using proxies (bug#11788).
47670         (url-http-end-of-document-sentinel): Ditto.
47671         (url-http): The protocol may change from http to https and
47672         vice versa.
47673         (url-https-proxy-connect): Allow using CONNECT proxies for https.
47675 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
47677         New C macro AUTO_STRING_WITH_LEN
47679         Put a bit less pressure on the garbage collector by defining a
47680         macro that is like AUTO_STRING but also allows null bytes in strings,
47681         and by extending AUTO_STRING to work with any unibyte string.
47682         * src/alloc.c (verify_ascii): Remove; all uses removed.
47683         AUTO_STRING can now be used on non-ASCII unibyte strings.
47684         * src/lisp.h (AUTO_STRING): Now allows non-ASCII unibyte strings.
47685         (AUTO_STRING_WITH_LEN): New macro.
47686         * src/coding.c (from_unicode_buffer):
47687         * src/editfns.c (format_time_string):
47688         * src/emacs-module.c (module_make_string, module_format_fun_env):
47689         * src/fileio.c (Fexpand_file_name):
47690         * src/font.c (font_parse_family_registry):
47691         * src/ftfont.c (ftfont_get_charset):
47692         * src/keymap.c (silly_event_symbol_error):
47693         * src/menu.c (single_menu_item):
47694         * src/sysdep.c (system_process_attributes):
47695         Use AUTO_STRING_WITH_LEN if possible.
47696         * src/emacs-module.c (module_make_function):
47697         * src/fileio.c (report_file_errno, report_file_notify_error):
47698         * src/fns.c (Flocale_info):
47699         * src/sysdep.c (system_process_attributes):
47700         Use AUTO_STRING if possible.  This is doable more often now
47701         that AUTO_STRING works on any unibyte string.
47703 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
47705         Port redirect-debugging-output to MS-Windows
47707         Suggested by Eli Zaretskii in:
47708         https://lists.gnu.org/r/emacs-devel/2016-04/msg00037.html
47709         * src/print.c [WINDOWSNT]: Include sys/socket.h.
47710         * src/w32.c (sys_dup2): Work around problem with MS-Windows _dup2.
47712 2016-04-04  Paul Eggert  <eggert@cs.ucla.edu>
47714         Port redirect-debugging-output to non-GNU/Linux
47716         Problem reported by Kylie McClain for musl in:
47717         https://lists.gnu.org/r/emacs-devel/2016-03/msg01592.html
47718         * etc/DEBUG, etc/NEWS: Mention this.
47719         * src/callproc.c (child_setup) [!MSDOS]:
47720         * src/dispnew.c (init_display):
47721         * src/emacs.c (main, Fdaemon_initialized):
47722         * src/minibuf.c (read_minibuf_noninteractive):
47723         * src/regex.c (xmalloc, xrealloc):
47724         Prefer symbolic names like STDERR_FILENO to magic numbers like 2,
47725         to make file-descriptor manipulation easier to follow.
47726         * src/emacs.c (relocate_fd) [!WINDOWSNT]: Remove; no longer needed
47727         now that we make sure stdin, stdout and stderr are open.  All uses
47728         removed.
47729         (main): Make sure standard FDs are OK.  Prefer symbolic names like
47730         EXIT_FAILURE to magic numbers like 1.  Use bool for boolean.
47731         * src/lisp.h (init_standard_fds): New decl.
47732         * src/print.c (WITH_REDIRECT_DEBUGGING_OUTPUT) [GNU_LINUX]:
47733         Remove; no longer needed.
47734         (Fredirect_debugging_output): Define on all platforms, not just
47735         GNU/Linux.  Redirect file descriptor, not stream, so that the code
47736         works even if stderr is not an lvalue.  Report an error if the
47737         file arg is neither a string nor nil.
47738         (syms_of_print): Always define redirect-debugging-output.
47739         * src/sysdep.c (force_open, init_standard_fds): New functions.
47741 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
47743         Spelling fixes
47745 2016-04-03  John Wiegley  <johnw@newartisans.com>
47747         Revert "Add `r'/`l' grep command history commands"
47749         This reverts commit a32eea60ac90d367435860fe3a10bf843e6f497c.
47751 2016-04-03  John Wiegley  <johnw@newartisans.com>
47753         Revert "Restore the point in grep buffers when traversing the history"
47755         This reverts commit f7c5f79ca565d3ef3feeb1e0af5ca261f1bcf58a.
47757 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
47759         Merge from origin/emacs-25
47761         787df9d ; * src/keyboard.c (read_char): Fix typos in a comment.
47763 2016-04-03  Paul Eggert  <eggert@cs.ucla.edu>
47765         Merge from origin/emacs-25
47767         b787d55 More format-time-string change fixups
47768         13c8f29 make-xwidget unused arg cleanup
47769         36e05f0 Remove unused arguments from make-xwidget
47770         1042217 Document incompatible changes in 'format-time-string'
47771         7228eb8 Improve documentation of byte-code objects
47772         0020047 Adapt calls to 'format-time-string' to changes in Emacs 25
47773         17b5152 Improve vc-diff with Git backend
47774         c28f87a (js--continued-expression-p): Special-case unary plus and minus
47775         2d02a5f ; * lisp/vc/vc-annotate.el (vc-annotate): Clarify commentary.
47776         9151f16 Prevent C++ Mode wrongly fontifying some identifiers near tem...
47777         b3b523c Avoid crashes due to insanely large columns in tabulated-list...
47778         a3daa34 Teach M-x disassemble a default argument.
47779         e30c3e9 Fix EOL decoding in vc-annotate with SVN back-end on MS-Windows
47780         df441b3 Fix OS X specific settings in tramp-tests
47781         2244331 Finish fixing a cacheing bug in CC Mode (see 2016-03-09)
47783         # Conflicts:
47784         #       lisp/net/tramp-sh.el
47785         #       lisp/progmodes/cc-engine.el
47787 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47789         Restore the point in grep buffers when traversing the history
47791         * lisp/progmodes/grep.el (grep-process-setup): Allow moving
47792         point to a specific place after finishing the grep command.
47793         (grep-mode): Use it to restore point after traversing the history.
47794         (grep--history-point): New internal variable.
47795         (grep--save-history, grep-forward-history): Use it to restore
47796         the point.
47798 2016-04-03  Lars Magne Ingebrigtsen  <larsi@gnus.org>
47800         Add `r'/`l' grep command history commands
47802         * doc/emacs/building.texi (Grep Searching): Mention the
47803         `r'/`l' commands.
47805         * lisp/progmodes/grep.el (grep-forward-history): New command.
47806         (grep-backward-history): Ditto.
47807         (grep--save-buffers): New function.
47808         (grep): Use it to record the history.
47809         (grep--command-history, grep--history-inhibit)
47810         (grep--history-place): New internal variables for the grep
47811         history (bug#22627).
47813 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
47815         Fix Bug#23186, again
47817         * lisp/net/tramp.el (tramp-encoding-shell)
47818         (tramp-encoding-command-switch)
47819         (tramp-encoding-command-interactive): Check for
47820         `w32-shell-name'.  (Bug#23186)
47822 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
47824         Fix Bug#23186
47826         * lisp/net/tramp.el (tramp-encoding-command-switch)
47827         (tramp-encoding-command-interactive):
47828         * lisp/net/tramp-sh.el (tramp-maybe-open-connection):
47829         `tramp-encoding-shell' could be nil.  (Bug#23186)
47831 2016-04-03  Michael Albinus  <michael.albinus@gmx.de>
47833         Fix Bug#22145
47835         * lisp/net/tramp-cache.el (tramp-get-connection-property)
47836         (tramp-set-connection-property, tramp-connection-property-p)
47837         (tramp-flush-connection-property): Improve docstring.
47839         * lisp/net/tramp-sh.el (tramp-maybe-open-connection): Use it.
47841         * lisp/net/tramp.el (tramp-get-local-locale): New defun.
47843         * test/automated/tramp-tests.el (tramp--test-utf8):
47844         Improve settings of coding systems.  (Bug#22145)
47846 2016-04-02  John Wiegley  <johnw@newartisans.com>
47848         Merge from origin/emacs-25
47850         7c1802f * doc/lispref/text.texi (Columns): Remove a nonexistent refer...
47851         9034c50 * doc/man/emacsclient.1: Document +line:column option.
47852         06495c9 Fix rare problems with echo-area display and multiple frames
47853         f99b512 In M-%, avoid making buffer-local binding of text-property-de...
47855 2016-04-02  John Wiegley  <johnw@newartisans.com>
47857         Merge from origin/emacs-25
47859         e65c307 * src/font.c (QCuser_spec): Add missing colon to :user-spec.
47860         c8b868b Don't start the 'midnight' timer twice
47861         278c8a7 * src/xwidget.c (Fxwidget_resize): Fix inappropriate use of X...
47862         e5c17f4 Fix todo-mode category movement
47863         bc70fda * lisp/xt-mouse.el (xterm-mouse-utf-8): Add :version.
47864         cf40f38 Ignore non-nil. non-cons values of unread-command-events
47865         8ee4c52 Improve documentatuon of 'truncate-partial-width-windows'
47866         fb9a62c * src/ftfont.c (ftfont_shape_by_flt): Parenthesize as per GNU...
47867         1e1ea22 Fix 'dired-goto-file' in Dired buffers produced by find-dired
47868         3a13472 Fix map-put and map-delete for alists (Bug#23105)
47869         422c3da Minor copyedits of documentation for temporary displays
47870         90fb9b3 Add customization option for using UTF-8 coordinates in xt-mouse
47871         f14d463 Minor doc string fixes in replace.el
47872         e70ee9d Fix scrolling upwards with 'xwidget-webkit-browse-url'
47873         44782de Fix display of Indic scripts
47874         326c64f Fix splash screen display at startup
47875         7ab2a97 ; In NEWS mention new display of minibuffer completions window
47876         a1cd84c Describe temporary displays in Emacs manual
47877         5ec1056 Avoid stray As next to IDLW icons
47878         45577d5 Avoid GTK 3 crash with icons and masks
47879         e99ff6e * lisp/minibuffer.el (minibuffer-completion-help): Use fit-wi...
47880         077b78c Define make_save_ptr_ptr unconditionally
47881         20a1003 Preserve current buffer when popping up TTY menus
47882         7eba90c Improve font selection by family on MS-Windows
47883         73d213f Comint, term, and compile now set EMACS
47884         9524ec5 Ignore more merges when generating ChangeLog
47885         ad250f2 Sync with gnulib
47886         c0165ea Resurrect GNUS-NEWS autogeneration
47887         1e5327c ; Backport ChangeLog.2 fixes from master
47888         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
47889         38a43f1 Fix bug in displaying header line with a box face
47890         91e6676 Fix an Isearch var to be a string (Bug#23038)
47891         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
47892         8a35f83 Render empty <ul><li><ul> correctly
47893         d8b2ce5 Ignore invalid base64 encoded embedded images
47894         52ba24b Fix <p> and <div> newlines with or without <li> in shr
47895         b8ea08b Avoid errors in 'newline'
47896         fc3cd53 Fix Bug#23032
47897         dd2737b Adjudicate review comments in abbrevs.texi
47898         26f9c50 Fixup the "normal" matcher; highlight global var symbols, too
47899         413e73b ; Small theme additions
47900         cd950da Honor prefix arg in doc-view-next-line-or-next-page
47901         ed909c0 ; Spelling fixes
47902         6da3a6d Port to strict C99 offsetof
47903         de7601f Port to GTK with strict C11 compiler
47904         658aa2d Port to GTK with strict C99 compiler
47905         1df7173 Avoid screen artifacts with new OS X visible bell after scrol...
47906         7a2edd3 Merge branch 'emacs-25' of git.sv.gnu.org:/srv/git/emacs into...
47907         dca240a Suppress some Tramp tests for OSX, do not merge with master
47908         9094304 * lisp/progmodes/xref.el (xref-buffer-name, xref--window): Mo...
47909         cbedfc2 * lisp/gnus/mm-decode.el (gnus-format-message): Autoload it.
47910         005ac7c * lisp/mail/rmail.el (rmail-mime-entity-truncated): Declare.
47911         9ab03f2 ; Auto-commit of loaddefs files.
47912         56df617 Address compilation warnings due to 2016-01-03 mml refactoring.
47913         a1ef911 * lisp/emacs-lisp/smie.el (smie-indent-keyword): Don't burp i...
47914         79ae7fb * lisp/dired-x.el (dired-omit-here-always): Correct error mes...
47915         253929f * lisp/dired-x.el (dired-omit-here-always): Replace undefined...
47916         ce53389 * lisp/xml.el (xml-parse-tag-1): Replace undefined function.
47917         d6d164f Avoid segfaults due to frame image cache being absent
47918         bc7f6f6 Improve documentation of glyphless-character display
47919         6b6916e ; * src/xdisp.c (with_echo_area_buffer): Fix typos in comments.
47920         ee9a1f7 Support safe navigation operator in non-SMIE indentation code
47921         c3ed95b Move xsd:base64Binary decoding fix to debbugs.el 0.9.1
47922         2036be4 Fix Ruby's operator precedence
47923         1d686c2 (ruby-interpolation-inside-another-interpolation): New failin...
47924         7950e1d Port to clang 3.7.0 on x86-64
47925         218ae59 * test/automated/package-test.el (package-test-signed): Tweak...
47926         ba33b7c Sync with gnulib
47927         38b276d Fix startup of "emacs -nw" on systems that CANNOT_DUMP
47928         dbfbedd Do not tokenize a comment before continuation as ';'
47929         0403620 Don't misindent arguments of a method call inside continuation
47930         e6776f8 * src/keyboard.c (echo_keystrokes_p): Don't test cursor_in_ec...
47931         8475f3d ASCII-only etc/NEWS etc.
47932         5cc6919 Fix a cacheing bug, which led to inordinately slow c-beginnin...
47933         0ce37ea Fix Isearch prompt when invoked with an argument
47934         f3033d4 Fix a typo in the Emacs manual
47935         4235d2d Curved quotes in etc/NEWS etc.
47936         26b56dc Fix some single quotes in documentation
47937         80ec484 Make lisp-completion-at-point's argument optional
47938         9d463ae Tweak the left precedence of '=>'
47939         5b705bc Indent '.' relative to the first sibling expression
47940         04f5525 Make '.' associative, for easier sexp navigation
47941         ba24c99 Revert "Simplify "Visit New File" to "New File""
47943 2016-04-02  Stefan Monnier  <monnier@iro.umontreal.ca>
47945         * lisp/erc/erc-backend.el: Use lexical-binding. Silence byte-compiler
47947         Use #' to quote functions.
47948         (erc-server-delayed-reconnect): Remove unused arg `event'.
47949         (erc-process-sentinel-2): Adjust accordingly.
47950         Don't pass `err' to condition-case if we don't use it.
47951         (define-erc-response-handler): Use add-hook rather than add-to-list.
47952         (NICK): Use cl-pushnew rather than add-to-list.
47953         (331): Remove unused var `topic'.
47954         (352): Remove unused var `hopcount'.
47956 2016-04-02  Paul Pogonyshev  <pogonyshev@gmail.com>
47958         Support macros in 'func-arity'
47960         * src/eval.c (Ffunc_arity): Support Lisp macros as well.
47962 2016-04-02  Andy Moreton  <andrewjmoreton@gmail.com>
47964         Fix compilation of Cygwin w32 port
47966         * src/w32xfns.c (init_crit, delete_crit) [HAVE_W32NOTIFY]: Only
47967         initialize and free the notification set if compiling with
47968         w32notify feature.
47970 2016-04-01  Paul Eggert  <eggert@penguin.cs.ucla.edu>
47972         Fix resize incompatibility with GTK+ master
47974         Problem reported by Matthias Clasen (Bug#23144).
47975         * src/xterm.c (handle_one_xevent) [USE_GTK]:
47976         Do not call xg_frame_resized.
47978 2016-04-01  Paul Eggert  <eggert@cs.ucla.edu>
47980         Fix check for subscript errors in module calls
47982         * src/emacs-module.c (check_vec_index): New function.
47983         (module_vec_set, module_vec_get): Use it instead of a
47984         not-strict-enough check.
47986 2016-03-31  Simen Heggestøyl  <simenheg@gmail.com>
47988         Support completion of bang-rules in CSS mode
47990         lisp/textmodes/css-mode.el (css--bang-ids): New buffer-local variable
47991         holding the list of bang-rules for the current mode.
47992         (css--font-lock-keywords): Retrieve bang-rules from `css--bang-ids'
47993         instead of computing them.
47994         (css--complete-bang-rule): New function for completing a bang-rule.
47995         (css-completion-at-point): Add support for completing bang-rules.
47996         (scss-font-lock-keywords): Change from a variable to a function in
47997         order to recompute `css--font-lock-keywords' when `css--bang-ids' has
47998         changed.
47999         (scss-mode): Set `css--bang-ids' and recompute font-lock keywords.
48001 2016-03-30  Simen Heggestøyl  <simenheg@gmail.com>
48003         Add HTML4 tags to HTML mode
48005         * lisp/textmodes/sgml-mode.el (html-tag-alist): Add HTML4 tags.
48006         (html-tag-help): Add short descriptions of those tags.
48008 2016-03-29  Paul Eggert  <eggert@cs.ucla.edu>
48010         Pacify --enable-gcc-warnings for buffer-hash etc.
48012         * src/fns.c (make_digest_string): Now static.
48013         (secure_hash): Omit unused local.
48015 2016-03-29  Oleh Krehel  <ohwoeowho@gmail.com>
48017         Add support for 7z archives
48019         * lisp/dired-aux.el (dired-compress-file-suffixes): "Z" should now
48020           also work with 7z archives.
48022         The shell command should produce a single extracted directory named
48023         after the archive's name.
48025         In case the extracted directory exists, all files will be overwritten
48026         without a prompt. This matches the expected behavior with the "tar.gz"
48027         archives.
48029 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
48031         * lisp/emacs-lisp/seq.el: Require cl-lib instead of cl-extra
48033 2016-03-29  Michael Albinus  <michael.albinus@gmx.de>
48035         Fix typo in network-stream-tests.el
48037         * test/lisp/net/network-stream-tests.el
48038         (connect-to-tls-ipv6-nowait): Fix typo.
48040 2016-03-29  Nicolas Petton  <nicolas@petton.fr>
48042         New function seq-sort-by in seq.el
48044         * lisp/emacs-lisp/seq.el (seq-sort-by): New function.
48045         * test/lisp/emacs-lisp/seq-tests.el: New test for seq-sort-by.
48046         * doc/lispref/sequences.texi: Add documentation for seq-sort-by.
48048 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48050         Mention the `M-q' changes
48052 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48054         Have `M-q' not mark buffers are changed when they haven't
48056         * lisp/textmodes/fill.el (fill-paragraph): Use `buffer-hash'
48057         to avoid marking buffers as changed when they haven't.
48059 2016-03-28  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48061         Add a new function `buffer-hash'
48063         * doc/lispref/text.texi (Checksum/Hash): Document `buffer-hash'.
48065         * src/fns.c (Fbuffer_hash): New function.
48066         (make_digest_string): Refactored out into its own function.
48067         (secure_hash): Use it.
48069         * test/src/fns-tests.el (fns-tests-hash-buffer): New tests.
48071 2016-03-27  Paul Eggert  <eggert@cs.ucla.edu>
48073         Rename C names to match Lisp symbols better
48075         This was inspired by commit e65c3079c65595d95749348366af9811fafff062,
48076         which fixed a bug where the C name for a symbol disagreed with the
48077         symbol name itself.  Fix other instances of disagreements that I found.
48078         Although this doesn’t fix a bug, it should make code easier to follow.
48079         The remaining disagreements are idiosyncratic: Qminus, Qplus,
48080         Qsans__serif, Qbackquote, Qcomma, Qcomma_at, Qcomma_dot.
48081         All uses changed.
48082         * src/alloc.c (QAutomatic_GC): Rename from Qautomatic_gc.
48083         * src/dbusbind.c (QCsystem): Rename from QCdbus_system_bus.
48084         (QCsession): Rename from QCdbus_session_bus.
48085         (QCtimeout): Rename from QCdbus_timeout.
48086         (QCbyte): Rename from QCdbus_type_byte.
48087         (QCboolean): Rename from QCdbus_type_boolean.
48088         (QCint16): Rename from QCdbus_type_int16.
48089         (QCuint16): Rename from QCdbus_type_uint16.
48090         (QCint32): Rename from QCdbus_type_int32.
48091         (QCuint32): Rename from QCdbus_type_uint32.
48092         (QCint64): Rename from QCdbus_type_int64.
48093         (QCuint64): Rename from QCdbus_type_uint64.
48094         (QCdouble): Rename from QCdbus_type_double.
48095         (QCstring): Rename from QCdbus_type_string.
48096         (QCobject_path): Rename from QCdbus_type_object_path.
48097         (QCsignature): Rename from QCdbus_type_signature.
48098         (QCunix_fd): Rename from QCdbus_type_unix_fd.
48099         (QCarray): Rename from QCdbus_type_array.
48100         (QCvariant): Rename from QCdbus_type_variant.
48101         (QCstruct): Rename from QCdbus_type_struct.
48102         (QCdict_entry): Rename from QCdbus_type_dict_entry.
48103         (QCserial): Rename from QCdbus_registered_serial.
48104         (QCmethod): Rename from QCdbus_registered_method.
48105         (QCsignal): Rename from QCdbus_registered_signal.
48106         * src/emacs-module.c (Qinternal__module_call):
48107         Rename from Qinternal_module_call.
48108         * src/frame.c (Qwindow__pixel_to_total):
48109         Rename from Qwindow_pixel_to_total.
48110         * src/gnutls.c (QChostname): Rename from QCgnutls_bootprop_hostname.
48111         (QCpriority): Rename from QCgnutls_bootprop_priority.
48112         (QCtrustfiles): Rename from QCgnutls_bootprop_trustfiles.
48113         (QCkeylist): Rename from QCgnutls_bootprop_keylist.
48114         (QCcrlfiles): Rename from QCgnutls_bootprop_crlfiles.
48115         (QCmin_prime_bits): Rename from QCgnutls_bootprop_min_prime_bits.
48116         (QCloglevel): Rename from QCgnutls_bootprop_loglevel.
48117         (QCcomplete_negotiation): Rename from QCgnutls_complete_negotiation.
48118         (QCverify_flags): Rename from QCgnutls_bootprop_verify_flags.
48119         (QCverify_error): Rename from QCgnutls_bootprop_verify_error.
48120         * src/w32fns.c (Qfont_parameter): Rename from Qfont_param.
48121         (Qgnutls): Rename from Qgnutls_dll.
48122         (Qlibxml2): Rename from Qlibxml2_dll.
48123         (Qzlib): Rename from Qzlib_dll.
48124         * src/w32select.c (Qutf_16le_dos): Rename from QUNICODE.
48125         * src/window.c (Qwindow__resize_root_window):
48126         Rename from Qwindow_resize_root_window.
48127         (Qwindow__resize_root_window_vertically):
48128         Rename from Qwindow_resize_root_window_vertically.
48129         (Qwindow__sanitize_window_sizes):
48130         Rename from Qwindow_sanitize_window_sizes.
48131         (Qwindow__pixel_to_total): Rename from Qwindow_pixel_to_total.
48132         * src/xdisp.c (Qredisplay_internal_xC_functionx):
48133         Rename from Qredisplay_internal.
48134         * src/xfns.c (Qfont_parameter): Rename from Qfont_param.
48135         * src/xselect.c (Q_EMACS_TMP_): Rename from QEMACS_TMP.
48137 2016-03-26  Paul Eggert  <eggert@cs.ucla.edu>
48139         func-arity minor improvements
48141         * src/bytecode.c (get_byte_code_arity): Omit unnecessary
48142         runtime test for integer argument, unless debugging.
48143         Use EMACS_INT for Emacs integers.
48144         * src/eval.c (Ffunc_arity): Omit unused locals.
48145         Avoid side effects in ‘if’ expr.
48146         (lambda_arity): Use bool for boolean, and EMACS_INT for Emacs ints.
48148 2016-03-26  John Wiegley  <johnw@newartisans.com>
48150         Restore the fix to bug#18527 from commit d6868025
48152 2016-03-26  Martin Rudalics  <rudalics@gmx.at>
48154         Safely run window size change functions
48156         * src/window.c (run_window_size_change_functions): Use
48157         safe_call1 when running a size change function.
48158         (grow_mini_window, shrink_mini_window): Report error when
48159         minibuffer window cannot be resized.
48161 2016-03-26  Paul Pogonyshev  <pogonyshev@gmail.com>
48163         Implement 'func-arity'
48165         * src/eval.c (Ffunc_arity, lambda_arity): New functions.
48166         * src/bytecode.c (get_byte_code_arity): New function.
48167         * src/lisp.h (get_byte_code_arity): Add prototype.
48169         * doc/lispref/functions.texi (What Is a Function): Document
48170         'func-arity'.
48172         * etc/NEWS: Mention 'func-arity'.
48174         * test/src/fns-tests.el (fns-tests-func-arity): New test set.
48176 2016-03-25  Alan Mackenzie  <acm@muc.de>
48178         Fix absence of c-noise-macro-name-re, etc., in languages which don't use it
48180         * lisp/progmodes/cc-engine.el (c-forward-keyword-prefixed-id, c-forward-type)
48181         (c-forward-declarator, c-forward-decl-or-cast-1, c-backward-over-enum-header)
48182         (c-guess-basic-syntax): Check c-opt-cpp-prefix before `looking-at'
48183         c-noise-macro-with-parens-name-re.
48185         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): The same as for
48186         cc-engine.el.
48188         * lisp/progmodes/cc-mode.el (c-basic-common-init): Add call to
48189         `c-make-noise-macro-regexps'.
48190         (c-mode, c++-mode, objc-mode): Remove calls to `c-make-noise-macro-regexps'.
48192         * lisp/progmodes/cc-vars.el (c-noise-macro-with-parens-name-re)
48193         (c-noise-macro-with-re): Initialize to "\\<\\>" rather than nil.
48195 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48197         (shr-insert): Respect non-breaking space in non-<pre> text
48199         * lisp/net/shr.el (shr-insert): Respect non-breaking space in
48200         non-<pre> text.
48202 2016-03-25  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48204         parse-times-string doc string clarification
48206         * lisp/calendar/parse-time.el (parse-time-string): Note that
48207         we accept RFC2822 strings.
48209 2016-03-25  Marcin Borkowski  <mbork@mbork.pl>
48211         Doc string fix
48213         * lisp/calendar/parse-time.el (parse-time-tokenize): Clarify
48214         doc string and clean up code.
48216 2016-03-25  Michael Albinus  <michael.albinus@gmx.de>
48218         Cleanup file notification code in Tramp
48220         * lisp/net/tramp-sh.el (tramp-sh-handle-file-notify-add-watch):
48221         Make `events' a list of symbols for "inotifywait".
48222         (tramp-sh-gvfs-monitor-dir-process-filter): Make event a list.
48223         Call `file-notify-handle-event' for better traces.
48224         (tramp-sh-inotifywait-process-filter): Check for expected events.
48225         Call `file-notify-handle-event' for better traces.
48227 2016-03-24  Michael Albinus  <michael.albinus@gmx.de>
48229         Adapt filenotify-tests.el according latest tests
48231         * test/lisp/filenotify-tests.el (file-notify-test02-events)
48232         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
48233         Remove superfluous `read-event' calls.
48234         (file-notify-test02-events): Expect different events under MS
48235         Windows 7 and 10.
48236         (file-notify-test04-file-validity): Move `file-notify-valid-p'
48237         check up.
48239 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
48241         Merge from origin/emacs-25
48243         ad250f2 Sync with gnulib
48244         c0165ea Resurrect GNUS-NEWS autogeneration
48246         # Conflicts:
48247         #       etc/GNUS-NEWS
48248         #       lisp/Makefile.in
48250 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
48252         Merge from origin/emacs-25
48254         e643977 Make `toggle-frame-maximized' respect the dock on OS X (bug#2...
48255         38a43f1 Fix bug in displaying header line with a box face
48257 2016-03-23  Paul Eggert  <eggert@cs.ucla.edu>
48259         * etc/NEWS: Use straight quotes.
48261 2016-03-23  Simen Heggestøyl  <simenheg@gmail.com>
48263         Support completion of attribute values in CSS mode
48265         * lisp/textmodes/css-mode.el (css-property-alist): New defconst
48266         holding CSS identifiers and the values they can have.
48267         (css-property-ids): Compute dynamically from `css-property-alist'.
48268         (css-value-class-alist): New defconst holding property value classes
48269         and their values.
48270         (css--property-value-cache): New variable providing a cache for
48271         `css--property-values'.
48272         (css--value-class-lookup): New function for computing a list of values
48273         in a value class.
48274         (css--property-values): New function for computing a list of possible
48275         values for a CSS property.
48276         (css--complete-property-value): New function for completing a property
48277         value.
48278         (css-completion-at-point): Add support for completing property values.
48279         * test/lisp/textmodes/css-mode-tests.el: New file.
48281 2016-03-22  Wilson Snyder  <wsnyder@wsnyder.org>
48283         Sync with verilog-mode development tree.
48285         * lisp/progmodes/verilog-mode.el (verilog-imenu-generic-expression,
48286         verilog-speedbar-initialize): Automatically add verilog-mode
48287         extensions when in speedbar mode, bug1045, bug1046.  Reported by
48288         David Shleifman.
48289         (verilog-mode-map): Move `verilog-star-comment' from M-* to C-c/ to
48290         avoid conflict with `pop-tag-mark'. Reported by Ian Perryman.
48291         (verilog-read-always-signals-recurse): Fix :: notation for
48292         auto-reset signals.  Reported by Andrew Jones.
48293         (verilog-font-lock-grouping-keywords-face): Fix highlighting of
48294         grouping keywords, bug1002. Reported by Paul Sargent.
48295         (verilog-save-font-no-change-functions): Commentary and fix
48296         pre-Emacs 21 behavior.
48298 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
48300         Compute a better commit message for merges
48302         Problem reported by David Engster in:
48303         https://lists.gnu.org/r/emacs-devel/2016-03/msg01270.html
48304         * admin/gitmerge.el (gitmerge-commit-message):
48305         Truncate the computed commit message to at most 72 characters per line.
48306         (gitmerge-maybe-resume): Don’t use "-" as the commit message for
48307         merges; use the computed commit message instead.
48309 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
48311         * admin/gitmerge.el (gitmerge-skip-regexp): Add "no need to merge".
48313 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
48315         Change do-not-merge pattern to "do not merge"
48317         This should avoid the problem we recently had with
48318         automatically-generated merge messages, while still letting people
48319         specify commits not to merge.
48320         * admin/gitmerge.el (gitmerge-skip-regexp): Add "do not merge".
48321         (gitmerge-highlight-skip-regexp): Fold case when searching
48322         for gitmerge-skip-regexp.
48324 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
48326         Merge from origin/emacs-25
48328         91e6676 Fix an Isearch var to be a string (Bug#23038)
48329         76ef522 Fix (args-out-of-range 1) error in cursor-sensor--detect
48331 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
48333         -
48335         -
48337 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
48339         Keep "merge" commits by default in gitmerge
48341         * admin/gitmerge.el (gitmerge-skip-regexp): Omit "merge", as it
48342         causes false positives.  See:
48343         https://lists.gnu.org/r/emacs-devel/2016-03/msg01234.html
48345 2016-03-22  Paul Eggert  <eggert@cs.ucla.edu>
48347         Assume NON_BLOCKING_CONNECT (Bug#22946)
48349         * lisp/proced.el (proced-signal-list): Omit comment about
48350         obsolete systems that do not support POSIX 1003.1-2001 signals.
48351         * src/process.c (NON_BLOCKING_CONNECT): Remove, since we can now
48352         assume POSIX 1003.1-2001 or better here.  Assume it’s defined.
48353         (connect_network_socket): Assume EINPROGRESS is defined,
48354         as that’s portable too now.
48355         (Fmake_network_process): Use bool for boolean.
48357 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
48359         Fix problems caused by new implementation of sub-word mode
48361         * lisp/subr.el (forward-word-strictly, backward-word-strictly):
48362         New functions.
48363         (word-move-empty-char-table): New variable.
48365         * etc/NEWS: Mention 'forward-word-strictly' and
48366         'backward-word-strictly'.
48368         * doc/lispref/positions.texi (Word Motion): Document
48369         'find-word-boundary-function-table', 'forward-word-strictly', and
48370         'backward-word-strictly'.  (Bug#22560)
48372         * src/syntax.c (syms_of_syntax)
48373         <find-word-boundary-function-table>: Doc fix.
48375         * lisp/wdired.el (wdired-xcase-word):
48376         * lisp/textmodes/texnfo-upd.el (texinfo-copy-node-name)
48377         (texinfo-copy-section-title, texinfo-start-menu-description)
48378         (texinfo-copy-menu-title, texinfo-specific-section-type)
48379         (texinfo-insert-node-lines, texinfo-copy-next-section-title):
48380         * lisp/textmodes/texinfo.el (texinfo-clone-environment)
48381         (texinfo-insert-@end):
48382         * lisp/textmodes/texinfmt.el (texinfo-format-scan)
48383         (texinfo-anchor, texinfo-multitable-widths)
48384         (texinfo-multitable-item):
48385         * lisp/textmodes/tex-mode.el (latex-env-before-change):
48386         * lisp/textmodes/flyspell.el (texinfo-mode-flyspell-verify):
48387         * lisp/skeleton.el (skeleton-insert):
48388         * lisp/simple.el (count-words):
48389         * lisp/progmodes/vhdl-mode.el (vhdl-beginning-of-libunit)
48390         (vhdl-beginning-of-defun, vhdl-beginning-of-statement-1)
48391         (vhdl-update-sensitivity-list, vhdl-template-block)
48392         (vhdl-template-break, vhdl-template-case, vhdl-template-default)
48393         (vhdl-template-default-indent, vhdl-template-for-loop)
48394         (vhdl-template-if-then-use, vhdl-template-bare-loop)
48395         (vhdl-template-nature, vhdl-template-procedural)
48396         (vhdl-template-process, vhdl-template-selected-signal-asst)
48397         (vhdl-template-type, vhdl-template-variable)
48398         (vhdl-template-while-loop, vhdl-beginning-of-block)
48399         (vhdl-hooked-abbrev, vhdl-port-copy, vhdl-hs-forward-sexp-func):
48400         * lisp/progmodes/verilog-mode.el (verilog-backward-sexp)
48401         (verilog-forward-sexp, verilog-beg-of-statement)
48402         (verilog-set-auto-endcomments, verilog-backward-token)
48403         (verilog-do-indent):
48404         * lisp/progmodes/vera-mode.el (vera-guess-basic-syntax)
48405         (vera-indent-block-closing):
48406         * lisp/progmodes/simula.el (simula-context)
48407         (simula-backward-up-level, simula-forward-down-level)
48408         (simula-previous-statement, simula-next-statement)
48409         (simula-skip-comment-backward, simula-calculate-indent)
48410         (simula-find-if, simula-electric-keyword):
48411         * lisp/progmodes/sh-script.el (sh-smie--rc-newline-semi-p):
48412         * lisp/progmodes/ruby-mode.el (ruby-smie--redundant-do-p)
48413         (ruby-smie--forward-token, ruby-smie--backward-token)
48414         (ruby-singleton-class-p, ruby-calculate-indent)
48415         (ruby-forward-sexp, ruby-backward-sexp):
48416         * lisp/progmodes/ps-mode.el (ps-run-goto-error):
48417         * lisp/progmodes/perl-mode.el (perl-syntax-propertize-function)
48418         (perl-syntax-propertize-special-constructs)
48419         (perl-backward-to-start-of-continued-exp):
48420         * lisp/progmodes/pascal.el (pascal-indent-declaration):
48421         * lisp/progmodes/octave.el (octave-function-file-p):
48422         * lisp/progmodes/mantemp.el (mantemp-insert-cxx-syntax):
48423         * lisp/progmodes/js.el (js--forward-function-decl):
48424         * lisp/progmodes/idlwave.el (idlwave-show-begin-check)
48425         (idlwave-beginning-of-block, idlwave-end-of-block)
48426         (idlwave-block-jump-out, idlwave-determine-class):
48427         * lisp/progmodes/icon.el (icon-is-continuation-line)
48428         (icon-backward-to-start-of-continued-exp, end-of-icon-defun):
48429         * lisp/progmodes/hideif.el (hide-ifdef-define):
48430         * lisp/progmodes/f90.el (f90-change-keywords):
48431         * lisp/progmodes/cperl-mode.el (cperl-electric-pod)
48432         (cperl-linefeed, cperl-electric-terminator)
48433         (cperl-find-pods-heres, cperl-fix-line-spacing)
48434         (cperl-invert-if-unless):
48435         * lisp/progmodes/cc-engine.el (c-forward-<>-arglist-recur):
48436         * lisp/progmodes/cc-align.el (c-lineup-java-inher):
48437         * lisp/progmodes/ada-mode.el (ada-compile-goto-error)
48438         (ada-adjust-case-skeleton, ada-create-case-exception)
48439         (ada-create-case-exception-substring)
48440         (ada-case-read-exceptions-from-file, ada-after-keyword-p)
48441         (ada-scan-paramlist, ada-get-current-indent, ada-get-indent-end)
48442         (ada-get-indent-if, ada-get-indent-block-start)
48443         (ada-get-indent-loop, ada-get-indent-type)
48444         (ada-search-prev-end-stmt, ada-check-defun-name)
48445         (ada-goto-decl-start, ada-goto-matching-start)
48446         (ada-goto-matching-end, ada-looking-at-semi-or)
48447         (ada-looking-at-semi-private, ada-in-paramlist-p)
48448         (ada-search-ignore-complex-boolean, ada-move-to-start)
48449         (ada-move-to-end, ada-which-function, ada-gen-treat-proc):
48450         * lisp/net/quickurl.el (quickurl-grab-url):
48451         * lisp/mail/sendmail.el (mail-do-fcc):
48452         * lisp/mail/rmail.el (rmail-resend):
48453         * lisp/mail/mailabbrev.el (mail-abbrev-complete-alias):
48454         * lisp/mail/mail-extr.el (mail-extract-address-components):
48455         * lisp/json.el (json-read-keyword):
48456         * lisp/files.el (insert-directory):
48457         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
48458         * lisp/completion.el (symbol-under-point, symbol-before-point)
48459         (symbol-before-point-for-complete, next-cdabbrev)
48460         (add-completions-from-c-buffer):
48461         * lisp/cedet/semantic/texi.el (semantic-up-context)
48462         (semantic-beginning-of-context):
48463         * lisp/cedet/semantic/bovine/el.el (semantic-get-local-variables):
48464         use 'forward-word-strictly' and 'backward-word-strictly' instead
48465         of 'forward-word' and 'backward-word'.
48467         [This reapplies commit c1d32a65372c72d7de4808d620eefd3214a8e92a,
48468         which was inadvertently lost by merge commit
48469         c71e7cc113ed0d5f01aaa2e441a3e3c9fbeb9fa5.]
48471 2016-03-21  Paul Eggert  <eggert@cs.ucla.edu>
48473         * etc/TODO: Minor quoting and grammar fixes.
48475         [This reapplies commit 433407d8230a8a256b26c6c7615d3921b43f59ce,
48476         which was inadvertently lost by merge commit
48477         5ab243f40e4db91586ff74b01a775a5218a1d5be.]
48479 2016-03-21  Alan Mackenzie  <acm@muc.de>
48481         Don't confuse "::" with ":" when trying to parse member initializers.
48483         * lisp/progmodes/cc-engine.el (c-back-over-member-initializers): Check
48484         more robustly for ":" token when searching backwards for it.
48486         * lisp/progmodes/cc-langs.el (c-:$-multichar-token-regexp): New
48487         language variable.
48489         [This reapplies commit 9e5452f7166e3634f2d8e943815ed722e1672714,
48490         which was inadvertently lost by merge commit
48491         7823745acbe9b87eea2db4ef434e379fc903ec35.]
48493 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
48495         Ensure positive number of glyphs for margins of positive width
48497         * src/dispnew.c (margin_glyphs_to_reserve): Always return a
48498         positive value when a non-zero width of the marginal area was
48499         requested.  (Bug#22356)
48501         [This reapplies commit 740849fe986b62a839bce4bbf67d0036fc1be0b9,
48502         which was inadvertently lost by merge commit
48503         7823745acbe9b87eea2db4ef434e379fc903ec35.]
48505 2016-03-21  Alan Mackenzie  <acm@muc.de>
48507         In comment-dwim with style `extra-line', respect indent-tabs-mode.
48509         This fixes bug #22369.
48511         * lisp/newcomment.el (comment-make-bol-ws): New function.
48512         (comment-make-extra-lines): Use new function instead of a crude `make-string'.
48514         [This reapplies commit 016b3d5894b8c424eab262aeefc646c6cd03a70a,
48515         which was inadvertently lost by merge commit
48516         7823745acbe9b87eea2db4ef434e379fc903ec35.]
48518 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
48520         Merge doc fixes for 'random' lost in previous merge
48522         [This reapplies part of commit
48523         3ffe81e245d854a694ae1734f1b6a995bdc5e724,
48524         which was inadvertently lost by merge commit
48525         7823745acbe9b87eea2db4ef434e379fc903ec35.]
48526         (Bug#22202)
48528 2016-03-21  Eli Zaretskii  <eliz@gnu.org>
48530         Unhide the --no-line-directive option to 'etags'
48532         * lib-src/etags.c (print_help): Un-undocument the --no-line-directive
48533         option.  (Bug#22306)
48535         * doc/man/etags.1: Document the --no-line-directive option.
48537         [This reapplies commit fee0526a189f43e8470d78e8374bd425890fbe6f,
48538         which was inadvertently lost by merge commit
48539         7823745acbe9b87eea2db4ef434e379fc903ec35.]
48541 2016-03-21  Alan J Third  <alan@idiocy.org>  (tiny change)
48543         Fix picture-mode wrt double-width characters
48545         * lisp/textmodes/picture.el (picture-insert): Check the width of
48546         the character being replaced, not just that of the replacement.
48547         (Bug#1808)
48549         [This reapplies commit b70dba4e18514411ed38b5bbb846558158842ace,
48550         which was inadvertently lost by merge commit
48551         7823745acbe9b87eea2db4ef434e379fc903ec35.]
48553 2016-03-20  Martin Rudalics  <rudalics@gmx.at>
48555         Resurrect earlier fix of resize_frame_windows
48557         * src/window.c (resize_frame_windows): Resurrect earlier fix for
48558         calculating the number of columns of the minibuffer window which
48559         was lost in subsequent merges.
48561 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48563         Move the cert files to the data directory
48565 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48567         Further empty <li> tweaks
48569         * lisp/net/shr.el (shr-tag-li): When showing several empty
48570         <li> elements, ensure that they really get inserted on a new line.
48572 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48574         Don't remove too much white space at the end of documents
48576         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): Don't
48577         remove too much white space -- leave it on the last line (in
48578         case there's a background color).
48580 2016-03-20  Alan Mackenzie  <acm@muc.de>
48582         Amend parse-partial-sexp correctly to handle two character comment delimiters
48584         Do this by adding a new field to the parser state: the syntax of the last
48585         character scanned, should that be the first char of a (potential) two char
48586         construct, nil otherwise.
48587         This should make the parser state complete.
48588         Also document element 9 of the parser state.  Also refactor the code a bit.
48590         * src/syntax.c (struct lisp_parse_state): Add a new field.
48591         (SYNTAX_FLAGS_COMSTARTEND_FIRST): New function.
48592         (internalize_parse_state): New function, extracted from scan_sexps_forward.
48593         (back_comment): Call internalize_parse_state.
48594         (forw_comment): Return the syntax of the last character scanned to the caller
48595         when that character might be the first of a two character construct.
48596         (Fforward_comment, scan_lists): New dummy variables, passed to forw_comment.
48597         (scan_sexps_forward): Remove a redundant state parameter.  Access all `state'
48598         information via the address parameter `state'.  Remove the code which converts
48599         from external to internal form of `state'.  Access buffer contents only from
48600         `from' onwards.  Reformulate code at the top of the main loop correctly to
48601         recognize comment openers when starting in the middle of one.  Call
48602         forw_comment with extra argument (for return of syntax value of possible first
48603         char of a two char construct).
48604         (Fparse_partial_sexp): Document elements 9, 10 of the parser state in the
48605         doc string.  Clarify the doc string in general.  Call
48606         internalize_parse_state.  Take account of the new elements when consing up the
48607         output parser state.
48609         * doc/lispref/syntax.texi: (Parser State): Document element 9 and the new
48610         element 10.  Minor wording corrections (remove reference to "trivial
48611         cases").
48612         (Low Level Parsing): Minor corrections.
48614         * etc/NEWS: Note new element 10, and documentation of element 9 of parser
48615         state.
48617 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48619         Allow the shr test files to have trailing blank space.
48621         * .gitattributes: Allow the shr test files to have trailing
48622         blank space.
48624 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48626         Add tests for empty <ul><li>
48628 2016-03-20  Paul Eggert  <eggert@cs.ucla.edu>
48630         * src/alloc.c (purecopy): Use AUTO_STRING.
48632 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48634         Ignore invalid base64 encoded embedded images
48636         * lisp/net/shr.el (shr-image-from-data): Ignore invalid base64
48637         encoded embedded images (bug#22928).
48639 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48641         Render empty <ul><li><ul> correctly
48643         * lisp/net/shr.el (shr-tag-ul): Render empty <ul><li><ul>
48644         correctly (bug#22964).
48646 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48648         Fix <p> and <div> newlines with or without <li> in shr
48650         * lisp/net/shr.el (shr-ensure-newline): Respect that we're in
48651         a <li>, if we are, and don't insert newlines there.
48652         (shr-ensure-paragraph): When mixing newlines and paragraph
48653         ensurements, don't insert too many blank lines.
48654         (shr-tag-div): A <div> shouldn't introduce a paragraph, but a
48655         new line.
48657 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48659         Add more shr HTML rendering tests
48661         Add a test harness for shr HTML rendering and one test
48663 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48665         Remove code left over from when overlays were used for padding
48667         * lisp/net/shr.el (shr-previous-newline-padding-width): Remove.
48668         (shr-remove-trailing-whitespace): Ditto.
48669         (shr-insert-document): Don't call them.
48671 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48673         Remove trailing blank lines in shr
48675         * lisp/net/shr.el (shr--remove-blank-lines-at-the-end): New function.
48676         (shr-insert-document): Use it to remove trailing blank lines
48677         at the end of documents, since these never seem to be very useful.
48679 2016-03-20  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48681         Don't bug out on nil `patch-buf' arguments
48683         * lisp/vc/ediff.el (ediff-patch-file): Don't bug out on nil
48684         `patch-buf' arguments.
48686 2016-03-20  Ernest Adrogué  <nfdisco@gmail.com>
48688         Add a Catalan language environment
48690         * lisp/international/mule-cmds.el (locale-language-names): Map locale
48691           language name `ca' to language environment `Catalan'.
48693         * lisp/language/european.el: Add definition of language
48694         environment for the Catalan language.
48696         * lisp/leim/quail/latin-pre.el: Add quail rule to the
48697         `catalan-prefix' input method to support input of middle dot
48698         characters through composition (bug#18279).
48700 2016-03-19  Paul Eggert  <eggert@cs.ucla.edu>
48702         No need to block input when reading directories
48704         * src/dired.c: Don’t include blockinput.h.
48705         (open_directory, directory_files_internal_unwind)
48706         (directory_files_internal, file_attributes):
48707         Don’t block input here, as the reasons for blocking input should
48708         no longer apply.  See blockinput.h FIXME.  (Bug#22996).
48710 2016-03-19  Oscar Fuentes  <ofv@wanadoo.es>
48712         * lisp/vc/vc-hooks.el: Fix typo
48714 2016-03-19  Fabrice Popineau  <fabrice.popineau@gmail.com>
48716         Improve w32notify notifications
48718         * src/w32notify.c (DIRWATCH_BUFFER_SIZE): New macro.
48719         (struct notification): 'terminate' is now a HANDLE.
48720         (send_notifications): Argument is now a pointer to a
48721         notification.  Don't loop waiting for the notification to be
48722         acknowledged by the main thread; instead, just add the
48723         notification to the linked list of notifications waiting to be
48724         acknowledged.
48725         (watch_end): Don't close the directory handle.
48726         (watch_completion): Allocate a new notification structure to be
48727         added to the notifications set.  Call ReadDirectoryChangesW
48728         immediately after adding the new notification, and before sending
48729         a message to the main thread about them.
48730         (watch_worker): Don't loop calling ReadDirectoryChangesW; instead,
48731         call it just once -- it will be called again in watch_completion.
48732         Loop waiting for the main thread's indication to terminate.
48733         (start_watching): Create the event to be used to indicate to the
48734         worker thread that its should terminate.
48735         (remove_watch): Indicate to the worker thread that it should
48736         terminate.
48737         * src/w32term.c (queue_notifications): Loop over all the
48738         notifications in the linked list, processing all of them in one
48739         go.
48740         * src/w32inevt.c (handle_file_notifications): Loop over all the
48741         notifications in the linked list.
48742         * src/w32xfns.c (init_crit): Initialize the linked list of file
48743         notifications.
48744         (delete_crit): Free the linked list of file notifications,
48745         including any unprocessed notifications left in it.
48746         * src/w32term.h (struct notifications_se): New struct.
48748         * test/lisp/filenotify-tests.el (file-notify-test02-events)
48749         (file-notify-test05-dir-validity): Add read-event calls to
48750         facilitate event recognition by the main thread in batch mode.
48752 2016-03-17  Sam Steingold  <sds@gnu.org>
48754         make `vc-log-operation' buffer local to allow multiple simultaneous editing
48756 2016-03-17  Glenn Morris  <rgm@gnu.org>
48758         Simplify some rococo Gnus code that loads or tests for other libraries.
48760         * lisp/gnus/gnus-art.el (gnus-treat-ansi-sequences): Simplify default.
48761         * lisp/gnus/mml-smime.el (epg): Simply require it.
48762         (mml-smime-use): Simplify the default.  Doc fix.
48763         * lisp/gnus/mml2015.el (epg-config): Require it.
48764         (mml2015-use): Simplify the default.
48765         * lisp/gnus/smime.el (password-cache): Simply require it.
48766         (password-read-and-add): Remove declaration.
48768 2016-03-16  Glenn Morris  <rgm@gnu.org>
48770         * test/lisp/dabbrev-tests.el: Merge fix: move here from test/automated.
48772 2016-03-16  Thomas Fitzsimmons  <fitzsim@fitzsim.org>
48773             Alex Harsanyi  <AlexHarsanyi@gmail.com>
48775         Sync with soap-client repository, version 3.1.1
48777         * lisp/net/soap-client.el (soap-encode-xs-complex-type): Fix error
48778         message.
48779         (soap-find-port): Delete trailing whitespace.
48780         (soap-find-operation): Fix documentation and rename parameter.
48781         (soap-find-port): Likewise.
48782         (soap-operation-arity): Likewise.
48784         * lisp/net/soap-client.el: Update copyright years.
48785         (soap-warning): Fix docstring quoting.
48786         (soap-decode-date-time): Likewise.
48787         (soap-validate-xs-simple-type): Remove tabs for indentation.
48788         * lisp/net/soap-inspect.el: Update copyright years.
48790         * lisp/net/soap-client.el (soap-encode-xs-basic-type): Do not
48791         assume xsd:base64Binary values are UTF-8 strings.
48792         (soap-decode-xs-basic-type): Likewise.
48793         (soap-invoke): Document xsd:base64Binary handling.
48795         * lisp/net/soap-client.el (soap-find-port, soap-find-operation)
48796         (soap-operation-arity): new defuns
48797         (soap-invoke-internal): use soap-find-port, soap-find-operation.
48799 2016-03-15  Paul Eggert  <eggert@cs.ucla.edu>
48801         Merge from gnulib
48803         This incorporates:
48804         2016-03-15 std-gnu11: improve clang support
48805         * m4/std-gnu11.m4: Copy from gnulib.
48807 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48809         Disable MOVE more for Dovecot
48811         * lisp/gnus/nnimap.el (nnimap-process-expiry-targets): Also
48812         disable MOVE when expirying.
48813         (nnimap-split-incoming-mail): And when splitting mail.
48815 2016-03-14  Lars Magne Ingebrigtsen  <larsi@gnus.org>
48817         Don't use MOVE on Dovecot
48819         * lisp/gnus/nnimap.el (nnimap-request-move-article): Don't use
48820         MOVE on Dovecot, since it's broken in many versions.
48821         (nnimap-quirks): Mark MOVE on Dovecot as non-working.
48823 2016-03-13  Paul Eggert  <eggert@cs.ucla.edu>
48825         Improve diff hunk headers when maintaining Emacs
48827         * .gitattributes: Improve diff hunk header support for makefiles,
48828         shell scripts, Ada, C, C++, Objective C, HTML, SHTML, XML, Java,
48829         Perl, PHP, Python, Ruby, and TeX, all of which are used in Emacs
48830         somewhere (sometimes just in test cases).
48831         * autogen.sh: Add regexes for makefiles and shell scripts.
48833 2016-03-12  Eli Zaretskii  <eliz@gnu.org>
48835         Update handling of <bdo> per Unicode 9.0
48837         * lisp/net/shr.el (shr-tag-bdo): Wrap in FSI..PDI as well, per
48838         Unicode 9.0 changes in UAX#9, paragraph 2.7.
48840 2016-03-11  John Wiegley  <johnw@newartisans.com>
48842         Merge from origin/emacs-25
48844         facb5e2 Update Emacs manual section related to character folding
48845         4efea8e ; * etc/DEBUG: Fix a typo.  (Bug#22984)
48846         f8df21b Update admin/notes/unicode
48847         950be68 Add symref-filepattern entries for c?perl-mode
48848         8b8a6ad Don't use XRANDR 1.3 extensions if the server doesn't support them.
48849         985dacf ; NEWS update for the last change in etags
48850         741a6f8 Sync with gnulib
48851         7352c6c Rework C source files to avoid ^(
48852         a589e9a By default, etags produces unqualified Perl tag names
48853         72c7438 Indent methods with keyword names correctly
48854         28532a9 Propertize character literals and special global variables
48855                 differently
48856         a7d6f39 ; Fix last change in NEWS
48857         83b2a20 Change how /etc/NEWS presents character folding
48858         b417c5a Revert "Revert "Backport: * lisp/isearch.el: Turn char-folding
48859                 off by default""
48860         711ca36 Properly handle lambda as read function (bug 22961)
48861         1b9d616 Propertize operator symbol names with symbol syntax class
48862         9b16bc2 Stop recognizing :#{} as symbol in ruby-mode
48863         366ec77 Allow using the left shift operator without spaces on both sides
48864         02bf7cc Properly handle unquoting in wdired (bug 22938)
48865         16cf469 ; Spelling fix and tighten up comment
48866         f50bc04 Allow splat operator before percent literal
48867         991c801 Don't apply the return value of goto-char as syntax class
48868         6e63b3e Guard against nested percent literals
48869         066f3bc Recognize iuwu-mod after an escaped newline
48870         6f7a57c Fix symbolic mode string conversion for s and t
48871         50b9826 Update 'ucs-names' database
48872         993b2fb Improve doc string of 'shell-command'
48873         b71c717 Make the code in movemail_strftime more general
48874         cc057e4 Speed up redisplay of binary files with long series of nulls
48875         e51b27e Remove the highlighting support for quoting 'like this' inside
48876                 Lisp docstrings
48877         b1abce1 Restore leading space in movemail pop output
48878         98b8d44 Fix bidi-paragraph-direction in Rmail view buffer
48879         dc9d837 Don't misindent computed property generator methods
48880         7923112 Fix mbox files produced by movemail on MS-Windows
48881         c45a1ca doc string file descriptor exhaustion fix
48882         265141b Fix Bug#22814
48884 2016-03-11  John Wiegley  <johnw@newartisans.com>
48886         Merge from origin/emacs-25
48888         620951f Fix previous fix of enlarge-/shrink-window
48889         2e78353 * lisp/isearch.el (isearch-define-mode-toggle): Fix toggling logic
48890         66d2717 Complete temperature units in calc-convert-temperature
48891         dbb02bf Make sure to use case-sensitive search
48892         8b01e69 Prevent infinite loop on not-well-formed xml. (Bug#16344)
48893         100346a Add the missing test case for the previous patch
48894         5aba61e Use the correct dabbrev expansion
48896 2016-03-11  Michael Albinus  <michael.albinus@gmx.de>
48898         Remove compat code in Tramp
48900         * lisp/net/tramp-sh.el (tramp-open-connection-setup-interactive-shell):
48901         Remove compat code.
48903 2016-03-10  Stefan Monnier  <monnier@iro.umontreal.ca>
48905         * lisp/textmodes/tex-mode.el: Complete local envs.  Use #'.
48907         Use #' for function names.
48908         (latex-complete-envnames): Include existing environments in
48909         current buffer.
48910         (latex-insert-block): Use latex-complete-envnames.
48911         (tildify-foreach-ignore-environments): Declare.
48913 2016-03-10  Alain Schneble  <a.s@realize.ch>
48915         Fix asynchronous TLS connections on MS-Windows
48917         * src/w32.c (sys_write): Don't switch the socket to blocking mode
48918         if the connection attempt is in progress.  Instead, return either
48919         EWOULDBLOCK immediately if the connection is in progress, or the
48920         error code produced by '_sys_wait_connect' if the connection
48921         failed.  Switching the socket to blocking mode was found to
48922         interfere with GnuTLS handshake.  (Bug#22789)
48924 2016-03-10  Alan Mackenzie  <acm@muc.de>
48926         Clarify the documentation of nested comments.
48928         * doc/lispref/syntax.texi (Syntax Flags): State that only comments of the same
48929         style are recognized inside nestable comments.
48930         (Low-Level Parsing): Clarify that parsing will stop after the start or end of
48931         UNNESTED comments.
48933 2016-03-10  Nicolas Richard  <youngfrog@members.fsf.org>
48935         Add new function display-buffer-reuse-mode-window
48937         * lisp/window.el (display-buffer-reuse-mode-window): New function.
48938         * doc/lispref/windows.texi (Display Action Functions): Document it.
48940 2016-03-09  Paul Eggert  <eggert@cs.ucla.edu>
48942         Minor fixes for getaddrinfo_a usage
48944         * src/process.c (Fdelete_process): Check gai_cancel return value.
48945         That way, there’s no need to invoke gai_error.  Check gai_suspend
48946         return value.
48947         (Fmake_network_process): Don’t assume gai_strerror returns a UTF-8
48948         string.  Simplify call to connect_network_socket.
48949         (check_for_dns): Avoid unnecessary initialization of local.
48951 2016-03-09  Sam Steingold  <sds@gnu.org>
48953         declare `rmail-mime-entity-truncated' and `rmail-mime-render-html-function'
48955         The former avoids a compiler warning, the latter fixes a bug whereas
48956         the variable is compiled as lexical instead of dynamic.
48958 2016-03-08  Paul Eggert  <eggert@cs.ucla.edu>
48960         Pacify --enable-gcc-warnings
48962         * src/xfns.c (x_create_tip_frame): Omit unused local.
48963         (Fx_show_tip): Don’t jump over auto initialization.
48965 2016-03-07  Martin Rudalics  <rudalics@gmx.at>
48967         Optionally reuse tooltip frames instead of deleting/recreating them.
48969         * src/frame.c (tooltip_reuse_hidden_frame): New option.
48970         * src/w32fns.c (x_create_tip_frame): Remove argument TEXT.  Fix
48971         handling of dividers.
48972         (x_hide_tip): New function.
48973         (Fx_show_tip): Try to reuse old tooltip frame when
48974         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
48975         have not changed.  Insert STRING here instead of passing it to
48976         x_create_tip_frame.  Compute size of tooltip window with
48977         Fwindow_text_pixel_size.  Obey Vw32_tooltip_extra_pixels when
48978         padding tooltip window.
48979         (Fx_hide_tip): Call x_hide_tip.
48980         (Vw32_tooltip_extra_pixels): New variable.
48981         * src/xdisp.c (Fwindow_text_pixel_size): Don't return negative y
48982         value.  Fix doc-string.
48983         * src/xfns.c (x_create_tip_frame): Remove argument TEXT.  Call
48984         make_frame with mini_p argument false.
48985         (x_hide_tip): New function.
48986         (Fx_show_tip): Try to reuse old tooltip frame when
48987         `tooltip-reuse-hidden-frame' is non-nil and frame parameters
48988         have not changed.  Insert STRING here instead of passing it to
48989         x_create_tip_frame.  Compute size of tooltip window with
48990         Fwindow_text_pixel_size.
48991         (Fx_hide_tip): Call x_hide_tip.
48992         * lisp/cus-start.el (tooltip-reuse-hidden-frame): Add
48993         customization entry.
48995 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
48997         Assume getaddrinfo in C code
48999         * admin/CPP-DEFINES, configure.ac: Remove HAVE_GETADDRINFO, HAVE_H_ERRNO.
49000         All uses removed.
49001         * doc/lispref/processes.texi (Network, Network Processes), etc/NEWS:
49002         Say that port numbers can be integer strings.
49003         * lib-src/pop.c (h_errno) [!WINDOWSNT && !HAVE_H_ERRNO]: Remove decl.
49004         (socket_connection): Assume HAVE_GETADDRINFO.
49005         * lisp/mpc.el (mpc--proc-connect):
49006         * lisp/net/network-stream.el (open-network-stream):
49007         It’s now OK to use integer strings as port numbers.
49008         * src/process.c (conv_numerical_to_lisp) [!HAVE_GETADDRINFO]: Remove.
49009         (Fmake_network_process): Assume HAVE_GETADDRINFO.
49011 2016-03-07  Paul Eggert  <eggert@cs.ucla.edu>
49013         Remove support for IRIX
49015         The IRIX port wasn’t really working anyway, and the code was
49016         getting in the way of other changes (e.g., getaddrinfo fixes).
49017         IRIX’s supplier dropped support for IRIX in 2013.
49018         * admin/CPP-DEFINES:
49019         * configure.ac (opsys):
49020         * doc/lispref/os.texi (System Environment):
49021         * etc/MACHINES, etc/PROBLEMS:
49022         * lisp/find-dired.el (find-grep-options):
49023         * lisp/lpr.el (lpr-lp-system):
49024         * lisp/ls-lisp.el (ls-lisp-emulation):
49025         * lisp/mail/rmail.el (rmail-spool-directory):
49026         * lisp/net/net-utils.el (ping-program-options):
49027         * lisp/progmodes/gud.el (gud-irix-p, gud-dbx-use-stopformat-p):
49028         * lisp/progmodes/ps-mode.el (ps-mode-print-function):
49029         * src/conf_post.h [IRIX6_5]:
49030         * src/emacs.c (Vsystem_type):
49031         * src/filelock.c (get_boot_time_1):
49032         * src/process.c (process_send_signal):
49033         * src/unexelf.c (unexec):
49034         Omit IRIX-specific code and/or documentation.
49035         * configure.ac (NON_GCC_TEST_OPTIONS, IRIX6_5, PREFER_VSUSP):
49036         Remove.  All uses removed.
49037         * etc/NEWS: Document the change.
49039 2016-03-06  John Wiegley  <johnw@newartisans.com>
49041         Revert "Use colors in the VC mode lines"
49043         This reverts commit 2621c293d82c15c00d9e73a8db75d70da7d0a23b.
49045 2016-03-06  Ken Brown  <kbrown@cornell.edu>
49047         Fix Cygwin-w32 build
49049         * src/w32fns.c (funhook, setup_w32_kbdhook, remove_w32_kbdhook):
49050         Define only if WINDOWSNT, and update all uses accordingly.
49051         * src/w32term.h (check_w32_winkey_state, setup_w32_kbdhook)
49052         (remove_w32_kbdhook): Declare only if WINDOWSNT.
49053         (w32_kbdhook_active): Define as 0 if not WINDOWSNT.
49055 2016-03-06  Eli Zaretskii  <eliz@gnu.org>
49057         Unbreak the MinGW64 build
49059         * nt/inc/ms-w32.h [MINGW_W64]: Undefine HAVE_GAI_STRERROR.  See
49060         https://lists.gnu.org/r/emacs-devel/2016-03/msg00130.html
49061         for the details.  Reported by Angelo Graziosi
49062         <angelo.graziosi@alice.it>.
49064 2016-03-06  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49066         Don't signal errors on E_AGAIN
49068         * src/gnutls.c (Fgnutls_errorp): Qgnutls_e_again is not an
49069         error now that TLS is async.
49071 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49073         Allow making TLS negotiation blocking
49075         * lisp/net/gnutls.el (gnutls-negotiate): Make negotiation blocking.
49077         * src/gnutls.c (Fgnutls_boot): Provide a new keyword,
49078         :complete-negotiation, to specify that we want complete
49079         negotiation even if the socket is non-blocking.
49080         (gnutls_try_handshake): Complete negotiation if given that keyword.
49082         * src/process.h (L): Added gnutls_complete_negotiation_p.
49084 2016-03-05  Lars Magne Ingebrigtsen  <larsi@gnus.org>
49086         Don't run ipv6 test on systems without ipv6
49088         * test/lisp/net/network-stream-tests.el
49089         (connect-to-tls-ipv6-nowait): Skip on systems without ipv6.
49091 2016-03-05  Eli Zaretskii  <eliz@gnu.org>
49093         Implement getaddrinfo fallback for MS-Windows
49095         See https://lists.gnu.org/r/emacs-devel/2016-02/msg01602.html
49096         for more details.
49098         * nt/mingw-cfg.site (ac_cv_func_getaddrinfo)
49099         (ac_cv_func_gai_strerror): Set to "yes", as the configure script's
49100         test program is not smart enough to auto-detect these.
49101         * nt/inc/sys/socket.h (getaddrinfo, freeaddrinfo): Redirect to
49102         sys_getaddrinfo and sys_freeaddrinfo.  Provide prototypes for
49103         sys_getaddrinfo and sys_freeaddrinfo.
49105         * src/w32.c (init_winsock): Try loading getaddrinfo and
49106         freeaddrinfo from ws2_32.dll.
49107         (sys_getaddrinfo, sys_freeaddrinfo): New functions.
49109         * lib-src/pop.c [WINDOWSNT]: Include winsock2.h, not winsock.h,
49110         and also ws2tcpip.h.
49111         (getaddrinfo, freeaddrinfo) [WINDOWSNT]: Redirect to
49112         sys_getaddrinfo and sys_freeaddrinfo, respectively.
49113         (load_ws2, sys_getaddrinfo, sys_freeaddrinfo) [WINDOWSNT]: New
49114         functions.
49116 2016-03-04  Glenn Morris  <rgm@gnu.org>
49118         * lisp/files.el: Fix recent typo.
49120         * lisp/subr.el (read-multiple-choice): Avoid free variable.
49122         * doc/lispref/files.texi (File Attributes): Fix typo.
49124 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
49126         Make the describe-key prompts clearer
49128         * lisp/help.el (describe-key-briefly): Make the prompt clearer
49129         (bug#14854).
49130         (describe-key): Ditto.
49132 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
49134         Allow scrolling while querying multiple choice
49136         * lisp/subr.el (read-multiple-choice): Allow scrolling the
49137         buffer while querying (bug#22827).
49139 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
49141         Add accessors for `file-attributes'
49143         * doc/lispref/files.texi (File Attributes): Mention the accessors.
49145         * lisp/files.el (file-attribute-type)
49146         (file-attribute-link-number, file-attribute-user-id)
49147         (file-attribute-group-id, file-attribute-access-time)
49148         (file-attribute-modification-time)
49149         (file-attribute-change-time, file-attribute-size)
49150         (file-attribute-modes, file-attribute-inode-number)
49151         (file-attribute-device-number): New functions.
49153         * src/dired.c (Ffile_attributes): Mention the accessors (bug#22890).
49155 2016-03-04  Michael Albinus  <michael.albinus@gmx.de>
49157         Fix Bug#22814
49159         * lisp/autorevert.el (global-auto-revert-mode): Do not set
49160         `auto-revert-use-notify' to nil.
49162         * etc/NEWS: Mention this.
49164         * etc/PROBLEMS: Remove problem Bug#22814.
49166         * src/kqueue.c: Include <sys/resource.h>.
49167         (Fkqueue_add_watch): Limit the number of used file descriptors.
49168         (Bug#22814)
49170         * test/lisp/filenotify-tests.el (file-notify--test-remote-enabled)
49171         (file-notify-test00-availability, file-notify-test01-add-watch)
49172         (file-notify-test02-events, file-notify-test06-many-events):
49173         Use #' read syntax for functions.
49174         (file-notify-test05-dir-validity)
49175         (file-notify-test06-many-events): Simplify directory creation.
49176         (file-notify-test09-sufficient-ressources): New test.
49178 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
49180         Fix insertion of edited servers in the dribble file
49182         * lisp/gnus/gnus-srvr.el (gnus-server-update-server): Don't
49183         insert explicit newlines, because they're quoted (bug#22903).
49185 2016-03-04  Lars Ingebrigtsen  <larsi@gnus.org>
49187         Move cl-seq-tests to the right place after the merge
49189         Move cl-seq-tests to the right place after the merge
49191 2016-03-03  John Wiegley  <johnw@newartisans.com>
49193         Merge from origin/emacs-25
49195         d6f6b7d * etc/AUTHORS: Update the AUTHORS file
49196         5cf7c39 authors.el updates
49197         a26f193 ; fix changelog entries
49198         fbc85c7 ; make change-history-commit
49199         06da00c Fix Bug#22859
49200         ab30bf5 ; * src/w32proc.c: Update the commentary to sys_select.
49201         1481029 Fix reordering of bidi text in an isolate inside an override
49202         60e0596 Document c-guess-basic-syntax in the CC Mode manual.
49204 2016-03-03  John Wiegley  <johnw@newartisans.com>
49206         Merge from origin/emacs-25
49208         f5d1435 Fix targets in test/automated/Makefile.in
49210 2016-03-03  John Wiegley  <johnw@newartisans.com>
49212         Merge from origin/emacs-25
49214         b6d6304 Comment on last change to define-derived-mode
49216 2016-03-03  John Wiegley  <johnw@newartisans.com>
49218         Merge from origin/emacs-25
49220         cb1e3da Also allow setting the paragraph direction to nil
49221         bbe8a89 Made the new OS X visible bell more visible.
49223 2016-03-03  John Wiegley  <johnw@newartisans.com>
49225         Merge from origin/emacs-25
49227         aae436e Uncomment the next-error-function integration in xref
49228         5f0d096 Remove the word "valid", to avoid ambiguity
49230 2016-03-03  John Wiegley  <johnw@newartisans.com>
49232         Merge from origin/emacs-25
49234         5a44bfe Set auto-revert-use-notify to nil in global-auto-revert-mode.  (Bug#22814)
49235         0d60bfc Fix ModelSim error parsing
49237 2016-03-03  John Wiegley  <johnw@newartisans.com>
49239         Merge from origin/emacs-25
49241         b13cab6 Add a eww command to toggle paragraph direction
49242         4e46128 * nextstep/WISHLIST: Merge into etc/TODO and remove.
49243         9e078e5 Fix char signedness issue in bidi code
49244         064adf6 * lib-src/pop.c (socket_connection): Fix format string.
49245         14060a9 Avoid inflooping in thing-at-point-looking-at
49246         098d47b * lisp/emacs-lisp/derived.el (define-derived-mode): Revert
49247                 indent change.
49248         b5db8e0 etc/PROBLEMS: Mention problems with using file descriptors
49249         ec10ef9 * lisp/apropos.el (apropos-variable): Doc fix.  (Bug#22813).
49250         d2dd614 Remove unneeded workaround in xftfont.c
49251         9b7593c ; * etc/NEWS: Reflect latest changes in saveplace.
49252         fde0cd1 * lisp/saveplace.el (save-place-local-mode): New minor mode
49253         06a872b Fix redisplay on a TTY after 'make-frame'
49254         95f5a43 Make double-click-1 work with unbalanced parens in CC Mode.
49255                 Fixes bug#5560.
49256         7d206fc Input method polish-slash should not use keyboard translation
49257         8be32cf Fix an assertion
49258         040e0d6 Fix 'toggle-save-place'
49259         5244db2 * src/keyboard.c: Don't inadvertently set immediate_echo (bug#22581)
49261 2016-03-03  John Wiegley  <johnw@newartisans.com>
49263         Merge from origin/emacs-25
49265         e6a3819 Update HISTORY section in readme for the NextStep interface.
49266         f67f1ed ; * doc/lispref/modes.texi (Font Lock Basics): Minor rewording.
49267         7c81a0b Improve documentation of 'save-place-mode'
49268         cab3f0a Allocate glyph matrices for the initial frame
49269         e01c72f Fix white space in last checkin
49270         370eb67 Make `insert-pair' always leave the cursor where documented
49271         b594393 etc/NEWS: Mention the new second parameter to `package-install'
49273 2016-03-03  John Wiegley  <johnw@newartisans.com>
49275         Merge from origin/emacs-25
49277         bd58c13 Improve documentation of focus-related hooks
49278         00a4720 Further improve doc string of 'disable-point-adjustment'
49279         c582def Further adaptions in file-notify-tests.el for w32notify
49280         a1585e1 Don't bug out on localized dates in gnus-icalendar
49282 2016-03-03  John Wiegley  <johnw@newartisans.com>
49284         Merge from origin/emacs-25
49286         7bc4820 Make setf for frame-height/width work again
49288 2016-03-03  John Wiegley  <johnw@newartisans.com>
49290         Merge from origin/emacs-25
49292         6620944 (cl-union): Do not ignore :test argument when lists are equal.
49293         17dd3fb Add `isearch' to `basic-faces'
49294         c1ec743 Make $, : and @ "prefix characters" in ruby-mode
49295         e72a26e Make find-tag-default-bounds more strict
49296         1bc0e0a Minor fixes in filenotify.el
49298 2016-03-02  Alain Schneble  <a.s@realize.ch>
49300         Fix issue of inserting images on some systems
49302         * lisp/net/shr.el (shr-tag-img): Construct a non-empty range
49303         to pass to shr-image-fetched, to indicate where to insert the
49304         image.  Fixes the issue introduced with commit
49305         80852f843e69b81618f29cfb9aa4b074946cb3c4
49306         (bug#22789).
49308 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
49310         Ensure TLS negotiation progress
49312         * src/gnutls.h (GNUTLS_EMACS_HANDSHAKES_LIMIT): Increase the
49313         number of retries so that we try for about a minute.
49315         * src/process.c (wait_reading_process_output): Ensure progress
49316         for DNS resolution and TLS negotiation.
49318 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
49320         emacs-module.h slight simplification
49322         * src/emacs-module.c (emacs_init_function, emacs_subr): Move here ...
49323         * src/emacs-module.h: ... from here, as they don’t need to be public.
49324         (enum emacs_arity): Remove useless enum tag.  The enum value is
49325         used in ptrdiff_t contexts.
49327         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
49329 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
49331         * src/emacs-module.c (CHECK_USER_PTR): Fix typo in previous change.
49333 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
49335         emacs-module.c simplification and tuneup
49337         * src/emacs-module.c (CHECK_USER_PTR): New function.
49338         (module_get_user_ptr, module_set_user_ptr)
49339         (module_get_user_finalizer, module_set_user_finalizer): Use it.
49340         (module_make_global_ref, module_copy_string_contents)
49341         (module_make_string, module_vec_set, module_vec_get): Omit
49342         unnecessary runtime tests.  For example, vector sizes are always
49343         fixnums, so we don’t need to test that they are in fixnum range.
49345 2016-03-02  Philipp Stephani  <phst@google.com>
49347         Use standard checks whenever possible.
49349         This is possible in all functions where we catch signals anyway.
49351         * src/emacs-module.c (module_make_global_ref, module_funcall)
49352         (module_copy_string_contents, module_make_string): Use xsignal0
49353         and CHECK macros for argument checks.
49355 2016-03-02  Paul Eggert  <eggert@cs.ucla.edu>
49357         Deterministic build improvements
49359         * configure.ac (BUILD_DETAILS): Rename from DETERMINISTIC_DUMP,
49360         and negate its sense.  Use it via AC_SUBST, not AC_DEFINE,
49361         and have its value be either empty or --no-build-details.
49362         All uses changed.  Change option to --disable-build-details.
49363         * doc/emacs/cmdargs.texi (Initial Options):
49364         Document --no-build-details.
49365         * doc/lispref/internals.texi (Building Emacs):
49366         * etc/NEWS:
49367         Document --disable-build-details.
49368         * doc/lispref/intro.texi (Version Info): Say that
49369         emacs-build-time can be nil.
49370         * lisp/erc/erc-compat.el (erc-emacs-build-time):
49371         Now nil if details are omitted.
49372         * lisp/erc/erc.el (erc-cmd-SV):
49373         * lisp/version.el (emacs-build-time):
49374         Now nil if no build details.
49375         (emacs-version):
49376         Output build time only if build details.
49377         * src/Makefile.in (BUILD_DETAILS): New macro.
49378         (temacs, bootstrap-emacs): Use it.
49379         * src/emacs.c (build_details): New var.
49380         (standard_args, main): Support --no-build-details.
49381         (Vdeterministic_dump): Remove; all uses replaced
49382         by !build_details.
49383         (syms_of_emacs): Set Vbuild_details to a boolean, not
49384         to a Lisp_Object.
49385         * src/lisp.h (build_details): New decl.
49386         * src/sysdep.c (init_system_name): When !build_details,
49387         set system-name to nil, not to "elided".
49389 2016-03-02  Philipp Stephani  <phst@google.com>
49391         Remove build system name from deterministic dumps
49393         * configure.ac (DETERMINISTIC_DUMP): New configuration option.
49394         * lisp/version.el (emacs-build-time): Add a comment to make the
49395         build time deterministic if requested.
49396         (emacs-build-system): Make variable deterministic if requested.
49397         * src/emacs.c (main): Initialize `deterministic-dump' from the
49398         configuration option.
49399         (syms_of_emacs): New constant `deterministic-dump'.
49400         * src/sysdep.c (init_system_name): Use a constant
49401         if a deterministic dump is requested.
49403 2016-03-02  Lars Ingebrigtsen  <larsi@gnus.org>
49405         Remove buggy parse-time test
49407         * test/lisp/calendar/parse-time-tests.el (parse-time-tests):
49408         Remove the iso parse test, since it doesn't work.
49410 2016-03-01  Paul Eggert  <eggert@cs.ucla.edu>
49412         * src/syntax.c (syntax_multibyte): Omit unnecessary parens.
49414 2016-02-29  Glenn Morris  <rgm@gnu.org>
49416         * lisp/emacs-lisp/autoload.el (autoload-timestamps):
49417         Experiment with setting to nil.
49419 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
49421         Make the revert command in timer-list-mode work
49423         * lisp/emacs-lisp/timer-list.el (timer-list): Make the revert
49424         command work.
49426 2016-02-29  Glenn Morris  <rgm@gnu.org>
49428         * lisp/emacs-lisp/autoload.el (autoload-find-destination):
49429         Fix 6-week old merge error.
49431         * lisp/emacs-lisp/autoload.el (update-file-autoloads):
49432         Ensure timestamps.
49434         * lisp/emacs-lisp/package.el (package-generate-autoloads):
49435         Disable timestamps.
49437 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
49439         Allow binding `url-mime-accept-string'
49441         * lisp/url/url-http.el (url-http): Allow binding
49442         `url-mime-accept-string' (bug#22855).
49444 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
49446         Add a NEWS entry for the colorful VC indicator
49448 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
49450         Use colors in the VC mode lines
49452         * lisp/vc/vc-hooks.el: Make the mode line faces default to
49453         using colors to more clearly tell the user what the status is.
49455 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
49457         Support <bdo> and <bdi>
49459         * lisp/net/shr.el (shr-tag-bdo): New function.
49460         (shr-tag-bdi): Ditto.
49462 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
49464         Respect <html dir=auto>
49466         * lisp/net/shr.el (shr-tag-html): Respect the "auto"
49467         directional HTML setting.
49469 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
49471         Default bidi paragraph direction to nil
49473         * lisp/net/eww.el (eww-display-html): Default bidi rendering
49474         to nil, so that possibly more Arabic web pages render
49475         correctly (bug#22786).
49476         (eww-setup-buffer): Ditto.
49478 2016-02-29  Mathias Dahl  <mathias.dahl@gmail.com>
49480         Preserve current column, going up/down in thumbnail view.
49482 2016-02-29  Alan Mackenzie  <acm@muc.de>
49484         Handle "noise" macros and compiler directives.
49486         * lisp/progmodes/cc-langs.el (c-symbol-char-key): New language variable.
49488         * lisp/progmodes/cc-vars.el (c-noise-macro-names)
49489         (c-noise-macro-with-parens-names): New customizable variables.
49490         (c-noise-macro-name-re, c-noise-macro-with-parens-name-re): New variables.
49491         (c-make-noise-macro-regexps): New function.
49493         * lisp/progmodes/cc-engine.el (c-forward-sws, c-backward-sws): Adapt to treat
49494         members of c-noise-macro-names as whitespace.
49495         (c-forward-noise-clause): New function.
49496         (c-forward-keyword-prefixed-id, c-forward-type, c-forward-declarator)
49497         (c-forward-decl-or-cast-1, c-backward-over-enum-header)
49498         (c-guess-basic-syntax CASE 5A.3, CASE 5A.5, CASE 9A):
49499         Handle "noise clauses" in parallel with, e.g., "hangon key clauses".
49501         * lisp/progmodes/cc-fonts.el (c-complex-decl-matchers): Handle "noise clauses"
49502         in parallel with "prefix-spec keywords".
49504         * lisp/progmodes/cc-mode.el (c-mode, c++-mode, objc-mode): call
49505         c-make-noise-macro-regexps to initialize the internal variables.
49507         * doc/misc/cc-mode.texi ("Noise Macros"): New section documenting the new
49508         facilities.
49510 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
49512         Stop calling res_init
49514         Emacs shouldn’t need to call res_init any more, now that nscd or
49515         equivalent is everywhere.  On modern systems, calling res_init
49516         simply slows Emacs down.  On ancient systems lacking nscd Emacs
49517         will still work well enough with this change; it’s just that it
49518         won’t respond to changes in /etc/resolv.conf.
49519         * configure.ac (HAVE_RES_INIT): Remove.  Worry about -lresolv only
49520         when configured --with-hesiod.  Hesiod is still used; see, e.g.:
49521         https://soylentnews.org/meta/article.pl?sid=15/07/13/0255214
49522         * src/Makefile.in (LIBRESOLV): Remove.  All uses removed.
49524 2016-02-29  Glenn Morris  <rgm@gnu.org>
49526         * lisp/progmodes/grep.el (grep-save-buffers): Fix type, tweak doc.
49528         * lisp/progmodes/grep.el (grep-save-buffers): Don't autoload defcustoms.
49530 2016-02-29  Paul Eggert  <eggert@cs.ucla.edu>
49532         * src/process.c (Fdelete_process): Simplify cast.
49534 2016-02-29  Lars Ingebrigtsen  <larsi@gnus.org>
49536         Use the correct background color when filling nested <divs>
49538         * lisp/net/shr.el (shr-face-background): Return the first
49539         background, because that's the one that's visible (bug#22680).
49541 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
49543         Make <div> in <li> not insert extra newlines
49545         * lisp/net/shr.el (shr-tag-div): Make <div> in <li> not insert
49546         extra newlines (bug#19587).
49548 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
49550         Allow reading Gnus reports from an offline cache
49552         * lisp/gnus/gnus-group.el (gnus-read-ephemeral-bug-group):
49553         Allow reading bug reports from an offline cache directory.
49555 2016-02-28  Tino Calancha  <f92capac@gmail.com>
49557         Meta + shift + Fn combos are recognized by xterm>=216.
49559         * lisp/term/xterm.el (xterm-alternatives-map): Meta + shift +
49560         Fn combos are recognized by xterm>=216 (bug#22837).
49562 2016-02-28  Simen Heggestøyl  <simenheg@gmail.com>
49564         Declare $ as an expression prefix in SCSS
49566         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
49567         expression prefix (bug#22841).
49569 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
49571         Revert "Declare $ as an expression prefix in SCSS"
49573         This reverts commit ffb33264f21e8af60b8055c47baffcf0f6c300df.
49575         Revering to fix author name.
49577 2016-02-28  Simen  <simenheg@gmail.com>
49579         Declare $ as an expression prefix in SCSS
49581         * lisp/textmodes/css-mode.el (scss-mode-syntax-table): Declare $ as an
49582         expression prefix (bug#22841).
49584 2016-02-28  Hugh Brown  <aardvark@saintaardvarkthecarpeted.com>
49586         Save buffers before running grep commands
49588         * lisp/progmodes/grep.el (grep-ask-about-save): New variable (bug#96).
49589         (grep, lgrep, rgrep): Use it (bug#96).
49591         * doc/emacs/building.texi (Grep Searching): Document
49592         `grep-save-buffers'.
49594         * lisp/progmodes/grep.el (grep-save-buffers): Rename from
49595         `grep-ask-about-save'.
49596         (grep--save-buffers): New function.
49597         (grep, lgrep, rgrep): Use it.
49599 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
49601         Allow sorting flyspell corrections
49603         * lisp/textmodes/flyspell.el (flyspell-sort): New function (bug#2405).
49604         (flyspell-sort-corrections-functionx): New variable.
49605         (flyspell-sort-corrections-alphabetically): New function.
49606         (flyspell-notify-misspell): Use them.
49607         (flyspell-auto-correct-word): Ditto.
49608         (flyspell-emacs-popup): Ditto.
49609         (flyspell-xemacs-popup): Ditto.  Suggested by Sebastien Delafond.
49611 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
49613         Wait for async DNS to complete before freeing resources
49615         * src/process.c (Fdelete_process): Wait for async DNS to
49616         complete before freeing the data structures it needs.
49618 2016-02-28  Lars Ingebrigtsen  <larsi@gnus.org>
49620         * lisp/faces.el: Remove duplicated functions from previous patch.
49622 2016-02-28  Eli Zaretskii  <eliz@gnu.org>
49624         Fix TLS connections on MS-Windows
49626         * src/w32.c (sys_write): If 'send' returns with WSAENOTCONN, and
49627         this is a non-blocking socket whose connection is in progress, set
49628         errno to EWOULDBLOCK, as expected by GnuTLS and other callers.
49629         Avoid overwriting the errno value from 'send' by 'ioctlsocket'.
49630         Suggested by Alain Schneble <a.s@realize.ch>.  (Bug#22789)
49632 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
49634         Add a NEWS entry for the read-color change
49636 2016-02-27  Jan Moringen  <jan.moringen@uni-bielefeld.de>
49638         Show the face colours when completing in `read-color'
49640         * lisp/faces.el (defined-colors-with-face-attributes): New function.
49641         (readable-foreground-color, defined-colors-with-face-attributes)
49642         (readable-foreground-color): Ditto.
49643         (read-color): Use them (bug#5305).
49645 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
49647         Clean up the code in parse-time-string-chars
49649         * lisp/calendar/parse-time.el (parse-time-string-chars):
49650         Clean up the code a bit.
49652 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
49654         Add some tests for parse-time.el
49656         * test/lisp/calendar/parse-time-tests.el: New file.
49658 2016-02-27  Dima Kogan  <dima@secretsauce.net>
49660         Strip out some leading whitespace when looking at logs
49662         * lisp/vc/vc-git.el (vc-git-expanded-log-entry): When looking
49663         at expanded git logs with `vc-print-root-log' (C-x v L, then
49664         <enter> by default), Emacs was stripping out all leading
49665         whitespace from git logs.  I now strip exactly 2 leading
49666         spaces, which retains the indentation in the logs (bug#18110).
49668 2016-02-27  Dima Kogan  <dima@secretsauce.net>
49670         Use a separate history variable for align-regexp
49672         * lisp/align.el (align-regexp-history): New variable (bug#16891).
49673         (align-regexp): Use it.
49675 2016-02-27  Phil Sung  <philbert@gmail.com>
49677         Create subdirectories automatically in wdired
49679         * lisp/wdired.el (wdired-create-parent-directories): New
49680         variable (bug#6817).
49681         (wdired-create-parentdirs): New function.
49682         (wdired-do-renames): Use it.
49683         * doc/emacs/dired.texi (Wdired): Mention
49684         `wdired-create-parent-directories'
49686 2016-02-27  Lars Ingebrigtsen  <larsi@gnus.org>
49688         Return the correct error values from gnutls.c
49690         * src/gnutls.c (emacs_gnutls_read): Set errno to the value
49691         expected by process.c.
49692         (gnutls_try_handshake): Set gnutls_p to true earlier to avoid
49693         possible race condition with the process.c socket polling
49694         functions.
49696 2016-02-27  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
49698         Don't make assumptions about mkdir.  (Bug#22822)
49700         * test/Makefile.in (MKDIR_P): New, set by configure.
49701         (%.log): Use MKDIR_P.
49703 2016-02-27  Alexander Kuleshov  <kuleshovmail@gmail.com>
49705         Support switching to hexl-mode from image-mode
49707         * lisp/image-mode.el (image-toggle-hex-display)
49708         (image-mode-to-text): New functions.
49709         (image-mode-map, image-minor-mode-map): Bind "C-c C-x" to
49710         image-toggle-hex-display.
49711         (image-mode-map): New menu item "Show as Hex".
49712         (image-mode): Update doc string and echo-area message.
49713         (image-toggle-display): Support toggle to hex.  (Bug#22453)
49715         * doc/emacs/files.texi (File Conveniences): Document
49716         'image-toggle-hex-display'.
49718 2016-02-27  Eli Zaretskii  <eliz@gnu.org>
49720         Remove unused code in coding.c
49722         * src/coding.c (decode_eol): Remove unused code that handled the
49723         case of coding->dst_object being nil.  Replace it with an
49724         assertion.
49726 2016-02-26  Aurelien Aptel  <aaptel@suse.com>
49728         * src/syntax.c: Fix result of syntax_multibyte()
49730         The ?: operator has a lower precedence than ||.
49731         Bug introduced by commit 45b683a.
49733 2016-02-26  Paul Eggert  <eggert@cs.ucla.edu>
49735         --enable-gcc-warnings now uses -Wjump-misses-init
49737         When configuring with --enable-gcc-warnings, also enable
49738         -Wjump-misses-init, as it’s confusing to use a goto to skip over
49739         an initialization.  Fix the few places in the code that run afoul
49740         of this warning.
49741         * configure.ac (WERROR_CFLAGS): Add -Wjump-misses-init.
49742         * src/doc.c (Fsubstitute_command_keys):
49743         * src/image.c (svg_load_image):
49744         * src/regex.c (re_match_2_internal):
49745         * src/xdisp.c (redisplay_internal, redisplay_window):
49746         Don’t jump over initialization.
49748 2016-02-26  Jussi Lahdenniemi  <jussi@aprikoodi.fi>
49750         Improve the register-hotkey functionality on MS-Windows
49752         * src/w32fns.c (_WIN32_WINNT): Define to 0x0600, needed for
49753         keyboard hook functionality.
49754         Include w32inevt.h, basetyps.h and unknwn.h.
49755         (VK_ANY, WM_WTSSESSION_CHANGE, WTS_SESSION_LOCK): New macros.
49756         (kbdhook): A new struct definition.
49757         (funhook, setup_w32_kbdhook, remove_w32_kbdhook, hook_w32_key)
49758         (check_w32_winkey_state, reset_w32_kbdhook_state): New functions.
49759         (modifier_set): Call check_w32_winkey_state if a Win key was
49760         pressed and the keyboard hook is active.
49761         (w32_wnd_proc): Don't handle Win key combinations if the keyboard
49762         hook is active.  Only register/unregister the hotkeys if the
49763         keyboard hook is not active.  When WM_CREATE is received, call
49764         setup_w32_kbdhook.  When WM_DESTROY is received, call
49765         reset_w32_kbdhook_state.
49766         (lookup_vk_code): When the keyboard hook is active, map
49767         alphanumeric characters to themselves.
49768         (w32_parse_and_hook_hot_key): Renamed from w32_parse_hot_key.  Map
49769         modified keys to VK_ANY if the keyboard hook is active.  Register
49770         Alt-x and Win-x combinations.
49771         (Fw32_shell_execute): Update doc string to reflect new
49772         functionality.  Bypass the code that posts the
49773         WM_EMACS_REGISTER_HOT_KEY message if the keyboard hook is active.
49774         (Fw32_unregister_hot_key): Bypass the code that posts the
49775         WM_EMACS_UNREGISTER_HOT_KEY message if the keyboard hook is active.
49776         (syms_of_w32fns) <w32-pass-lwindow-to-system>
49777         <w32-pass-rwindow-to-system, w32-phantom-key-code>
49778         <w32-lwindow-modifier, w32-rwindow-modifier>: Update doc strings
49779         to reflect the new functionality.
49780         * src/w32console.c (initialize_w32_display): Install the low-level
49781         keyboard hook.
49782         * src/w32inevt.c (key_event): Handle Win-x combinations only if
49783         the keyboard hook is not active.  If the hook is active, use
49784         check_w32_winkey_state instead.
49785         * src/w32term.h (setup_w32_kbdhook, remove_w32_kbdhook)
49786         (check_w32_winkey_state): Add prototypes.
49787         (w32_kbdhook_active): New macro.
49789         * doc/emacs/msdos.texi (Windows Keyboard): Update to reflect the
49790         new functionality.
49792 2016-02-25  Aaron S. Hawley  <aaron.s.hawley@gmail.com>
49794         Add forward-sexp (and related) tests
49796         * test/lisp/emacs-lisp/lisp-tests.el: New file for testing
49797         forward-sexp and related functions (bug#22800).
49799 2016-02-25  Jan Tatarik  <jan.tatarik@gmail.com>
49801         Don't use (localized) week days in dates
49803         * lisp/gnus/gnus-icalendar.el
49804         (gnus-icalendar-event:org-timestamp): Don't use (localized)
49805         week days in the dates, because that messes up things later.
49807 2016-02-25  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
49809         Update pcomplete/find
49811         * lisp/pcmpl-gnu.el (pcomplete/find): Update to newest version
49812         (bug#10487).
49814 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
49816         Make parse-time-string-chars more efficient
49818         * lisp/calendar/parse-time.el (parse-time-string-chars): The
49819         string has already been downcase, so don't care about case
49820         (bug#18522).
49822 2016-02-25  Lars Ingebrigtsen  <larsi@gnus.org>
49824         Remove killed buffers from the list of Gnus buffers
49826         * lisp/gnus/gnus.el (gnus-prune-buffers): Remove killed
49827         buffers from the list of Gnus buffers (bug#18522).
49829 2016-02-25  Paul Eggert  <eggert@cs.ucla.edu>
49831         Integer overflow cleanups for ports and socklen
49833         * src/process.c (struct sockaddr_and_len, conv_sockaddr_to_lisp)
49834         (get_lisp_to_sockaddr_size, Fset_process_datagram_address)
49835         (connect_network_socket):
49836         Use ptrdiff_t, not int, for signed object sizes.
49837         This addresses only a theoretical problem, as in practice these
49838         object sizes are less than 2**31, but we might as well use the
49839         same style here as elsewhere in Emacs.
49840         (string_integer_p): Remove; all uses removed.
49841         (Fmake_network_process): Check that port number is in range.
49842         When converting an integer-string service, rely on strtol
49843         rather than rechecking the string by hand.
49844         * src/process.h, src/w32.c (conv_sockaddr_to_lisp):
49845         Adjust prototypes to match.
49847 2016-02-24  Thierry Volpiatto  <thierry.volpiatto@gmail.com>
49849         Add pcomplete support for find
49851         * lisp/pcmpl-gnu.el (pcomplete/find): Add pcomplete support
49852         for find (bug#10487).
49854 2016-02-24  Per Starbäck  <starback@stp.lingfil.uu.se>
49856         Replace XXX acronyms with draft standard ones
49858         * lisp/international/characters.el (c1-acronyms): Replace XXX
49859         entries with the acronyms PAD, HOP, SGCI from draft DIS 10646
49860         (bug#13745).
49862 2016-02-24  Kevin Ryde  <user42@zip.com.au>
49864         Make checkdoc warn about variables described as "True"
49866         * lisp/emacs-lisp/checkdoc.el (checkdoc-this-string-valid-engine):
49867         Docstrings for variables "True...", and functions "Return
49868         true...", should usually be "non-nil" (bug#15506).
49870 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
49872         Add NEWS entry for "number string" change
49874 2016-02-24  Lars Ingebrigtsen  <larsi@gnus.org>
49876         Allow using "number strings" as services on non-GNU systems
49878         * src/process.c (string_integer_p): New function.
49879         (Fmake_network_process): Use it to allow connecting to
49880         services specified as "993" even when getaddrbyname isn't
49881         available.
49883 2016-02-24  Michael Albinus  <michael.albinus@gmx.de>
49885         Fix problem in tramp.texi
49887         * doc/misc/tramp.texi (File name completion): Do not use
49888         @trampfn{} for IPv6 addresses.  Somehow, it results in errors
49889         during PDF creation.
49891 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
49893         Make image commands available in image-mode
49895         * lisp/image-mode.el (image-mode-map): Inherit from
49896         `image-map' so that the usual image commands work.
49898 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
49900         Move `o' to `O' in shr-map
49902         * lisp/net/shr.el (shr-map): `shr-save-contents' has moved
49903         from `o' to `O' to avoid collisions with `image-map'.
49905 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
49907         Make setting the coding system non-blocking
49909         * src/process.c (Fset_process_filter_multibyte): Defer
49910         completing coding system setup in asynchronous processes.
49911         (Fset_process_coding_system): Ditto.
49913 2016-02-23  Gregoire Jadi  <daimrod@gmail.com>
49915         Mention `proced-toggle-auto-update' in the proced-mode doc string
49917         * lisp/proced.el (proced-mode): Mention
49918         `proced-toggle-auto-update' (bug#14341).
49920 2016-02-23  Joshua Datko  <jbdatko@gmail.com>  (tiny change)
49922         Add a fortune-message command
49924         * lisp/play/fortune.el (fortune-message): Add a command to
49925         display fortunes in the echo area (bug#14915).
49927 2016-02-23  Susanne Oberhauser  <froh@suse.com>  (tiny change)
49929         Add hideshow bindings analogous to outline mode
49931         * lisp/progmodes/hideshow.el (hs-minor-mode-map): Add bindings
49932         analogous to outline mode bindings (bug#15324).
49934 2016-02-23  Bastien Guerry  <bzg@altern.org>
49936         Allow highlighting things like @math{2^{12}}
49938         * lisp/textmodes/texinfo.el (texinfo-font-lock-keywords):
49939         Allow highlighting things like @math{2^{12}} (bug#16390).
49941 2016-02-23  Per Bothner  <per@bothner.com>
49943         Make `C-{up,down,left,right}' work in term mode
49945         * lisp/term.el (term-raw-map): Define C-{up,down,left,right}
49946         to send the same escape sequence that xterm sends.  This makes
49947         backward-word and forward-word work in readline (bug#16746).
49949 2016-02-23  Dima Kogan  <dima@secretsauce.net>
49951         Allow ff-find-other-file (etc) to work with indirect clone buffers
49953         * lisp/find-file.el (ff-buffer-file-name): New function to
49954         allow the feature to work with indirect buffers, too
49955         (bug#16904).
49956         (ff-find-the-other-file): Use it.
49957         (ff-other-file-name): Ditto.
49958         (ff-get-file-name): Ditto.
49960 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
49962         Fix error in add-change-log-entry when the entry has no newline
49964         * lisp/vc/add-log.el (add-change-log-entry): The entry in the
49965         ChangeLog may end without a new line starting with blanks.
49967 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
49969         Avoid using mm-util functoins in gravatar.el
49971         * lisp/image/gravatar.el (gravatar-retrieve): Avoid using
49972         mm-util functions.
49973         (gravatar-retrieve-synchronously): Ditto.
49975 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
49977         Move low-level library files from the lisp/gnus directory
49979         The files moved from lisp/gnus are:
49981         auth-source.el -> /
49982         compface.el -> /image
49983         ecomplete.el -> /
49984         flow-fill.el -> /mail
49985         gravatar.el -> /image
49986         gssapi.el -> /net
49987         html2text.el -> /net
49988         ietf-drums.el -> /mail
49989         mail-parse.el -> /mail
49990         mail-prsvr.el -> /mail
49991         mailcap.el -> /net
49992         plstore.el -> /
49993         pop3.el -> /net
49994         qp.el -> /mail
49995         registry.el -> /
49996         rfc1843.el -> /international
49997         rfc2045.el -> /mail
49998         rfc2047.el -> /mail
49999         rfc2231.el -> /mail
50000         rtree.el -> /
50001         sieve-manage.el -> /net
50002         sieve-mode.el -> /net
50003         sieve.el -> /net
50004         starttls.el -> /net
50005         utf7.el -> /international
50006         yenc.el -> /mail
50008 2016-02-23  Tino Calancha  <f92capac@gmail.com>
50010         Allow undoing changes while doing query-replace
50012         * doc/lispref/searching.texi (Search and Replace): Mention
50013         undo (bug#21684).
50015         * lisp/replace.el (query-replace-help): Document undo.
50016         (perform-replace): Implement undo while replacing text.
50018 2016-02-23  John F. Trudeau  <JFTrudeau@aetna.com>  (tiny change)
50020         Highlight assignments in Makefiles more correctly
50022         * lisp/progmodes/make-mode.el (makefile-macroassign-regex):
50023         Highlight assignments preceded by a TAB character correctly
50024         (bug#20787).
50026 2016-02-23  Fredrik Bergroth  <fbergroth@gmail.com>  (tiny change)
50028         Use memmove instead of memcpy on overlapping regions
50030         * src/editfns.c (Ftranspose_regions): Regions may overlap, so
50031         use memmove instead of memcpy (bug#19213).
50033 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
50035         Port to --enable-gcc-warnings sans getaddrinfo_a
50037         * src/process.c (Fmake_network_process): Add ATTRIBUTE_UNUSED
50038         to a local unused when getaddrinfo_a is missing.
50039         Resize portbuf to size needed.  Do cheap test first.
50040         Move local to block where it’s needed.
50042 2016-02-23  Paul Eggert  <eggert@cs.ucla.edu>
50044         Minor cleanups for async DNS etc.
50046         * src/frame.h (FRAME_WINDOW_CONFIGURATION_CHANGED):
50047         Omit unnecessary parens.
50048         * src/gnutls.c (gnutls_try_handshake, emacs_gnutls_deinit)
50049         (gnutls_verify_boot):
50050         Use bool for boolean.
50051         (ATTRIBUTE_FORMAT_PRINTF): Add printf attribute.
50052         * src/process.c (free_dns_request, Fmake_network_process):
50053         Allocate and free async request control block all in one go.
50054         (set_network_socket_coding_system, finish_after_tls_connection)
50055         (connect_network_socket):
50056         Now static.
50057         (conv_numerical_to_lisp): 2nd arg is now int, not unsigned.
50058         (Fmake_network_process): Use list1 for brevity.
50059         (wait_for_socket_fds): 2nd arg is now const ptr.
50060         * src/process.h (struct Lisp_Process.dns_request):
50061         Now struct gaicb *, not struct gaicb **, since there was always
50062         exactly one.  All uses changed.
50063         * src/window.c, src/window.h (run_window_configuration_change_hook):
50064         Now static.
50066 2016-02-23  Carlos Pita  <carlosjosepita@gmail.com>
50068         Allow more shell script defun forms
50070         * lisp/progmodes/sh-script.el (sh-mode): Allow more shell
50071         script defun forms, like function name () {...} (bug#19754).
50073 2016-02-23  Martin Rudalics  <rudalics@gmx.at>
50075         Fix `window-configuration-change-hook' and `window-size-change-functions'
50077         (1) Run `window-configuration-change-hook' if and only if at least
50078         one window was deleted or created or shows another buffer since
50079         last redisplay.
50081         (2) Run `window-size-change-functions' if and only if at least
50082         one window changed its size since last redisplay (in a few cases
50083         `window-size-change-functions' will also run when no window
50084         changed its size).
50086         (3) Provide two functions `window-pixel-height-before-size-change'
50087         and `window-pixel-width-before-size-change' that allow to easily
50088         detect which window changed size.
50090         * src/frame.h (struct frame): New boolean member
50091         window_configuration_changed.
50092         (FRAME_WINDOW_SIZES_CHANGED): Remove macro.
50093         (FRAME_WINDOW_CONFIGURATION_CHANGED): New macro.
50094         * src/frame.c (adjust_frame_size): Don't run
50095         `window-configuration-change-hook'.
50096         * src/window.h (struct window): New fields
50097         pixel_width_before_size_change and pixel_height_before_size_change.
50098         (WINDOW_INTERNAL_P): New macro.
50099         * src/window.c (Fwindow_pixel_width_before_size_change)
50100         (Fwindow_pixel_height_before_size_change): New functions.
50101         (Fdelete_other_windows_internal, Fwindow_resize_apply)
50102         (resize_frame_windows, Fsplit_window_internal)
50103         (Fdelete_window_internal, grow_mini_window)
50104         (shrink_mini_window, Fresize_mini_window_internal): Don't call
50105         FRAME_WINDOW_SIZES_CHANGED.
50106         (window_size_changed, window_set_before_size_change_sizes)
50107         (run_window_size_change_functions): New functions.
50108         (make_window): Initialize pixel_width_before_size_change and
50109         pixel_height_before_size_change.
50110         (Fdelete_window_internal): Don't call
50111         run_window_configuration_change_hook.
50112         (struct saved_window): Add pixel_height_before_size_change and
50113         pixel_width_before_size_change.
50114         (Fset_window_configuration): Try to identify window configuration
50115         changes correctly so run_window_configuration_change_hook and
50116         run_window_size_change_functions run only if configuration and size
50117         really changed.
50118         (save_window_save): Set the pixel_height_before_size_change and
50119         pixel_width_before_size_change fields.
50120         (Vwindow_size_change_functions): Move here definition from xdisp.c.
50121         * src/xdisp.c (prepare_menu_bars, redisplay_internal): Call
50122         run_window_size_change_functions.
50123         (Vwindow_size_change_functions): Move definition to window.c.
50124         * src/xfns.c (x_set_menu_bar_lines): Don't call
50125         run_window_configuration_change_hook.
50126         * doc/lispref/windows.texi (Window Sizes): Document new
50127         functions `window-pixel-height-before-size-change' and
50128         `window-pixel-width-before-size-change'.
50129         (Window Configurations): Mention that this may trigger
50130         execution of `window-size-change-functions' although no window
50131         changed size.
50132         (Window Hooks): Update descriptions of `window-size-change-functions'
50133         and `window-configuration-change-hook'.
50135 2016-02-23  Drew Adams  <drew.adams@oracle.com>
50137         (ls-lisp-insert-directory): Make -B work
50139         * lisp/ls-lisp.el (ls-lisp-insert-directory): Make -B work
50140         (bug#20776).
50142 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
50144         Fix typo in message-setup-fill-variables
50146         * lisp/gnus/message.el (message-setup-fill-variables): Fix
50147         typo in a recent checkin that used `setq-default' instead of
50148         `setq-local' (bug#22781).
50150 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
50152         `message-dont-reply-to-names' can also be a list of regexps
50154         * lisp/gnus/message.el (message-dont-reply-to-names):
50155         `message-dont-reply-to-names' can also be a list of regexps (bug#22773).
50157 2016-02-23  Vaidheeswaran C  <vaidheeswaran.chinnaraju@gmail.com>
50159         Make buttons in header lines work
50161         * lisp/help-mode.el (help-button-action): `help-xref-button' in
50162         header line doesn't work (bug#21024).
50164 2016-02-23  Vasilij Schneidermann  <v.schneidermann@gmail.com>
50166         Place apples randomly in Snake
50168         * lisp/play/snake.el (snake-score): New variable (bug#21359).
50169         (snake-set-dot): Place the apples randomly.
50171 2016-02-23  Tino Calancha  <f92capac@gmail.com>
50173         Allow optional parameter to be nil
50175         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Allow the
50176         optional parameter to be nil (bug#21576).
50178 2016-02-23  Tino Calancha  <f92capac@gmail.com>
50180         Completely ignore buffers with no name when copying file names
50182         * lisp/ibuf-ext.el (ibuffer-copy-filename-as-kill): Completely
50183         ignore buffers with no file name. (bug#21577).
50185 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
50187         Make spelling of "Eshell" consistent
50189         * lisp/eshell/esh-mode.el (eshell-mode): Spell it "Eshell".
50190         * lisp/eshell/eshell.el (eshell-command):
50191         Spell it "Eshell" (bug#21678).
50193 2016-02-23  Simen Heggestøyl  <simenheg@gmail.com>
50195         Allow pretty lambdas in Scheme mode
50197         * lisp/progmodes/scheme.el (scheme-mode-variables): Borrow
50198         `prettify-symbols-alist' from Lisp mode (bug#21679).
50200 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
50202         Rename lisp--prettify-symbols-alist
50204         * lisp/emacs-lisp/lisp-mode.el (lisp-prettify-symbols-alist):
50205         Rename from `lisp--prettify-symbols-alist' since we're going
50206         to use it in Scheme mode, too.
50207         (lisp-mode-variables): Use it.
50209 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>  (tiny change)
50211         Remove spurious newline in package list
50213         * lisp/emacs-lisp/package.el (describe-package-1): Remove
50214         spurious newline (bug#21706).
50216 2016-02-23  Lars Ingebrigtsen  <larsi@gnus.org>
50218         Revert "Remove spurious newline in package list"
50220         This reverts commit fad14c289d36a2c61e0fd34105ebb1f62c80d71d.
50222 2016-02-23  Chunyang Xu  <xuchunyang56@gmail.com>
50224         Remove spurious newline in package list
50226         * lisp/emacs-lisp/package.el (describe-package-1): Remove
50227         spurious newline (bug#21706).
50229 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
50231         Keep the position in the process buffer when deleting processes
50233         * lisp/simple.el (process-menu-delete-process): Keep the
50234         position in the buffer after killing a process (bug#21759).
50236 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
50238         Require that the buffer that we're trying to patch exist
50240         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
50241         buffer that we're trying to patch exist (bug#21852).
50243 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
50245         Require that the buffer that we're trying to patch exist
50247         * lisp/vc/ediff.el (ediff-patch-buffer): Require that the
50248         buffer that we're trying to patch exist (bug#21852).
50250 2016-02-22  Tino Calancha  <f92capac@gmail.com>  (tiny change)
50252         Be more verbose when changing frame mode in ediff
50254         * lisp/vc/ediff-util.el (ediff-toggle-multiframe): Say what
50255         mode we toggled to (bug#21853).
50257 2016-02-22  Łukasz Stelmach  <stlman@poczta.fm>
50259         Encode header strings before printing
50261         * lisp/ps-print.el (ps-generate-header-line): Encode the
50262         header strings to avoid problems with non-ASCII headers
50263         (bug#22611).
50265 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
50267         Test message-strip-subject-trailing-was
50269         * test/lisp/gnus/message-tests.el (message-strip-subject-trailing-was):
50270         New test (bug#22632).
50272 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
50274         Make use of the `ert-with-function-mocked' macro
50276         * test/lisp/calendar/icalendar-tests.el (icalendar--create-uid):
50277         * test/lisp/vc/vc-bzr-tests.el (vc-bzr-test-bug9781): Use
50278         `ert-with-function-mocked' instead of implementing the fragile
50279         `unwind-protect' logic openly.
50281 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
50283         message-strip-subject-trailing-was: Refactor
50285         * lisp/gnus/message.el (message-strip-subject-trailing-was): Refactor
50286         the function replacing sequence of `if' calls with a mixture of `or'
50287         and `and' calls instead.  This makes it shorter and containing less
50288         internal state thus easier to follow.
50290 2016-02-22  Michal Nazarewicz  <mina86@mina86.com>
50292         ert-with-function-mocked: New macro
50294         * lisp/emacs-lisp/ert-x.el (ert-with-function-mocked): New macro which
50295         allows evaluating code while particular function is replaced with
50296         a mock.  The original definition of said function is restored once the
50297         macro finishes.
50299 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
50301         Move Gnus functions frm rfc1843 to new file gnus-rfc1843
50303         * lisp/gnus/gnus-rfc1843.el: New file for Gnus/rfc1843
50304         interface functions.
50306         * lisp/gnus/gnus-rfc1843.el: Move all Gnus-specifig functions to
50307         gnus-rfc1843.
50309 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
50311         Don't use mm-util functions in qp.el
50313         * lisp/gnus/qp.el (quoted-printable-decode-region): Don't use
50314         mm-util functions.
50315         (quoted-printable-encode-string): Ditto.
50316         (quoted-printable-encode-region): Ditto.
50318 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
50320         Don't require mm-util
50322         * lisp/mail/ietf-drums.el (mm-util): Don't require.
50324 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
50326         Remove Gnus functions from auth-source.el
50328         * lisp/gnus/auth-source.el (auth-source-netrc-parse-entries):
50329         Remove usage of Gnus utility function.
50330         (mm-util, gnus-util): Don't require.
50332 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
50334         Allow deleting all non-matching cookies
50336         * lisp/url/url-cookie.el (url-cookie-delete-cookies): Allow
50337         keeping matching cookies (bug#22720).
50339 2016-02-22  Lars Ingebrigtsen  <larsi@gnus.org>
50341         Make (setf (image-property ...)) return VALUE
50343         * lisp/image.el (image--set-property): Return VALUE, not IMAGE.
50345 2016-02-22  John Wiegley  <johnw@newartisans.com>
50347         Merge from origin/emacs-25
50349         a9c48d5 Additional fixes for file notification
50350         6bd9d69 Fix documentation of 'global-disable-point-adjustment'
50351         8c22ac9 ; Spelling fix
50352         2975784 Set file modes of pinentry socket for extra safety
50353         2667b3e Clarify GnuPG version compatibility chapter
50354         5e34c36 Revert "Change the default socket location for pinentry"
50355         e19c1c3 Kill off xref--display-history
50356         5698947 Keep the xref buffer visible until the user quits it explicitly
50357         e34fbde Change the default socket location for pinentry
50358         5f89658 Mention how to enable pinentry feature
50359         db51224 Sync with gnulib
50360         aa5a794 Remove `semanticdb-save-all-db-idle' from `auto-save-hook'
50361         2d8b2fd Restore point when writing semantic table to disk
50362         27d3430 Mention pinentry.el in epa manual
50363         5baa001 Fix Bug#22736
50364         7261355 Grammar fix in doc string
50365         d0f3b18 Naming fix for consistency
50366         74ec92d Prefer customized value for GnuPG executable
50367         ea0b604 Fix memory reservation on MS-Windows
50368         c5f72aa Update NextStep readme and add wish list.
50369         6de26a7 Report also result in `file-notify--test-event-handler'
50370         5d17ae7 Improve file-notify-test08-watched-file-in-watched-dir
50371         1cb1268 Fix todo-mode item date editing bugs
50372         1e996cf Fix "[:upper:]" for non-ASCII characters
50373         896f993 Allow customizing the article mode cursor behavior
50374         24c1c1d Use pop-to-buffer-same-window in woman.el
50375         2a75f64 New filenotify test for bug#22736
50376         c9bccf7 Report critical battery errors
50377         d675db9 Make eww message toggling message clearer
50378         5e0bb40 * lisp/calc/calc-units.el (math-standard-units): Update to 2014 CODATA adjustment.
50379         fa8fd65 ; Improve character-folding entries in NEWS
50380         3722a69 Fix bugs in window resizing code
50381         289d5c6 Fix decoding DOS EOL in a unibyte buffer
50382         2abcb06 Correct c-parse-state cache manipulation error.
50383         14aec91 Take advantage of new GnuPG version check function
50384         e80c2a7 Make GnuPG version check robuster
50385         15a9464 Fix x-load-color-file pointer signedness
50386         132dbf0 * lisp/time-stamp.el (time-stamp-time-zone): Fix doc string punct.
50387         78ab6f1 Follow convention for greek letter constants.
50388         106b5bb Add Stefan-Boltzmann constant to calc units table.
50389         b96baa8 * lisp/calc/calc-units.el (math-build-units-table-buffer): Use special-mode.
50390         5f91cf9 Avoid loading cl-lib for term/xterm.elc, eg in -Q -nw.  (Bug#22669)
50391         2d40f7d Fix soffice UserInstallation-URL for Windows
50392         b1a3ebe Fix display of <pre> elements
50393         57d0e3d ; * lisp/help-fns.el: Remove outdated comment.
50394         7a0628d ; * admin/make-tarball.txt: Mention cleaning.
50396 2016-02-22  Oleh Krehel  <ohwoeowho@gmail.com>
50398         lisp/calendar/appt.el (appt-delete-window): Check if buffer is live
50400         * lisp/calendar/appt.el (appt-delete-window): Avoid trying to delete a
50401           non-existing buffer.
50403 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50405         Mention the further asynchronousity
50407 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50409         Fix async TLS boot problem
50411         * src/process.c (wait_reading_process_output): Verify the boot
50412         of the correct process.
50414 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50416         Clean up forgotten text in manual
50418         * doc/lispref/display.texi (Defining Images): Remove example
50419         forgotten when making previous change.
50421 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50423         Clean up debugging code
50425         * src/process.c (Fmake_network_process): Remove debugging printf.
50426         (wait_for_socket_fds, wait_while_connecting)
50427         (wait_for_tls_negotiation): Remove newlines from messages.
50429 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50431         Fix merge conflicts in network-stream-tests.el
50433 2016-02-21  Paul Eggert  <eggert@penguin.cs.ucla.edu>
50435         Port recent filevercmp addition to MS-Windows
50437         Reported by Andy Moreton in:
50438         https://lists.gnu.org/r/emacs-devel/2016-02/msg01302.html
50439         * nt/gnulib.mk (libgnu_a_SOURCES): Add filevercmp.c.
50440         (EXTRA_DIST): Add filevercmp.h.
50442 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50444         add_to_log expects Lisp parameters
50446 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50448         Mention sentinels in conjunction with :nowait t.
50450         * doc/lispref/processes.texi (Network Processes): Mention the
50451         recommended way of using sentinels with :nowait t.
50453 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50455         Mention in the doc strings that process functions may block
50457         (Fprocess_contact, Fprocess_datagram_address)
50458         (Fset_process_datagram_address, Fset_network_process_option)
50459         (Fprocess_send_region, Fprocess_send_string): Mention that the
50460         functions may block.
50461         (Fset_process_coding_system): Ditto.
50463 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50465         Add blocker warnings to the *Messages* buffer
50467         * src/process.c (wait_for_socket_fds): Add warning to the log.
50468         (wait_while_connecting): Ditto.
50469         (wait_for_tls_negotiation): Ditto.
50471 2016-02-21  Lars Ingebrigtsen  <larsi@gnus.org>
50473         Rework the image property getter/setters
50475         * doc/lispref/display.texi (Defining Images): Document the
50476         renamed `image-get/set-property' functions.
50478         * lisp/image.el (image--set-property): Rename from
50479         image-set-property.
50480         (image-property): Declare a setf form.
50481         (image-property): Rename from `image-get-property'.
50483 2016-02-21  Paul Eggert  <eggert@cs.ucla.edu>
50485         Use Gnulib filevercmp for version comparison
50487         * admin/merge-gnulib (GNULIB_MODULES): Add filevercmp.
50488         * doc/lispref/strings.texi (Text Comparison):
50489         * etc/NEWS, src/fns.c:
50490         * test/src/fns-tests.el (fns-tests-string-version-lessp):
50491         Rename newly-introduced function to string-version-lessp, by
50492         analogy with strverscmp.
50493         * lib/filevercmp.c, lib/filevercmp.h: New files, copied from gnulib.
50494         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
50495         * src/fns.c: Include <filevercmp.h>.
50496         (gather_number_from_string): Remove.
50497         (Fstring_version_lessp): Reimplement via filevercmp.
50499 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
50501         Add a function to delete URL cookies
50503         * doc/misc/url.texi (Cookies): Document
50504         url-cookie-delete-cookies.
50506         * lisp/url/url-cookie.el (url-cookie-delete-cookies): New function.
50508 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
50510         Avoid integer overflows in string-numeric-lessp
50512         * src/fns.c (Fstring_numeric_lessp): If we have an integer
50513         overflow, compare lexicographically.
50515 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
50517         Add the string-numeric-lessp function
50519         * doc/lispref/strings.texi (Text Comparison): Document
50520         `string-numerical-lessp'.
50522         * src/fns.c (Fstring_numeric_lessp): New function.
50523         (gather_number_from_string): Helper function for that function.
50525         * test/src/fns-tests.el (fns-tests-string-numeric-lessp): Add tests.
50527 2016-02-20  Lars Ingebrigtsen  <larsi@gnus.org>
50529         Clarify levels of :nowait t.
50531         * doc/lispref/processes.texi (Network Processes): Mention
50532         levels of asynchronicity.
50534 2016-02-20  Alain Schneble  <a.s@realize.ch>
50536         Respect DNS timeouts
50538         * src/process.c (check_for_dns): If the async DNS request
50539         failed and the associated process is still in "connect" state,
50540         deactivate the process and set status to "failed".
50542 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
50544         Add a frame around the placeholder image in shr
50546         * lisp/net/shr.el (shr-make-placeholder-image): Add a frame
50547         around the image.
50549 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
50551         Use placeholder images in shr to avoid text moving around
50553         * lisp/net/shr.el (shr-rescale-image): Pass in width/height
50554         from the HTML.
50555         (shr-tag-img): Ditto.
50556         (shr-string-number): New function.
50557         (shr-make-placeholder-image): Make placeholder images.
50558         (shr-tag-img): Insert them if we have SVG support.
50560 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
50562         Get explicit width/height + scale computations right
50564         * src/image.c (compute_image_size): :scale should also be
50565         taken into account when :width and :height are explicitly names.
50567 2016-02-19  Lars Ingebrigtsen  <larsi@gnus.org>
50569         New functions for getting and setting image properties
50571         * doc/lispref/display.texi (Defining Images): Document
50572         image-get/set-property.
50574         * lisp/image.el (image-set-property): New function.
50575         (image-get-property): Ditto.
50577 2016-02-19  Alan Mackenzie  <acm@muc.de>
50579         Await the final mouse event in C-h c and C-h k.
50581         * lisp/help.el (describe-key-briefly, describe-key): On receiving a mouse
50582         event, keep reading further events until a timeout occurs, to ensure we have
50583         the complete mouse event from the user.
50585 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
50587         Add a library for creating and manipulating SVG images
50589         * doc/lispref/display.texi (SVG Images): New section.
50591         * lisp/svg.el: New file.
50593 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
50595         Fix up tests for async TLS negotiation
50597 2016-02-18  Lars Ingebrigtsen  <larsi@gnus.org>
50599         Fix coding system setup
50601         * src/process.c (set_network_socket_coding_system): Pass in
50602         the host/service that's been computed already.
50604 2016-02-18  Michael Albinus  <michael.albinus@gmx.de>
50606         Reference `tramp-theme' in GNU ELPA.
50608         * doc/misc/tramp.texi (Frequently Asked Questions):
50609         Reference `tramp-theme' in GNU ELPA.
50611 2016-02-17  Lars Ingebrigtsen  <larsi@gnus.org>
50613         Verify the TLS connection asynchronously
50615         * src/gnutls.c (gnutls_verify_boot): Refactor out into its own
50616         function so that we can call it asynchronously.
50617         (Fgnutls_boot): Use it.
50619         * src/process.c (wait_reading_process_output): Verify the TLS
50620         negotiation.
50622 2016-02-16  Simen Heggestøyl  <simenheg@gmail.com>
50624         Add column layout module to CSS property list
50626         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
50627         CSS Multi-column Layout Module.
50629 2016-02-16  Michael Albinus  <michael.albinus@gmx.de>
50631         Minor cleanup in CONTRIBUTE and test/README
50633         * CONTRIBUTE: Remove detailed explanation about testing; this
50634         is now in test/README.
50636         * test/README: Don't mention automated/ subdirectory.
50638 2016-02-15  Glenn Morris  <rgm@gnu.org>
50640         Provide 'term/name in lisp/term files.
50642         * lisp/term/AT386.el, lisp/term/bobcat.el, lisp/term/cygwin.el:
50643         * lisp/term/internal.el, lisp/term/iris-ansi.el, lisp/term/linux.el:
50644         * lisp/term/lk201.el, lisp/term/news.el, lisp/term/ns-win.el:
50645         * lisp/term/pc-win.el, lisp/term/rxvt.el, lisp/term/screen.el:
50646         * lisp/term/sun.el, lisp/term/tty-colors.el, lisp/term/tvi970.el:
50647         * lisp/term/vt100.el, lisp/term/vt200.el, lisp/term/w32-win.el:
50648         * lisp/term/w32console.el, lisp/term/wyse50.el, lisp/term/x-win.el:
50649         For consistency, provide 'term/name in all files that don't already.
50651 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
50653         Deactivate the correct process
50655         * src/process.c (wait_reading_process_output): Deactivate the
50656         correct process on failure.
50658 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
50660         Implement asynch TLS negotiation
50662         * src/gnutls.c (gnutls_try_handshake): Factor out into its own
50663         function.
50664         (emacs_gnutls_handshake): Use it.
50665         (emacs_gnutls_read): Just return instead of retrying the handshake.
50667         * src/process.c (finish_after_tls_connection): Factor out
50668         into its own function.
50669         (connect_network_socket): Use it.
50670         (wait_reading_process_output): Retry TLS handshakes.
50671         (wait_reading_process_output): Defer sentinel until TLS completes.
50673 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
50675         Simplify the DNS resolution loop a bit
50677         * src/process.c (wait_reading_process_output): Simplify the
50678         DNS resolution loop a bit.
50680 2016-02-15  Alain Schneble  <a.s@realize.ch>
50682         Loop over the process list instead of maintaining a separate list
50684         * src/process.c: Remove declaration/definition of dns_processes list.
50685         * src/process.c (wait_reading_process_output): Loop over all processes in
50686         Vprocess_alist instead of dns_processes, to check for completed DNS
50687         requests.
50689 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
50691         Allow setting the filter masks later
50693         * src/process.c (Fset_process_filter): Don't set the socket
50694         masks here, because we may not have a socket yet.
50695         (set_process_filter_masks): New function.
50696         (connect_network_socket): Set the filter masks here.
50698 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
50700         Remove debugging
50702 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
50704         Ensure we always free DNS resources when deleting a process
50706         * src/process.c (free_dns_request): Factor out into own function.
50707         (Fdelete_process): When deleting a process, free any DNS
50708         structures associated with it.
50709         (check_for_dns): Always free all DNS resources.
50711 2016-02-15  Alain Schneble  <a.s@realize.ch>
50713         Don't block in set-process-window-size
50715         * src/process.c (set-process-window-size): Explicitly return Qnil when
50716         called with network processes as set_window_size won't work anyway on
50717         socket fds.  As a welcome side effect, this makes the blocking
50718         wait_for_socket_fds call obsolete.
50720 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
50722         Do most of the coding system setup earlier
50724         * src/process.c (Fmake_network_process): Set the read/write
50725         coding systems here, so that special bindings work.
50726         (Fmake_network_process): Complete the coding system setup here.
50728 2016-02-15  John Wiegley  <johnw@newartisans.com>
50730         Merge from origin/emacs-25
50732         d4b93e1 Minor fixes in global-auto-composition-mode
50733         02b037b Allow arithmetic operators inside C++ template constructs.
50734         44b16f6 Avoid crashes in semi-malformed 'condition-case'
50735         652e5b4 Allow arithmetic operators inside C++ template constructs.
50736         d9ea795 Fix regression with 'recent-keys' and keyboard macros
50737         903603f Fix wording in a doc-view.el comment
50738         cf79616 ; Spelling fixes
50739         f8bf1b3 CONTRIBUTE cleanups and updates
50740         f3aaca3 Port USE_STACK_LISP_OBJECTS fix to Clang
50741         1834ac7 Port to x86 GCC 4.3.1 and earlier
50742         8482949 Fix point movement under 'scroll-conservatively'
50743         c1313b5 Replace colon in file name (not legal on Windows)
50744         f7af26c Fix a typo in edt.texi
50745         8badf95 Make 'mmap_realloc' on MS-Windows more reliable
50746         856cd94 Grep alias `all' shall not match parent directory
50748 2016-02-15  John Wiegley  <johnw@newartisans.com>
50750         Merge from origin/emacs-25
50752         dacde7e * etc/AUTHORS: Update the AUTHORS file
50753         478ca5d ; fix changelog entries
50754         2b7d006 ; make change-history-commit
50755         851decb * lisp/dired-aux.el: Require cl-lib.  (Bug#22613)
50756         47896c8 ; Improve commentary in insdel.c
50757         53ca1e1 Index tilde characters in names of backup files
50758         d97f522 Document deprecation of hi-lock-mode's 'C-x w' bindings
50759         b55f06d ; * etc/NEWS: Use double spaces to end a sentence.
50760         28bb214 Announce that the `C-x w' bindings are deprecated
50761         1c98f98 Suppress GNUstep hardening
50762         d82f24b Fix redisplay after a large insertion
50763         85a2753 Revert "Fix gnus-group-get-new-news-this-group on group with
50764                 closed server"
50765         e8e3db0 ; Improve merge documentation in CONTRIBUTE
50766         5be9989 * lib-src/make-docfile.c: Include stdarg.h.
50767         c95ebbf Extend gpm-mouse-mode's doc string and doc to point out
50768                 limitations.
50770 2016-02-15  John Wiegley  <johnw@newartisans.com>
50772         Merge from origin/emacs-25
50774         f5d6b9b Revert "Support integer image rotation and respect EXIF rotations"
50775         afe7d1f Revert "Document EXIF image rotation"
50776         c6f377c Document OS X LANG default
50777         eb4a18c Set locale when run from OS X GUI
50778         456c0a3 make-docfile cleanup for I/O, etc.
50779         25ec995 Memory-management cleanup in make-docfile
50780         02d925e Kevin Gallagher has new email address
50781         4ef153b Improve doc strings of 'forward/backward-word-strictly'
50782         3ad05a0 Describe Makefile test targets in test/README
50784 2016-02-15  John Wiegley  <johnw@newartisans.com>
50786         Merge from origin/emacs-25
50788         10b8ed2 Document EXIF image rotation
50789         0f60049 Support integer image rotation and respect EXIF rotations
50790         7dd45b6 Quote table names for postgres listings (sql-mode)
50791         6bac035 * lisp/replace.el (replace-match-maybe-edit): Make arg
50792                 `backward' optional.
50793         ee909aa * lisp/simple.el (next-line-or-history-element): Reset
50794                 temporary-goal-column.
50795         0a289d3 Suppress ACL ops if configured with --disable-acl
50796         1a9dbf5 Mention web bugs
50797         fa55da2 Make mm-html-blocked-images default to "" again
50799 2016-02-15  Lars Ingebrigtsen  <larsi@gnus.org>
50801         Protect against initial handshake failures
50803         * src/process.c (connect_network_socket): Mark the connection
50804         as failed if the handshake didn't succeed yet.  This should be
50805         reworked later.
50807 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
50809         Call the network security manager after doing TLS negotiation
50811         * lisp/net/network-stream.el (network-stream-open-tls):
50812         Postpone NSM verification when running async.
50814         * src/process.c (Fset_process_filter): This function doesn't
50815         need to wait.
50816         (connect_network_socket): Set the process status to "run" only
50817         after TLS negotiation.
50818         (wait_for_socket_fds): Take a name parameter for more debugging.
50819         (wait_reading_process_output): Don't change status to "run"
50820         unless TLS negotiation has finished.
50821         (send_process): Wait for the process here instead of
50822         send_process_string.
50823         (connect_network_socket): Call the network security manager.
50825 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
50827         Remove some #ifdefs and update documentation
50829         * doc/lispref/processes.texi (Network Processes): Remove
50830         mention of `dns'.
50832         * lisp/net/network-stream.el (open-network-stream): Remove
50833         mention of `dns'.
50835         * src/process.c (Fset_process_filter)
50836         (Fset_process_window_size, Fprocess_contact)
50837         (Fprocess_datagram_address, Fset_process_datagram_address)
50838         (Fset_network_process_option, Fprocess_send_region)
50839         (Fprocess_send_string, Fset_process_coding_system)
50840         (Fset_process_filter_multibyte): Remove the #ifdef
50841         HAVE_GETADDRINFO_A checks.
50842         (Fprocess_send_string): Wait for TLS negotiation.
50843         (wait_for_tls_negotiation): New function.
50844         (send_process): Remove the TLS boot check.
50846         * src/process.c (Fmake_network_process): Ditto.
50848 2016-02-14  Lars Ingebrigtsen  <larsi@gnus.org>
50850         Use :nowait t in url-gw
50852         * lisp/url/url-gw.el (url-open-stream): Just use :nowait t,
50853         since we're not differentiating.
50855 2016-02-14  Alain Schneble  <a.s@realize.ch>
50857         Add blockers to process functions
50859         * src/process.c (set-process-filter, set-process-window-size,
50860         process-contact, process-datagram-address, set-process-datagram-address,
50861         set-network-process-option): Make functions wait (block) on network
50862         process until pending DNS requests have been processed and associated
50863         socket initialized.
50865         * src/process.c (process-send-region, process-send-string,
50866         process-send-eof): Make functions wait (block) while network process is
50867         in connect state.
50869 2016-02-14  Simen Heggestøyl  <simenheg@gmail.com>
50871         Add fragmentation module to CSS property list
50873         * lisp/textmodes/css-mode.el (css-property-ids): Add properties from
50874         CSS Fragmentation Module Level 3.
50876 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
50878         * doc/lispref/sequences.texi: Add documentation for seq-map-indexed
50880 2016-02-14  Nicolas Petton  <nicolas@petton.fr>
50882         New function seq-map-indexed
50884         * lisp/emacs-lisp/seq.el (seq-map-indexed): New function.
50885         * test/lisp/emacs-lisp/seq-tests.el: Add tests for seq-map-indexed.
50887 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50889         * lisp/gnus/mm-util.el: Remove the mm-string-as-multibyte alias.
50891 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50893         Fix problem with wrong encoding of non-ASCII message bodies
50895         * lisp/gnus/mml.el (mml-generate-mime-1): Disable
50896         multibyteness before encoding the data.
50898 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50900         Remove codepage setup code from mm-util
50902         * lisp/gnus/mm-util.el (mm-codepage-setup): Remove.
50903         (mm-codepage-iso-8859-list): Remove.
50904         (mm-codepage-ibm-list, mm-setup-codepage-iso-8859)
50905         (mm-setup-codepage-ibm): Remove.
50906         (mm-charset-eval-alist): Remove the code pages from the
50907         default value.
50909 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50911         Remove compat code for older Emacsen
50913         * lisp/gnus/gnus-art.el (gnus-button-url-regexp): Remove
50914         XEmacs compat code.
50916         * lisp/gnus/gnus-sync.el (gnus-sync-json-alist-p): Remove
50917         unused compat function.
50918         (gnus-sync-json-plist-p): Ditto.
50920         * lisp/gnus/message.el (message-default-charset): Make obsolete.
50921         (message-info): Remove compat code.
50922         (message-setup-fill-variables): Remove kludge needed earlier
50923         to not overwrite `normal-auto-fill-function'.
50924         (message-split-line): Remove compat code.
50926         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Remove
50927         compat code.
50929 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50931         Remove some compat functions from gmm-utils.el
50933         * lisp/gnus/gmm-utils.el (gmm-tool-bar-from-list): Remove
50934         compat code.
50935         (gmm-image-search-load-path): Remove.
50936         (gmm-image-load-path-for-library): Remove.
50938 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50940         Remove the gmm-lazy and nnmail-lazy compat widgets
50942         * lisp/gnus/gmm-utils.el (gmm-lazy): Remove.
50944         * lisp/gnus/nnmail.el (nnmail-lazy): Remove.
50946 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50948         Clean up nnimap-request-move-article slightly
50950         * lisp/gnus/nnheader.el (subr-x): Require.
50952         * lisp/gnus/nnimap.el (nnimap-request-move-article): Clean up
50953         the code slightly.
50955 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50957         Use open-network-stream instead of open-protocol-stream
50959         * lisp/gnus/nnimap.el: Use open-network-stream instead of
50960         open-protocol-stream.
50962         * lisp/gnus/nntp.el: Ditto.
50964         * lisp/gnus/pop3.el: Ditto.
50966         * lisp/net/sieve-manage.el: Ditto.
50968         * lisp/net/network-stream.el (open-protocol-stream): Make obsolete.
50970 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50972         Remove compat code that relies on (featurep 'mule)
50974         * lisp/gnus/gnus-group.el (gnus-group-name-decode): Remove
50975         compat code.
50977         * lisp/gnus/gnus-start.el (gnus-read-descriptions-file):
50978         Remove compat code.
50980         * lisp/gnus/mm-bodies.el (mm-decode-body, mm-decode-string):
50981         Remove compat code.
50983         * lisp/gnus/mm-view.el (mm-w3m-standalone-supports-m17n-p):
50984         Remove compat code.
50985         (mm-w3m-standalone-supports-m17n-p): Ditto.
50987 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50989         Remove compat functions from starttls.el
50991         * lisp/net/starttls.el
50992         (starttls-set-process-query-on-exit-flag): Remove.
50994 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
50996         Remove compat functions from smime.el
50998         * lisp/gnus/smime.el (smime-replace-in-string): Remove.
50999         (smime-make-temp-file): Remove.
51001 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
51003         Remove compat code from smiley
51005         * lisp/gnus/smiley.el (smiley-style): Remove compat code.
51007 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
51009         Remove compat code from rfc2047
51011         * lisp/mail/rfc2047.el (rfc2047-encode-message-header): Remove
51012         compat code.
51013         (rfc2047-decode-string): Ditto.
51015 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
51017         Remove compat function from pop3
51019         * lisp/gnus/pop3.el (pop3-set-process-query-on-exit-flag): Remove.
51021 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
51023         Remove compat code in Gnus backends
51025         * lisp/gnus/nndiary.el (nndiary-error): Remove.
51027         * lisp/gnus/nndraft.el (nndraft-request-associate-buffer): Ditto.
51029         * lisp/gnus/nnfolder.el (nnfolder-read-folder): Ditto.
51031         * lisp/gnus/nnheader.el (nnheader-find-file-noselect): Ditto.
51033         * lisp/gnus/nnimap.el (nnimap-log-buffer): Remove compat code.
51035 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
51037         Remove compat code from some mml files
51039         * lisp/gnus/mml-sec.el (mml-secure-passphrase-cache-expiry):
51040         Remove compat code.
51042         * lisp/gnus/mml-smime.el (mml-smime-openssl-sign-query):
51043         Always use `mail-extract-address-components', since this isn't
51044         time critical.
51045         (mml-smime-get-dns-cert): Ditto.
51047         * lisp/gnus/mml.el (mml-preview): Remove compat code.
51049 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
51051         Remove compat code and compat functions from mm-util.el
51053         * lisp/gnus/mm-util.el (mm-mime-mule-charset-alist): Remove
51054         compat code.
51055         (mm-coding-system-priorities)
51056         (mm-mule-charset-to-mime-charset, mm-charset-after)
51057         (mm-mime-charset, mm-iso-8859-x-to-15-region): Remove compat code.
51058         (mm-detect-coding-region): Define unconditionally.
51059         (mm-detect-mime-charset-region): Ditto.
51060         (mm-coding-system-to-mime-charset): It's 'mime-charset now.
51061         (coding-system-name)
51062         (find-file-coding-system-for-read-from-filename)
51063         (find-operation-coding-system): Remove aliases.
51065 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
51067         Remove some compat code from mm-*.el
51069         * lisp/gnus/mm-bodies.el (mm-decode-body): Ditto.
51071         * lisp/gnus/mm-decode.el (mm-tmp-directory)
51072         (mm-valid-image-format-p): Remove compat code.
51074         * lisp/gnus/mm-url.el (mm-url-insert-file-contents): Remove
51075         "Connection" "Close" workaround for older Emacsen.
51077 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
51079         Remove compat code and functions from message.el
51081         * lisp/gnus/message.el (message-send-mail-function): Remove
51082         compat code.
51083         (message-dont-reply-to-names, message-mode)
51084         (message-setup-fill-variables, message-fill-paragraph)
51085         (message-remove-blank-cited-lines, message-make-from)
51086         (message-forward-rmail-make-body, message-tool-bar-gnome)
51087         (message-tab): Remove compat code.
51088         (message-completion-in-region): Remove.
51089         (message-read-from-minibuffer): Remove compat code.
51091 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
51093         Declare rfc1843 instead of autoloading
51095         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Declare
51096         instead of autoload.
51098 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
51100         Avoid signaling an error in 'dired-do-find-regexp-and-replace'
51102         * lisp/dired-aux.el: Require cl-lib, so that 'cl-mapcan' is
51103         autoloaded correctly.  (Bug#22613)
51105 2016-02-13  Eli Zaretskii  <eliz@gnu.org>
51107         Fix network-stream-tests.el for MS-Windows
51109         * test/lisp/net/network-stream-tests.el
51110         (connect-to-tls-ipv6-nowait): Skip for MS-Windows builds.
51111         (connect-to-tls-ipv4-wait): Add a 0.1 sleep-for.
51113 2016-02-13  Lars Ingebrigtsen  <larsi@gnus.org>
51115         Remove some Message compat functions
51117         * lisp/gnus/message.el (message-kill-all-overlays): Define
51118         unconditionally.
51119         (message-window-inside-pixel-edges): Remove.
51120         (mail-dont-reply-to): Remove.
51122 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51124         Remove some Gnus compat code
51126         * lisp/gnus/gnus-art.el (gnus-mime-inline-part): Remove compat code.
51127         (gnus-mm-display-part): Ditto.
51129         * lisp/gnus/gnus-start.el (gnus-dribble-read-file): Remove
51130         compat code.
51132 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51134         Sort groups before inserting them into the group buffer
51136         * lisp/gnus/gnus-group.el (gnus-group-describe-all-groups):
51137         Sort groups before inserting them.
51139 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51141         Make "unseen" tracking work again in Gnus
51143         * lisp/gnus/gnus-sum.el (gnus-update-marks): Make "unseen"
51144         tracking work again.
51146 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51148         Remove Gnus compat functions defined in gnus.el
51150         * lisp/gnus/gnus.el (gnus-extent-detached-p): Remove.
51151         (gnus-extent-start-open, gnus-character-to-event)
51152         (gnus-assq-delete-all, gnus-add-text-properties)
51153         (gnus-put-text-property, gnus-key-press-event-p):
51155 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51157         Remove compat code from gnus-uu and win
51159         * lisp/gnus/gnus-util.el (gnus-image-type-available-p): Remove
51160         compat code.
51162         * lisp/gnus/gnus-uu.el (gnus-uu-tmp-dir): Remove compat code.
51164         * lisp/gnus/gnus-win.el (gnus-frames-on-display-list): Remove.
51166 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51168         Remove several gnus-util compat functions
51170         * lisp/gnus/gnus-util.el (gnus-set-process-query-on-exit-flag): Remove.
51171         (gnus-read-shell-command): Remove.
51172         (gnus-match-substitute-replacement): Remove.
51173         (gnus-string-match-p): Remove.
51174         (gnus-string-prefix-p): Remove.
51176 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51178         Remove the gnus-merge alias
51180         * lisp/gnus/gnus-util.el (gnus-merge): Remove.
51182 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51184         Remove the gnus-union alias
51186         * lisp/gnus/gnus-util.el (gnus-union): Remove.
51188 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51190         Remove the gnus-delete-alist alias
51192         * lisp/gnus/gnus-util.el (gnus-run-mode-hooks): Remove compat code.
51193         (gnus-delete-alist): Remove.
51195 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51197         Remove the gnus-float-time alias
51199         * lisp/gnus/gnus-util.el (gnus-completion-styles): Remove
51200         compat code.
51201         (gnus-float-time): Remove.
51203 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51205         Remove compat code from gnus-srvr, start and sum
51207         * lisp/gnus/gnus-srvr.el (gnus-browse-foreign-server): Remove
51208         compat code.
51210         * lisp/gnus/gnus-start.el (gnus-check-reasonable-setup):
51211         Remove compat code.
51213         * lisp/gnus/gnus-sum.el (gnus-summary-display-arrow)
51214         (gnus-summary-make-menu-bar, gnus-summary-make-tool-bar)
51215         (gnus-recenter)
51216         (gnus-summary-limit-strange-charsets-predicate)
51217         (gnus-summary-show-thread): Remove compat code.
51219 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51221         Remove compat code from gnus-spec.el
51223         * lisp/gnus/gnus-spec.el (gnus-lrm-string-p): Remove compat code.
51224         (gnus-balloon-face-function): Remove compat code.
51226 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51228         Fix compat change in last check-in
51230         * lisp/gnus/gnus-group.el
51231         (gnus-group-name-charset-group-alist): `find-coding-system'
51232         doesn't exist in Emacs.
51234 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51236         Always use url-queue
51238         * lisp/gnus/gnus-html.el (gnus-html-schedule-image-fetching):
51239         Always use url-queue.
51241 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51243         Remove compat functions from gnus-html.el
51245         * lisp/gnus/gnus-html.el (gnus-html-encode-url-chars): Remove.
51247 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51249         Remove compat code from gnus-group.el
51251         * lisp/gnus/gnus-group.el (gnus-group-name-charset-group-alist)
51252         (gnus-group-make-tool-bar, gnus-group-update-tool-bar): Remove compat code.
51254 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51256         Define gnus-diary-kill-entire-line unconditionally
51258         * lisp/gnus/gnus-diary.el (gnus-diary-kill-entire-line):
51259         Define unconditionally.
51261 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51263         Remove compat code from gnus-cache and gnus-bookmark
51265         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-bmenu-mode-map): Ditto.
51267         * lisp/gnus/gnus-cache.el (gnus-cache-decoded-group-name):
51268         Remove compat code.
51270 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51272         Remove compat code from gnus-art.el
51274         * lisp/gnus/gnus-art.el (gnus-article-prepare)
51275         (gnus-mime-copy-part, gnus-output-to-file)
51276         (gnus-article-reply-with-original)
51277         (gnus-button-handle-apropos-variable)
51278         (gnus-button-handle-apropos-documentation):
51280 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51282         Remove compat code from gnus-agent.el
51284         * lisp/gnus/gnus-agent.el (gnus-agent-make-mode-line-string):
51285         Remove compat code.
51287 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51289         Rewrite gmm-labels usage to use cl-labels
51291         * lisp/gnus/gmm-utils.el (gmm-tool-bar-style): Remove compat code.
51292         (gmm-labels): Remove.
51294 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51296         Remove compat code from canlock.el
51298         * lisp/gnus/canlock.el (defmacro): Remove
51300 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51302         Remove compat code from auth-source
51304         * lisp/gnus/auth-source.el (auth-source-read-char-choice):
51305         Remove compat code.
51307 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51309         Fix gnus-group.el compilation warnings about unprefixed variables
51311         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): Avoid
51312         compilation warnings by passing in the dynamic variables as
51313         explicit lexical parameters to `eval'.
51315 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51317         Fix the :tracker slot name
51319         * lisp/gnus/registry.el (registry-lookup-secondary): The
51320         `tracker' slot is called `tracker', not `:tracker'.
51322 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51324         Fix compilation warnings in gnus-art.el
51326         * lisp/gnus/gnus-art.el (rfc1843-decode-region): Autoload.
51327         (gnus-article-hide): Avoid compilation warnings.
51329 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51331         Fix compilation warning in gnus-score.el
51333         * lisp/gnus/gnus-score.el (gnus-art): Require to silence byte
51334         compiler.
51336 2016-02-12  Andreas Schwab  <schwab@linux-m68k.org>
51338         Revert "Fix gnus-group-get-new-news-this-group on group with closed server"
51340         This reverts commit 9dc77e37aa84c6df9b3ddb4609f3c09201b0580e.
51342         This makes nnimap groups not be activated.
51344 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51346         Fix encoding problem introduced by previous patch series
51348         * lisp/mail/rfc2047.el: Ditto (bug#22648).
51350         * lisp/mail/rfc2231.el: Fix problem created by the
51351         mm-replace-in-string conversion.
51353 2016-02-12  Lars Ingebrigtsen  <larsi@gnus.org>
51355         Revert "Avoid defvarring prefix-less variables"
51357         This reverts commit 303390bda34f98b400798d5383cf0d722e35ba19.
51359         The defvars are needed if we're doing lexical-binding
51361 2016-02-12  Glenn Morris  <rgm@gnu.org>
51363         * test/lisp/url/url-auth-tests.el (url-auth-test-digest-auth):
51364         Make it pass.
51366         * test/lisp/url/url-auth-tests.el
51367         (url-auth-test-digest-auth-retrieve-cache): Fix obvious typo.
51369 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51371         Finish up cl-defmethoding registry,el
51373         * lisp/gnus/registry.el (initialize-instance): Use cl-defmethod.
51375 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51377         Revert the gnus-replace-in-string change, fix arguments, reapply
51379 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51381         Silence more message.el compilation warnings
51383         * lisp/gnus/message.el (message-generate-headers): Don't use
51384         variable values directly to get the header values, because
51385         that breaks with lexical binding (without unprefixed defvars).
51387 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51389         Fix various compilation warnings in message.el
51391         * lisp/gnus/message.el (message-fix-before-sending): Use
51392         read-multiple-choice instead of gnus-multiple-choice.
51393         (mm-util): Require.
51394         (rfc2047): Require.
51395         (message-remove-blank-cited-lines): Use message instead of
51396         gnus-message.
51397         (message-send): Use y-or-n-p instead of gnus-y-or-n-p.
51399 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51401         Silence compilation warning in mm-view
51403         * lisp/gnus/mm-view.el (mm-display-inline-fontify): Silence
51404         compilation warning.
51406 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51408         Fix epg-related compilation warnings in mml-sec
51410         * lisp/gnus/mml-sec.el: Fix compilation warnings from the epg
51411         library.
51413 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51415         rmail-dont-reply-to-names is obsolete
51417         * lisp/gnus/nnmail.el (nnmail-fancy-expiry-target): Don't bind
51418         the obsolete `rmail-dont-reply-to-names' variable.
51420 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51422         Partially revert the defmethod->cl-defmethod change in registry.el
51424         * lisp/gnus/registry.el (initialize-instance): Use defmethod,
51425         since cl-defmethod doesn't work with :after.
51426         (initialize-instance): Ditto, but with :before.
51428 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51430         Avoid obsolete function in plstore
51432         * lisp/gnus/plstore.el (plstore--insert-buffer): Use setf
51433         instead of the obsolete epg-context-set-armor.
51435 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51437         Use cl-defmethod in registry.el
51439         * lisp/gnus/registry.el: Use cl-defmethod instead of the
51440         obsolete defmethod.
51442 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51444         Make sieve-manage require sasl
51446         * lisp/net/sieve-manage.el: Fix compilation warning by
51447         requiring sasl.
51449 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51451         Avoid defvarring prefix-less variable
51453         * lisp/gnus/mm-uu.el (mm-uu-entry): Rename from `entry'.
51455 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51457         * lisp/gnus/mailcap.el: Remove usage of mailcap-delete-duplicates.
51459 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51461         Don't use the obsolete char-valid-p function
51463         * lisp/gnus/mm-url.el (mm-url-decode-entities): Don't use the
51464         obsolete char-valid-p function.
51466 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51468         Fix missed translation in a previous commit
51470         * lisp/gnus/mailcap.el (mailcap-mime-types): Fix missed
51471         translation of mailcap-delete-duplicates.
51473 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51475         Avoid using mm-make-temp-file
51477         * lisp/gnus/mail-source.el (mail-source-delete-crash-box): Ditto.
51479         * lisp/gnus/mm-decode.el (mm-display-external): Ditto.
51481         * lisp/gnus/mml-smime.el (mml-smime-openssl-encrypt): Ditto.
51483 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51485         Fix compilation warning in gnus-start
51487         * lisp/gnus/gnus-start.el (gnus-slave-save-newsrc): Avoid
51488         mm-make-temp-file.
51490 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51492         Avoid the obsoleted defmethod
51494         * lisp/gnus/gnus-icalendar.el: Use cl-defmethod instead of
51495         defmethod.
51497 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51499         Avoid defvarring prefix-less variables
51501         * lisp/gnus/gnus-group.el (gnus-group-update-eval-form): We
51502         don't need to `defvar' the short variables to allow `eval' to
51503         use them.
51505 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51507         nnweb doesn't need unibyte buffers
51509         * lisp/gnus/nnweb.el (nnweb-retrieve-headers)
51510         (nnweb-read-overview, nnweb-request-article)
51511         (nnweb-google-reference): Unibyte buffers are not needed here.
51513 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51515         Encode before sending from nnspool
51517         * lisp/gnus/nnspool.el (nnspool-request-post): Encode data
51518         before sending it to the news server.
51520 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51522         nnrss buffers don't have to be unibyte
51524         * lisp/gnus/nnrss.el (nnrss-insert): The buffer doesn't have
51525         to be unibyte just to receive data, I think.
51527 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51529         Don't use mm-with-unibyte-current-buffer in mml2015
51531         * lisp/gnus/mml2015.el (mml2015-mailcrypt-encrypt): Don't use
51532         mm-with-unibyte-current-buffer.
51534 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51536         Don't use mm-with-unibyte-current in mml1991
51538         * lisp/gnus/mml1991.el (mml1991-epg-sign): Don't use
51539         mm-with-unibyte-current.
51541 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51543         Don't use mm-with-unibyte-current in mml1991
51545         * lisp/gnus/mml1991.el (mml1991-pgg-sign): Don't use
51546         mm-with-unibyte-current.
51548 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51550         Don't use mm-with-unibyte-buffer in utf7
51552         * lisp/international/utf7.el (utf7-fragment-encode): Don't use
51553         mm-with-unibyte-buffer.
51555 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51557         Remove XEmacs compat code from Gnus helper libraries
51559         * lisp/gnus/plstore.el (plstore-called-interactively-p): Remove.
51561         * lisp/gnus/pop3.el (pop3-make-date): Remove XEmacs compat.
51563         * lisp/gnus/sieve-mode.el: Remove XEmacs compat.
51565         * lisp/gnus/spam-stat.el (spam-stat-called-interactively-p): Remove.
51567 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51569         Remove XEmacs compat code from Gnus backends
51571         * lisp/gnus/mm-view.el (mm-inline-image-xemacs): Remove.
51572         (mm-inline-image): Rename from mm-inline-image-emacs.
51574         * lisp/gnus/mml.el: Remove XEmacs compat code.
51576         * lisp/gnus/nnheader.el: Remove XEmacs compat code.
51578         * lisp/gnus/nnimap.el (nnimap-open-connection-1): Remove
51579         XEmacs compat code.
51581         * lisp/gnus/nnir.el (nnir-run-gmane): Remove XEmacs compat code.
51583         * lisp/gnus/nnmail.el (nnmail-pathname-coding-system): Remove
51584         XEmacs compat code.
51586         * lisp/gnus/nnmairix.el: Remove XEmacs compat code.
51588         * lisp/gnus/nnrss.el: Remove XEmacs compat code.
51590         * lisp/gnus/nntp.el: Remove XEmacs compat code.
51592 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51594         Remove XEmacs compat functions from mm-util.el
51596         * lisp/gnus/mm-util.el (mm-special-display-p): Remove.
51597         (mm-decode-coding-string, mm-encode-coding-string)
51598         (mm-decode-coding-region, mm-encode-coding-region): Remove.
51599         (mm-string-to-multibyte): Remove.
51600         (mm-char-or-char-int-p): Remove.
51601         (mm-ucs-to-char): Remove compat versions of the function.
51602         (mm-read-coding-system): Remove.
51603         (mm-coding-system-p): Remove compat code.
51604         (mm-enrich-utf-8-by-mule-ucs): Remove.
51605         (mm-enable-multibyte, mm-disable-multibyte): Remove compat versions.
51606         (mm-delete-duplicates): Remove.
51607         (mm-multibyte-p): Remove compat versions.
51608         (mm-xemacs-find-mime-charset-1): Remove.
51609         (mm-xemacs-find-mime-charset): Remove.
51610         (mm-make-temp-file): Made obsolete.
51611         (mm-find-buffer-file-coding-system): Remove XEmacs compat.
51613 2016-02-11  Lars Ingebrigtsen  <larsi@gnus.org>
51615         Remove Message and mm-decode XEmacs compat code
51617         * lisp/gnus/message.el: Remove XEmacs compat code.
51619         * lisp/gnus/mm-decode.el (mm-create-image-xemacs): Remove.
51621         * lisp/gnus/mm-util.el: Remove some XEmacs compat code.
51623 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51625         Remove som XEmacs compat code from message.el
51627         * lisp/gnus/message.el: Remove some XEmacs compat code.
51629 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51631         Remove XEmacs compat code from ietf-drums.el
51633         * lisp/mail/ietf-drums.el (ietf-drums-syntax-table): Drop
51634         XEmacs compat.
51636 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51638         Remove XEmacs compat code from gravatar.el
51640         * lisp/gnus/gravatar.el: Remove XEmacs compat code from
51641         gravatar.el.
51643 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51645         Remove more XEmacs compat code from Gnus
51647         * lisp/gnus/gnus-util.el (gnus-bound-and-true-p): Remove.
51648         (gnus-timer--function): Remove.
51650         * lisp/gnus/gnus-uu.el (gnus-uu-save-article): Remove XEmacs
51651         19.2 compat.
51653         * lisp/gnus/gnus-win.el: Remove XEmacs compat code.
51655 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51657         Remove more XEmacs compat functions from gnus-util.el
51659         * lisp/gnus/gnus-util.el (gnus-put-display-table): Remove.
51660         (gnus-get-display-table): Remove.
51661         (gnus-format-message): Remove.
51663 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51665         Remove more XEmacs compat functions from Gnus
51667         * lisp/gnus/gnus-util.el (gnus-next-char-property-change): Remove.
51668         (gnus-previous-char-property-change): Remove.
51669         (gnus-graphic-display-p): Remove.
51670         (gnus-select-frame-set-input-focus): Remove.
51672 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51674         Remove more XEmacs compat code from gnus-util
51676         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
51677         all its usages).
51678         (gnus-invisible-p): Remove.
51680 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51682         Remove gnus-make-local-hook
51684         * lisp/gnus/gnus-util.el (gnus-make-local-hook): Remove (and
51685         all its usages).
51687 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51689         gnus-replace-in-string -> replace-regexp-in-string
51691         * lisp/gnus/gnus-util.el (gnus-replace-in-string): Declare
51692         obsolete.  Transform all usages of it into
51693         replace-regexp-in-string.
51695         * lisp/gnus/mailcap.el (mailcap-replace-in-string): Remove.
51697 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51699         Remove Gnus XEmacs compat
51701         * lisp/gnus/gnus-start.el (gnus-dribble-enter): Remove comment
51702         about code that doesn't work in XEmacs.
51704         * lisp/gnus/gnus-sum.el: Remove XEmacs compat.
51706         * lisp/gnus/gnus-topic.el: Remove XEmacs compat.
51708 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51710         Remove compat functions in gnus-spec.el
51712         * lisp/gnus/gnus-spec.el (gnus-string-width-function): Remove.
51713         (gnus-substring-function): Remove.
51714         (gnus-use-correct-string-widths): Remove.
51715         (gnus-make-format-preserve-properties): Remove.
51716         (gnus-xmas-format): Remove.
51718         * lisp/gnus/gnus-srvr.el (gnus-server-mode): Remove XEmacs compat.
51720 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51722         Remove Gnus XEmacs compat functions
51724         * lisp/gnus/gnus-registry.el: Remove XEmacs compat.
51726         * lisp/gnus/gnus-salt.el: Remove XEmacs compat.
51728         * lisp/gnus/gnus-score.el (gnus-decay-score): Remove XEmacs compat.
51730 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51732         Remove Gnus XEmacs compatibility
51734         * lisp/gnus/gnus-demon.el (gnus-demon-idle-since): Remove
51735         XEmacs compat.
51737         * lisp/gnus/gnus-dired.el: Remove XEmacs compat.
51739         * lisp/gnus/gnus-draft.el: Remove XEmacs compat.
51741         * lisp/gnus/gnus-gravatar.el (gnus-gravatar-insert): Remove
51742         XEmacs compat.
51744         * lisp/gnus/gnus-group.el: Remove XEmacs compat.
51746         * lisp/gnus/gnus-html.el: Remove XEmacs compat.
51748         * lisp/gnus/gnus-ml.el: Remove XEmacs compat.
51750         * lisp/gnus/gnus-picon.el (gnus-picon-style): Remove XEmacs comment.
51752 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51754         Don't use image-map if it isn't defined
51756         * lisp/net/shr.el (shr-image-map): Only use image-map as a
51757         parent if it's defined (bug#22614).
51759 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51761         Check for MagickAutoOrientImage
51763         * configure.ac: Check for MagickAutoOrientImage.
51765         * src/image.c (imagemagick_load_image): Don't use
51766         MagickAutoOrientImage unless it's available.
51768 2016-02-10  Lars Ingebrigtsen  <larsi@gnus.org>
51770         Document EXIF image rotation
51772         * doc/lispref/display.texi (ImageMagick Images): Mention EXIF rotation.
51774 2016-02-10  Dima Kogan  <dima@secretsauce.net>
51776         Support integer image rotation and respect EXIF rotations
51778         * src/image.c (imagemagick_load_image): Allow integer rotations in
51779         addition to floating point rotations (bug#22591).
51780         * src/image.c (imagemagick_load_image): Images that have an
51781         orientation given in EXIF and have no explicit :rotation tag are now
51782         pre-rotated.  All information such as width/height is reported for the
51783         rotated image.
51785 2016-02-10  Wolfgang Jenkner  <wjenkner@inode.at>
51787         * lisp/net/shr.el (image-map): Defvar it.  (Bug#22614)
51789 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51791         * lisp/gnus/gnus-cite.el: Remove XEmacs compat code.
51793 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51795         Remove compat code from gnus-bookmark.el
51797         * lisp/gnus/gnus-bookmark.el (gnus-bookmark-mouse-available-p): Remove.
51798         (gnus-bookmark-remove-properties): Remove.
51800 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51802         Remove XEmacs compat code from gnus-a*.el
51804         * lisp/gnus/gnus-agent.el: Remove compat code.
51806         * lisp/gnus/gnus-art.el: Remove compat code.
51808         * lisp/gnus/gnus-async.el: Remove compat code.
51810 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51812         Remove gmm compat functions
51814         * lisp/gnus/gmm-utils.el (gmm-image-search-load-path): Remove.
51815         (gmm-write-region): Remove.
51816         (gmm-called-interactively-p): Remove.
51818 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51820         * lisp/gnus/ecomplete.el: Remove XEmacs compat code.
51822 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51824         Remove compat code from compface.el
51826         * lisp/image/compface.el: Remove XEmacs compat code throughout.
51828 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51830         Remove the now empty gnus-ems.el and references to it
51832 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51834         Remove Gnus compat names for mouse bindings
51836         * lisp/gnus/gnus-ems.el (gnus-widget-button-keymap): Remove.
51837         (gnus-down-mouse-2): Remove.
51838         (gnus-down-mouse-3): Remove.
51840 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51842         Drop Gnus compat functions
51844         * lisp/gnus/gnus-ems.el (gnus-mule-max-width-function): Remove.
51846         * lisp/gnus/gnus-util.el (gnus-kill-all-overlays): Move here.
51848         * lisp/gnus/gnus.el (gnus-mode-line-modified): Remove.
51850 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51852         Get rid of gnus-ems-redefine
51854         * lisp/gnus/gnus-ems.el (gnus-mouse-face-prop): Remove.
51856 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51858         * lisp/gnus/gnus-spec.el: Move definition here from gnus-ems.el.
51860 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51862         Remove Gnus compat code
51864         * lisp/gnus/gnus-ems.el (gnus-ems-redefine): Remove
51865         transitional code from ten years ago.
51867 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51869         Allow interactively scaling past :max-width etc
51871         * lisp/image.el (image--current-scaling)
51872         (image--image-without-parameters): New functions.
51873         (image--change-size): Use them to allow changing the size of a
51874         image even if it has :width/:max-width (etc.) already set.
51876 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51878         * lisp/gnus/mm-decode.el (shr-image-map): Compilation fix.
51880 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51882         Allow accessing the image commands via shr
51884         * lisp/gnus/mm-decode.el (mm-convert-shr-links): Allow
51885         accessing the image commands.
51887         * lisp/net/shr.el (shr-image-map): New map used for images.
51888         (shr-urlify): Don't overwrite image maps when applying URL maps.
51890 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51892         Use a sparse image keymap
51894         * lisp/image.el (image-map): Use a sparse keymap.
51896 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51898         Put a keymap on images created with insert-image and friends
51900         * lisp/image.el (image-save): New command.
51901         (image-rotate): Ditto.
51902         (image-map): New keymap.
51903         (insert-image): Put the image-map on all images.
51904         (insert-sliced-image): Ditto.
51905         * doc/lispref/display.texi (Showing Images): Document the
51906         image map.
51908 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51910         Fix some folding issues in read-multiple-choice
51912         * lisp/subr.el (read-multiple-choice): Fix folding when you
51913         have many items.
51915 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51917         Fix typo in last checkin
51919 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51921         Remove Gnus compat functions
51923         * lisp/gnus/gnus-ems.el (gnus-mark-active-p)
51924         (gnus-region-active-p, gnus-select-lowest-window)
51925         (gnus-summary-display-table, gnus-max-width-function): Remove
51926         compat functions.
51928 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51930         Move non-compat Gnus functions to gnus-util.el
51932         * lisp/gnus/gnus-util.el (gnus-remove-image, gnus-put-image)
51933         (gnus-create-image, gnus-image-type-available-p): Move here
51934         from gnus-ems.el, since these aren't compat functions.
51936 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
51938         Omit valloc decl if redundant
51940         * src/gmalloc.c (valloc): Omit decl if malloc.h is included,
51941         to pacify --enable-gcc-warnings.
51943 2016-02-09  Wolfgang Jenkner  <wjenkner@inode.at>
51945         Restore the calloc family.
51947         * src/gmalloc.c (calloc, gcalloc, hybrid_calloc): Restore definitions.
51948         They were lost in a4817d8 but calloc is still (marginally) used in
51949         code statically liked with emacs, so hybrid_calloc is needed.
51950         Also, in the non-hybrid case, we can't get rid of calloc anyway as
51951         other libraries liked with emacs may need it.
51952         * src/conf_post.h: Restore redefinition of calloc to hybrid_calloc.
51954 2016-02-09  Lars Ingebrigtsen  <larsi@gnus.org>
51956         Remove some Gnus compat functions
51958         * lisp/gnus/gnus-ems.el (gnus-string-mark-left-to-right)
51959         (gnus-window-inside-pixel-edges, gnus-set-process-plist)
51960         (gnus-process-plist, gnus-process-get, gnus-process-put): Remove.
51962 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
51964         -
51966         -
51968 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
51970         Merge from origin/emacs-25
51972         4feb962 * lisp/comint.el (comint-prompt-read-only): Clean tabs in docstring
51973         cc419fb Don't inloop gnus-uu-mark-thread on the last thread
51974         51c77a2 Display non-ASCII group names better in prompts
51975         f93d669 Default to gpg2 instead of gpg
51977 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
51979         Merge from origin/emacs-25
51981         9ffe7dd * lisp/isearch.el (isearch-define-mode-toggle): Improve logic
51982         16140f7 * lisp/menu-bar.el (menu-bar-options-menu): New search submenu
51983         3db6adb * lisp/isearch.el (search-default-mode)
51984         4ea1ea7 * lisp/isearch.el: Rename search-default-regexp-mode to search-default-mode
51985         c77ffc8 Use monitor's resolution for positioning tooltips
51986         49e5749 Fix file-notify-test on MS-Windows
51987         be1d874 Fix issues found by auditing w32notify code
51988         87ae218 Extend etags Ruby support for accessors
51989         aa35257 Update publicsuffix.txt.
51990         6816bff Ensure that Gnus dribble handling allows removing entries
51991         691feae Be consistent when using encoded strings in nnimap data
51992         3ed423b Display the decoded Gnus group name
51993         5428b5b Use completion-ignore-case instead of defining command
51995 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
51997         Merge from origin/emacs-25
51999         1eaf68f * test/automated/file-notify-tests.el (file-notify-test06-many-events):
52000         d333716 ; * etc/NEWS: Expand news entry for scss-mode
52001         c32c16f ; Better document changes in ls-lisp default behavior
52002         dc6eed2 Fix doc string of tls-program
52004 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
52006         Merge from origin/emacs-25
52008         2c117fc * etc/NEWS: Document new mpc.el features
52009         71a0496 * lisp/custom.el (defface): Revert indentation change.  (Bug#22524)
52010         9dfece1 Correctly fontify C++ initializations which "look like" functions.
52011         4485222 Improve newsticker-treeview-selection-face
52012         4236944 Minor fix in tagging Ruby accessors by etags
52013         35fc77d Spelling fixes
52014         3dda110 Remove 'def X' from the example
52016 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
52018         Fix network-stream-tests on MS-Windows
52020         * test/lisp/net/network-stream-tests.el (make-local-unix-server):
52021         Skip if local sockets are not supported.
52023 2016-02-09  Michael Albinus  <michael.albinus@gmx.de>
52025         * admin/notes/bug-triage: Fix bug priorities.  Explain colors in debbugs-gnu.
52027 2016-02-09  Eli Zaretskii  <eliz@gnu.org>
52029         Disable 'timer-list'
52031         * lisp/emacs-lisp/timer-list.el: Make 'timer-list' a disabled
52032         command.
52034 2016-02-09  Paul Eggert  <eggert@cs.ucla.edu>
52036         Avoid aligned_alloc static/extern collision
52038         * src/alloc.c (aligned_alloc): Define to private name when a
52039         static function, to avoid collision with lisp.h extern decl.
52040         Reported by John Yates in:
52041         https://lists.gnu.org/r/emacs-devel/2016-02/msg00439.html
52043 2016-02-08  David Edmondson  <dme@dme.org>
52045         src/process.c Correctly convert AF_INET6 addresses
52047         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
52048         converted to a list of 16 bit quantities by
52049         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
52050         same scheme rather than expecting a (longer) list of 8 bit
52051         quantities.
52053 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
52055         Make `message-beginning-of-line' aware of folded headers
52057         * lisp/gnus/message.el (message-beginning-of-header): New function which
52058         moves point to the beginning of a mail header.  The function is aware of
52059         folded headers and with non-nil argument looks for the true beginning of
52060         a header while with nil argument moves to the indented text of header's
52061         value.
52062         (message-beginning-of-line): Function is now aware of folded headers and
52063         either moves point to the indention of a header or, in visual-line-mode,
52064         searches for the beginning of the header.
52066 2016-02-08  Michal Nazarewicz  <mina86@mina86.com>
52068         Optimize ‘point in message header’ check
52070         * lisp/gnus/message.el (message-point-in-header-p): Replace two unbound
52071         regular expression matches with a single bound string match thus
52072         reducing amount of work the function is doing.
52074 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52076         Make the `R' command get the correct relative <img>s
52078         * lisp/net/eww.el (eww-readable): Preserve the base URL so
52079         that image expansions are fetched from the right place (bug#22605).
52081 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52083         Add a mode to list and cancel timers
52085         * doc/lispref/os.texi (Timers): Menton `timer-list'.
52087         * lisp/emacs-lisp/timer-list.el: New file.
52089 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52091         Add new commands to allow changing the size of images
52093         * lisp/image.el (image-increase-size, image-decrease-size):
52094         New commands.
52095         (image-change-size): New function.
52097 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52099         Allow the image scale to be a floating point number
52101         * src/image.c (compute_image_size): The scale can be a
52102         floating point number.
52104 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52106         Add an IPv6 test
52108         * test/lisp/net/network-stream-tests.el
52109         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
52111 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52113         Use gnutls-serv instead of openssh
52115         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
52116         gnutls-serv instead of openssh.
52118 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52120         Skip TLS tests if we don't have openssl
52122         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
52123         TLS tests if we don't have openssl and GnuTLS.
52125 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52127         Add an IPv6 test
52129         * test/lisp/net/network-stream-tests.el
52130         (connect-to-tls-ipv6-nowait): Add an ipv6 test, too.
52132 2016-02-08  Lars Ingebrigtsen  <larsi@gnus.org>
52134         Use gnutls-serv instead of openssh
52136         * test/lisp/net/network-stream-tests.el (make-tls-server): Use
52137         gnutls-serv instead of openssh.
52139 2016-02-08  Daniel Colascione  <dancol@dancol.org>
52141         Performance improvements for vc-hg
52143         Teach vc-hg how to read some Mercurial internal data structures,
52144         allowing us to avoid the need to run hg status -A, which is very slow
52145         for large repositories.  Fall back to running hg if anything looks
52146         funny.  vc-hg now puts the _working directory_ revision in the
52147         modeline instead of the file revision, which greatly improves
52148         performance and which allows us to again skip running hg in the case
52149         that we have an active bookmark.
52151         * lisp/vc/vc-hg.el (vc-hg-state): Try calling `vc-hg-statefast'
52152         (vc-hg-symbolic-revision-styles)
52153         (vc-hg-use-file-version-for-mode-line-version)
52154         (vc-hg-parse-hg-data-structures): New user preferences
52155         (vc-hg--active-bookmark-internal, vc-hg--run-log)
52156         (vc-hg--symbolic-revision, vc-hg-mode-line-string)
52157         (vc-hg--read-u8, vc-hg--read-u32-be)
52158         (vc-hg--raw-dirstate-search, vc-hg--cached-dirstate-search)
52159         (vc-hg--parts-to-string, vc-hg--pcre-to-elisp-re)
52160         (vc-hg--glob-to-pcre, vc-hg--hgignore-add-pcre)
52161         (vc-hg--hgignore-add-glob, vc-hg--hgignore-add-path)
52162         (vc-hg--slurp-hgignore-1, vc-hg--slurp-hgignore)
52163         (vc-hg--ignore-patterns-valid-p)
52164         (vc-hg--ignore-patterns-ignored-p, vc-hg--time-to-fixnum)
52165         (vc-hg--file-ignored-p, vc-hg--read-repo-requirements)
52166         (vc-hg--requirements-understood-p, vc-hg--dirstate-scan-cache)
52167         (vc-hg-state-fast): New functions.
52168         (vc-hg--hgignore-patterns, vc-hg--hgignore-filenames)
52169         (vc-hg--cached-ignore-patterns, vc-hg--dirstate-scan-cache)
52170         (vc-hg--dirstate-scan-cache): New internal variables.
52171         * lisp/vc/vc-hooks.el (vc-refresh-state): Invoke vc find-file-hook
52172         before updating modeline.
52174 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52176         Skip TLS tests if we don't have openssl
52178         * test/lisp/net/network-stream-tests.el (connect-to-tls): Skip
52179         TLS tests if we don't have openssl and GnuTLS.
52181 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52183         Automatically scale images up on high-density screens
52185         * doc/lispref/display.texi (ImageMagick Images): Mention :scale.
52186         (Defining Images): Mention image-scaling-factor.
52188         * lisp/image.el (image-compute-scaling-factor): New function
52189         (bug#22172).
52190         (create-image): Use it.
52191         (image-scaling-factor): New variable.
52193         * src/image.c (compute_image_size): Take :scale into account.
52195 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52197         Ensure progress when fetching from the queue
52199         * lisp/url/url-queue.el (url-queue-check-progress): Ensure
52200         that we have progress when fetching queued requests (bug#22576).
52202 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52204         Make mail-extract-address-components return the user name more
52206         * lisp/mail/mail-extr.el (mail-extract-address-components):
52207         Return the name even if it's the same as the mailbox name (if
52208         `mail-extr-ignore-single-names' isn't set) (bug#22594).
52210 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52212         Message no longer warns about unknown top level domains
52214 2016-02-07  Jarno Malmari  <jarno@malmari.fi>
52216         Add tests for url-auth
52218         * test/lisp/url/url-auth-tests.el: New file.
52220 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52222         Add a TLS connection test
52224         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
52225         a TLS connection test.
52227 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52229         Add more network tests
52231         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
52232         New test.
52234 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52236         Add network tests
52238         * test/lisp/net/network-stream-tests.el: New suite of network tests.
52240 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52242         Add a TLS connection test
52244         * test/lisp/net/network-stream-tests.el (connect-to-tls): Add
52245         a TLS connection test.
52247 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52249         Add more network tests
52251         * test/lisp/net/network-stream-tests.el (echo-server-nowait):
52252         New test.
52254 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52256         Add network tests
52258         * test/lisp/net/network-stream-tests.el: New suite of network tests.
52260 2016-02-07  Rasmus Pank Roulund  <rasmus@gmx.us>
52262         Allow various Gnus and Message address variables to be functions
52264         * doc/misc/gnus.texi (To From Newsgroups):
52265         gnus-ignored-from-addresses can be a function.
52267         * doc/misc/message.texi (Wide Reply):
52268         message-dont-reply-to-names can be a function.
52270         * lisp/gnus/gnus-icalendar.el (gnus-icalendar-identities):
52271         message-alternative-emails can be a function.
52273         * lisp/gnus/gnus-notifications.el (gnus-notifications):
52274         message-alternative-emails can be a function (bug#22315).
52276         * lisp/gnus/gnus-sum.el
52277         (gnus-summary-from-or-to-or-newsgroups):
52278         gnus-ignored-from-addresses can be a function (bug#22315).
52280 2016-02-07  Lars Ingebrigtsen  <larsi@gnus.org>
52282         Fix typo in Gnus regexp
52284         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Fix
52285         typo in last change to this regexp (bug#22592).
52287 2016-02-07  Paul Eggert  <eggert@cs.ucla.edu>
52289         Port to FreeBSD x86
52291         Reported by Herbert J. Skuhra in:
52292         https://lists.gnu.org/r/emacs-devel/2016-02/msg00336.html
52293         * src/lisp.h (NONPOINTER_BITS) [__FreeBSD__]: Zero in this case too,
52294         since malloc always returns a multiple of 8 in FreeBSD.
52296 2016-02-07  Alan Mackenzie  <acm@muc.de>
52298         On leaving CC Mode, clean up by removing character properties.
52300         * lisp/progmodes/cc-mode.el (c-leave-cc-mode-mode): Remove from the buffer
52301         all instances of the text properties/extents category, syntax-table,
52302         c-is-sws, c-in-sws, c-type, and c-awk-NL-prop.
52304 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
52306         message-valid-fqdn-regexp no longer exists
52308         * lisp/gnus/gnus-art.el (gnus-button-valid-fqdn-regexp): Don't use
52309         the no-longer-existing message-valid-fqdn-regexp variable.
52311 2016-02-06  Lars Ingebrigtsen  <larsi@gnus.org>
52313         Remove message-valid-fqdn-regexp, since it changes too much now
52315         * lisp/gnus/message.el (message-valid-fqdn-regexp): Remove.
52316         (message-bogus-recipient-p): Don't use it any more.
52317         (message-make-fqdn): Ditto.  Suggested by Lars-Johan Liman.
52319 2016-02-06  Paul van der Walt  <paul@denknerd.org>
52321         Match "Re :" as a "Re:" prefix
52323         * lisp/gnus/message.el (message-subject-re-regexp): Also match
52324         "Re :" as a "Re:" prefix (commonly used in France).
52326 2016-02-06  Adam Sjøgren  <asjo@koldfront.dk>
52328         lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
52330         * lisp/net/shr.el (shr-tag-del, shr-tag-ins): New functions.
52332 2016-02-06  David Edmondson  <dme@dme.org>
52334         src/process.c Correctly convert AF_INET6 addresses
52336         * src/process.c (conv_lisp_to_sockaddr): AF_INET6 addresses are
52337         converted to a list of 16 bit quantities by
52338         conv_sockaddr_to_lisp(). conv_lisp_to_sockaddr() should follow the
52339         same scheme rather than expecting a (longer) list of 8 bit
52340         quantities.
52342 2016-02-05  Martin Jesper Low Madsen  <martin@martinjlowm.dk>
52344         Search for host/port combinations in auth-source on OS X
52346         * lisp/gnus/auth-source.el (auth-source-macos-keychain-search):
52347         Search for all host/port (or protocol) combinations for a match in
52348         the OS X keychain.
52350 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
52352         Remove nonsensical setting of gnus-newsgroup-unseen
52354         * lisp/gnus/gnus-sum.el (gnus-update-marks): Remove nonsensical
52355         setting of gnus-newsgroup-unseen.
52357 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
52359         Use underline on all terminals that support it
52361         * lisp/subr.el (read-multiple-choice): Use
52362         display-supports-face-attributes-p instead of
52363         display-graphic-p to determine whether we can use underlining.
52365 2016-02-05  Lars Ingebrigtsen  <larsi@gnus.org>
52367         Make the nsm query say what it did after the user interaction
52369         * lisp/net/nsm.el (nsm-query): Issue a message about
52370         aborting/accepting messages (suggested by N. Jackson)
52371         (bug#22531).
52373 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
52375         Omit XLI (init) == 0 optimization in make-vector
52377         * src/alloc.c (Fmake_vector): Simplify by omitting the (XLI (init)
52378         == 0) case, as this optimization is probably not worth the hassle.
52379         Just for the record, the test for that case could have been
52380         (XLI (init) % ((EMACS_UINT) -1 / UCHAR_MAX) == 0) (!),
52381         assuming the typical platform with no padding bits and where
52382         conversion to int omits the most significant bits.
52384 2016-02-05  Paul Eggert  <eggert@cs.ucla.edu>
52386         * autogen.sh: Port to dash (Bug#22556).
52388 2016-02-05  Michael Albinus  <michael.albinus@gmx.de>
52390         Minor cleanup for Tramp "doas".
52392         * doc/misc/tramp.texi (Inline methods): Add "doas" method.
52394         * etc/NEWS: Add Tramp connection method "doas".
52396         * lisp/net/tramp-sh.el (tramp-methods) <doas>:
52397         Add `tramp-remote-shell-args'.
52399 2016-02-05  Xi Lu  <lx@shellcodes.org>
52401         * lisp/net/tramp-sh.el (tramp-methods) <doas>: Add.  (Bug#22542)
52403         (tramp-default-user-alist): Add rule for "doas".
52404         (top): Completion function for "doas" is
52405         `tramp-completion-function-alist-su'.
52407 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52409         Restore the window configuration
52411         * lisp/net/nsm.el (nsm-query-user): Restore the window
52412         configuration (bug#22532).
52414 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52416         Use an X popup in read-multiple-choice if running from a mouse command
52418         * lisp/subr.el (read-multiple-choice): Use an X popup if
52419         called from a mouse action (bug#19368).
52421 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52423         Display cursor in echo area when prompting
52425         * lisp/subr.el (read-multiple-choice): Display the cursor in
52426         the echo area when prompting (bug#19368).
52428 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52430         Make NSM prompting clearer
52432         * lisp/net/nsm.el (nsm-query-user): Use read-multiple-choice
52433         to prompt in a nicer way (bug#19368).
52435 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52437         Underline read-multiple-choice-face
52439         * lisp/faces.el (read-multiple-choice-face): Also underline
52440         the choice.
52442 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52444         Make url.el use async DNS
52446         * lisp/url/url-gw.el (url-open-stream): Use non-blocking DNS.
52448         * src/process.c (syms_of_process): Add a `dns' subfeature for
52449         make-network-process.
52451 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52453         Only do async DNS if requested with :nowait 'dns
52455         * doc/lispref/processes.texi (Network Processes): Mention the
52456         dns value of :nowait.
52458         * src/process.c (Fmake_network_process): Only do async DNS if
52459         :nowait is `dns'.
52461 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52463         Add sanity check for checking async DNS
52465         * src/process.c (check_for_dns): Disregard processes that have
52466         already been killed.
52468 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52470         Make the read-multiple-choice prompt a bit prettier
52472         * doc/lispref/commands.texi (Reading One Event): Mention
52473         read-multiple-choice-face.
52475         * lisp/subr.el (read-multiple-choice): Make the prompting a bit
52476         prettier.
52478 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
52480         Prefer memcpy and memset to doing it by hand
52482         * src/alloc.c (Fmake_vector):
52483         * src/ccl.c (setup_ccl_program):
52484         Use memset to clear array.
52485         * src/alloc.c (Fvector, Fmake_byte_code):
52486         * src/charset.c (Fdefine_charset_internal):
52487         Use memcpy to copy array.
52489 2016-02-04  Nicolas Petton  <nicolas@petton.fr>
52491         Do not ignore redirections of 301, 302 and 307 status codes
52493         The current version of HTTP/1.1 (RFC 7231) no longer requires
52494         confirmation on 301, 302 or 307 status codes, therefore we do not have
52495         to ignore redirects for other requests than GET and HEAD.
52497         * lisp/url/url-http.el (url-http-parse-headers): Do not ignore 301, 302
52498         and 307 redirects for other requests than GET and HEAD.
52500 2016-02-04  Mark Oteiza  <mvoteiza@udel.edu>
52502         * lisp/net/eww.el (eww-switch-to-buffer): Use pop-to-buffer-same-window instead.
52504 2016-02-04  Paul Eggert  <eggert@cs.ucla.edu>
52506         Simplify USE_ALIGNED_ALLOC
52508         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify, now that we’ve merged
52509         in the emacs-25 changes.  Omit no-longer-needed decl for aligned_alloc.
52511 2016-02-04  Eric Abrahamsen  <eric@ericabrahamsen.net>
52513         Honor docstring of gnus-group-get-new-news
52515         * lisp/gnus/gnus-start.el (gnus-get-unread-articles): If the prefix arg
52516         is t, but non-numeric, unconditionally consider all groups to need
52517         updating.
52519 2016-02-04  Lars Ingebrigtsen  <larsi@gnus.org>
52521         New function read-multiple-choice
52523         * doc/lispref/commands.texi (Reading One Event): Document
52524         read-multiple-choice.
52526         * lisp/faces.el (read-multiple-choice-face): New face.
52528         * lisp/subr.el (read-multiple-choice): New function.
52530 2016-02-03  John Wiegley  <johnw@newartisans.com>
52532         Merge from origin/emacs-25
52534         ee73997 Make erc work better when encountering unknown prefix chars
52535         b99141d Make erc completion case-insensitive again
52536         66c4620 Make complection in erc use consistent casing
52537         8c562b2 Make /QUIT in erc more robust
52538         d93d2c5 Make tracking faces in Emacs work more reliably
52539         af6ab7e Make shr not bug out on images on non-graphical displays
52540         3311f40 Fix bookmark display widths
52541         d90ab1e Fix typo in eww-make-unique-file-name
52542         7f81825 Make it possible to TAB to input fields
52543         a43a1dc Insert complete alt texts when images are disabled
52544         56ed4e1 Allow eww text fields to grow
52545         66b315c Make erc work when subword-mode is switched on
52546         255b68f Fix IMAP doc example
52547         91557f5 Quoting fixes in doc strings and diagnostics
52548         2c0dc9f Fix warning message in hack-local-variables
52549         504696d Etags: yet another improvement in Ruby tags
52550         8784ebf Fix x-popup-menu on TTYs without a mouse
52551         8b87ecb * lisp/emacs-lisp/map.el: Improvements to the docstring of the
52552                 pcase macro
52553         6191003 Use pop-to-buffer-same-window in eww
52554         fe321fd * autogen.sh: Revert all recent changes.
52555         74ebd4a * make-dist: Updates related to nt/.
52556         737193a * make-dist: Add modules/.
52557         3696bf2 * make-dist: Update for super-special file that can't live in etc/.
52558         a4278e2 Fix failure to compile ns-win.el in parallel builds
52559         860da4d Fix names of tags generated for Ruby accessors
52560         f6213ce Fix file-name recognition in 'etags'
52561         e42e662 Change Ruby file names and extensions recognized by 'etags'
52562         58bfb6a More improvements for Ruby support in 'etags'
52563         c04e911 Add --git-config option to autogen.sh
52564         5713466 Fix editing undo changes in eww fields
52565         51362d6 Allow the user more control of popping up the eww window
52566         ee0fbd8 Make eww-browse-url with new-window parameter work again
52567         9c3142d Clean up eww code slightly
52568         cb035f3 Don't insert nil faces in shr
52569         4c3fae3 ; * lisp/progmodes/prolog.el: Remove some obsolete commentary.
52570         93f2153 Improve the custom type of some user options.
52571         9f60d7e Mark some risky calendar variables.
52572         1d07dcd Highlight two additional SCSS keywords
52573         ee8b466 Recommend enabling integrity-checking in git
52574         e639e10 Some corrections in Elisp manual
52575         d766ca8 Chatter when autogen.sh changes Git configuration
52576         3b734e1 * org/org-compat.el (org-font-lock-ensure): Fix bogus test (bug#22399)
52577         43cb9f8 Omit unnecessary history from Lisp intro
52578         2fbd1da * etc/HISTORY: Add some more history, plus git tags.
52579         c90e1b4 Improve elisp “Security Considerations” doc
52580         cedd7ca autogen.sh now arranges for git to check hashes
52581         86ce76b ; Fix ChangeLog.2 commit ID.
52582         7b1d2b1 Fix (c & 040) typo in emergency escapes
52583         a8273da Fix display of overlay strings with 'display' and 'box' property
52584         fc48106 Fix imap-starttls-open
52585         cdecbed Fix return value of imap-starttls-open
52586         20c7e34 ; * etc/NEWS: Fix renamed command name
52587         98bdbdb Correct reference to DARWIN_OS preprocessor symbol
52588         b250d29 Spelling fix
52589         b920a0e Spelling fixes
52590         93b144b Pacify GCC on C library without glibc API
52592 2016-02-03  John Wiegley  <johnw@newartisans.com>
52594         Merge from origin/emacs-25
52596         ea26c8a * lisp/net/browse-url.el (browse-url-default-browser): Lower
52597                 priority of non-free Chrome.
52598         0fac75f Improve the custom type of some user options.
52599         2df0e04 Highlight CSS variables with variable name face
52600         3cf5e81 * lisp/gnus/gnus-kill.el (gnus-winconf-kill-file): Not
52601                 user-serviceable.
52602         2a5233c Mark some user options that can get evalled as risky.
52603         39b166f Disable DebPrint in sys_read on MS-Windows
52604         9fd0189 ;Fix ChangeLog entry
52605         4bb7233 Fix typos in Introduction to Emacs Lisp manual
52607 2016-02-03  Mark Oteiza  <mvoteiza@udel.edu>
52609         Add a new command to switch between erc buffers
52611         * doc/misc/eww.texi: Document eww-switch-to-buffer and its keybinding
52612         * etc/NEWS: Mention new command
52613         * lisp/net/eww.el (eww-mode-map): Bind eww-switch-to-buffer to "s"
52614         (eww-mode-map): Add menu item
52615         (eww-switch-to-buffer): New command
52617 2016-02-03  David Edmondson  <dme@dme.org>
52619         Make erc work better when encountering unknown prefix chars
52621         * lisp/erc/erc.el (erc-channel-receive-names): Output a warning
52622         instead of erroring out on unknown prefix chars (bug#22380).
52624 2016-02-03  Vasilij Schneidermann  <v.schneidermann@gmail.com>  (tiny change)
52626         Allow sending empty hidden values in eww
52628         * lisp/net/eww.el (eww-tag-input): Allow sending empty hidden
52629         values (bug#22388).
52631 2016-02-03  Andrew Hyatt  <ahyatt@gmail.com>
52633         Remove packages obsoleted before Emacs 24.
52635         In accordance with the policy discussed in the emacs-devel list,
52636         packages that have been obsoleted for a full major release cycle are up
52637         for deletion.
52639         This removes almost all packages that are now eligible for deletion,
52640         with the exception of "cl-compat", which seems it is likely to still be
52641         used, and "optional", which offers some functionality that doesn't have
52642         a replacement yet.
52644 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
52646         Mention context when resume from emergency escape
52648         That way, if the user has been doing something else for a while,
52649         they are reminded of the situation when restarting Emacs,
52650         and are more likely to understand the two questions.
52651         * doc/emacs/trouble.texi (Emergency Escape): Document this.
52652         * src/keyboard.c (handle_interrupt): Implement this.
52654 2016-02-03  Paul Eggert  <eggert@cs.ucla.edu>
52656         Port aligned_alloc decl to Cygwin.
52658         Problem reported by Ken Brown (Bug#22522#38).
52659         * configure.ac (aligned_alloc): Check for decl too.
52660         * src/lisp.h (aligned_alloc): Declare if not already declared.
52662 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
52664         autogen.sh now configures git only on request
52666         * autogen.sh (do_autoconf, do_git): New vars.
52667         Support new arguments --help, all, autoconf, git.
52668         By default, just do autoconf-related configuration, not git.
52669         Prefer 'echo' to 'cat <<EOF ...', as this tends to avoid temp files.
52670         If GNU cp is available, use it to backup .git/config before
52671         changing it.  When configuring git, chatter about what is being
52672         done, and configure git to check hashes.  Avoid some duplicate
52673         file name specification when creating git hooks.
52675         * GNUmakefile (ALL_IF_GIT): New macro.
52676         (configure): Use it.
52677         * INSTALL.REPO: Suggest './autogen.sh all'.
52679 2016-02-02  Lars Ingebrigtsen  <larsi@gnus.org>
52681         Doc fixes and refactorings based on comments from Eli Zaretskii
52683         * doc/lispref/processes.texi (Network Processes): Clarify the
52684         meaning of :tls-parameters.
52686         * lisp/net/gnutls.el (open-gnutls-stream): Clarify :nowait.
52688         * lisp/net/gnutls.el (gnutls-boot-parameters): Factor out into
52689         own function.
52690         (gnutls-negotiate): Use it.
52691         (open-gnutls-stream): Ditto.
52693         * src/eval.c (vformat_string): Refactor out the printing bits
52694         from verror.
52695         (verror): Use it.
52697         * src/gnutls.c (boot_error): Mark failed processes with the
52698         real error message.
52700         * src/lisp.h: Declare vformat_string.
52702 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
52704         Build with C11 if available
52706         * admin/merge-gnulib (GNULIB_MODULES): Add std-gnu11.
52707         * m4/std-gnu11.m4: New file, from gnulib.
52708         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
52710 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
52712         Update gnulib copy
52714         * doc/misc/texinfo.tex: Copy from gnulib.
52716 2016-02-02  Glenn Morris  <rgm@gnu.org>
52718         * lisp/vc/add-log.el (change-log-directory-files, find-change-log):
52719         Doc tweaks.
52721 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
52723         Port better to platforms lacking aligned_alloc
52725         Problem reported by Ken Brown (Bug#22522).
52726         * src/lisp.h (hybrid_aligned_alloc)
52727         [HYBRID_MALLOC && !HAVE_ALIGNED_ALLOC]: New decl.
52729 2016-02-02  Paul Eggert  <eggert@cs.ucla.edu>
52731         Port malloc.h hygiene fix to LTO
52733         * src/alloc.c (__malloc_initialize_hook):
52734         Make it externally visible (Bug#22522).
52736 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
52738         Build fix for --enable-check-lisp-object-type
52740         * src/process.c (check_for_dns): Type fix reported by YAMAMOTO
52741         Mitsuharu.
52743 2016-02-01  Glenn Morris  <rgm@gnu.org>
52745         Make find-change-log prefer a VCS root, if no ChangeLog exists.
52747         * lisp/vc/add-log.el (change-log-directory-files): New option.
52748         (find-change-log): Respect change-log-directory-files.
52749         * doc/emacs/maintaining.texi (Change Log Commands):
52750         Mention change-log-directory-files.
52752 2016-02-01  Lars Ingebrigtsen  <larsi@gnus.org>
52754         Boot parameter check fix
52756         * src/process.c (send_process): Fix test for boot parameters noted
52757         by Andy Moreton.
52759 2016-02-01  Paul Eggert  <eggert@cs.ucla.edu>
52761         Double static heap size.
52763         * src/sheap.h (STATIC_HEAP_SIZE): Double it, since it was too
52764         small on FreeBSD (Bug#22086).
52766 2016-02-01  Michael Albinus  <michael.albinus@gmx.de>
52768         Fix Bug#20821
52770         * lisp/net/tramp.el (tramp-file-name-handler):
52771         * lisp/net/tramp-sh.el (tramp-sh-handle-expand-file-name):
52772         Use `tramp-drop-volume-letter'.  (Bug#20821)
52774 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52776         Style fix
52778 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52780         Return the correct server port number
52782         * src/process.c (connect_network_socket): Return the correct
52783         server port number.
52785 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52787         Fix autoconf test for getaddrinfo_a
52789         * configure.ac: Make the test for getaddrinfo_a work.
52791 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52793         Better async error reporting
52795         * src/process.c (connect_network_socket): Mark failed processes
52796         with a better error message.
52797         (check_for_dns): Ditto.
52799 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52801         Clarify :tls-parameters.
52803 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52805         Always boot TLS if given parameters
52807         * src/process.c (connect_network_socket): If we have the TLS
52808         parameters, then boot the socket.
52810 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52812         Add documentation for :tls-parameters
52814         * doc/lispref/processes.texi (Network Processes): Mention
52815         :tls-parameters.
52817         * src/process.c (Fmake_network_process): Document the
52818         :tls-parameters parameter.
52820 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52822         Build fix for glibc systems.
52824 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52826         Make network connections work again on non-glibc systems
52828         * lisp/net/gnutls.el (open-gnutls-stream): Pass the TLS
52829         keywords in directly so that they can be used when doing
52830         synchronous DNS on non-synchronous connections.
52832         * lisp/net/network-stream.el (open-network-stream): Allow
52833         passing in the TLS parameters directly.
52835         * src/process.c (conv_numerical_to_lisp): New function to convert
52836         numerical addresses to Lisp.
52837         (Fmake_network_process): Rework the non-HAVE_ADDRINFO code
52838         paths so that they work again.
52839         (syms_of_process): Build fix for non-glibc systems.
52841 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52843         Windows build fix
52845         * src/process.c (Fmake_network_process): Build fix for systems
52846         without local sockets.
52848 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52850         Use XCAR/XCDR instead of Fcar etc
52852 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52854         Fix GC problem in async TLS connection
52856         * src/process.h: All Lisp_Object slots have to come first,
52857         otherwise they won't be protected from gc.
52859 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52861         Further TLS async work
52863         * src/gnutls.c (boot_error): New function to either signal an
52864         error or return an error code.
52865         (Fgnutls_boot): Don't signal errors when running asynchronously.
52867         * src/process.h (pset_status): Move here from process.c to be
52868         able to use from gnutls.c.
52870         * src/process.c (connect_network_socket): Do the TLS boot here
52871         when running asynchronously.
52872         (wait_reading_process_output): Rework the dns_processes
52873         handling for more safety.
52875 2016-01-31  Lars Ingebrigtsen  <larsi@gnus.org>
52877         Clean up dead code
52879         * lisp/net/gnutls.el (gnutls-async-sentinel): Remove.
52881 2016-01-31  Dave Barker  <kzar@kzar.co.uk>
52883         Add ability to give rcirc servers an alias name
52885         * lisp/net/rcirc.el (rcirc-server-alist): Add :server-alias
52886         customization option.
52887         (rcirc, rcirc-connect): Take server alias into account.
52889 2016-01-31  Paul Eggert  <eggert@cs.ucla.edu>
52891         Port new hybrid malloc to FreeBSD
52893         Problem reported by Wolfgang Jenkner in: https://bugs.gnu.org/22086#118
52894         * src/gmalloc.c (__malloc_initialize_hook, __after_morecore_hook)
52895         (__morecore) [HYBRID_MALLOC]: Define in this case too.
52897 2016-01-31  Wolfgang Jenkner  <wjenkner@inode.at>
52899         * configure.ac: Stop using mmap for buffers for FreeBSD.
52901 2016-01-31  Michael Albinus  <michael.albinus@gmx.de>
52903         Merge changes from Tramp repository
52905         * doc/misc/Makefile.in (${buildinfodir}/tramp.info tramp.html):
52906         No EXTRA_OPTS needed.
52908         * doc/misc/tramp.texi: Merge changes from Emacsemacs-25
52909         branch, especially for @trampfn{}.
52910         (Top): Move @ifnottex down.
52911         (History): XEmacs support has been removed.
52912         (GVFS based methods, Remote processes): Do not use emacsgvfs flag.
52913         (Auto-save and Backup): Use both syntax versions.
52914         (File name Syntax): Remark on IPv6 adresses is valid for
52915         unified syntax only.
52917         * doc/misc/trampver.texi: Do not set emacsgvfs flag.
52919 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
52921         Spelling fixes
52923 2016-01-30  Glenn Morris  <rgm@gnu.org>
52925         * lisp/vc/add-log.el (find-change-log): Use locate-dominating-file.
52927 2016-01-30  Matthew Carter  <m@ahungry.com>
52929         Quote table names for postgres listings (sql-mode)
52931         * lisp/progmodes/sql.el (sql-postgres-completion-object): Avoid passing
52932           unquoted table names to the completion list.
52934 2016-01-30  Glenn Morris  <rgm@gnu.org>
52936         Change Smerge "Mine" and "Other" for "Upper" and "Lower.  (Bug#20878)
52938         * lisp/vc/smerge-mode.el (smerge-diff-switches)
52939         (smerge-context-menu, smerge-match-conflict, smerge-swap): Doc fixes.
52940         (smerge-upper, smerge-upper-face, smerge-keep-upper)
52941         (smerge-diff-base-upper): Rename from smerge-mine, smerge-mine-face,
52942         smerge-keep-mine, smerge-diff-base-mine.  Update all uses.
52943         (smerge-mine-face, smerge-other-face): Remove obsolete face aliases.
52944         (smerge-lower, smerge-lower-face, smerge-lower-re, smerge-keep-lower)
52945         (smerge-diff-base-lower): Rename from smerge-other, smerge-other-face,
52946         smerge-other-re, smerge-keep-other, smerge-diff-base-lower.
52947         Update all uses.
52948         (smerge-basic-map): Add "l" and "u" bindings.
52949         (smerge-mode-menu): Update menu bindings for renaming.
52950         (smerge-font-lock-keywords): Update face names.
52951         (smerge-match-names): Update names.
52952         (smerge-diff-upper-lower): Rename from smerge-diff-mine-other.
52953         (smerge-match-conflict, smerge-ediff): Rename local variables.
52954         (smerge-makeup-conflict): Relabel markers.
52955         (smerge-parsep-re): Use renamed variables.
52957 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
52959         Port recent my_edata change to MS-Windows
52961         * src/lastfile.c (my_edata): Also define if WINDOWSNT.
52963 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
52965         Rework the mechanisms for async GnuTLS connections
52967         * lisp/net/gnutls.el (open-gnutls-stream): Compute the
52968         gnutls-boot parameters and pass them to the process object.
52969         (gnutls-negotiate): New parameter :return-keywords that won't
52970         connect to anything, just compute the keywords.
52972         * lisp/url/url-http.el (url-http): Revert async TLS sentinel
52973         hack, which is no longer necessary.
52975         * src/gnutls.c (Fgnutls_asynchronous_parameters): Rename from
52976         gnutls-mark-process.
52978         * src/process.c (connect_network_socket): If we're connecting to
52979         an asynchronous TLS socket, complete the GnuTLS boot sequence here.
52981         * src/process.h: New parameter gnutls_async_parameters.
52983 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
52985         Fix segfault from double free
52987         * src/process.c (check_for_dns): Protect against double free
52988         issues.
52990 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
52992         Remove debugging
52994 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
52996         Implement asynchronous GnuTLS connections
52998         * doc/misc/emacs-gnutls.texi (Help For Developers): Mention
52999         the nowait parameter.
53001         * lisp/net/gnutls.el (open-gnutls-stream): Allow asynchronous
53002         connections with the new nowait parameter.
53004         * lisp/net/network-stream.el (network-stream-open-tls): Pass
53005         on :nowait to open-gnutls-stream.
53007         * lisp/url/url-http.el (url-http): Don't overwrite the
53008         sentinel created by open-gnutls-stream.
53010         * src/gnutls.c (Fgnutls_mark_process): New function.
53012         * src/process.c (send_process): Don't write to GnuTLS sockets that
53013         haven't been initialized yed.
53015         * src/process.h: New slot gnutls_wait_p.
53017 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53019         Tell Automake the new lib/Makefile.am is OK
53021         * lib/Makefile.am (AUTOMAKE_OPTIONS): Add -Wno-portability.
53023 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53025         Make it easy to override preferred-branch test
53027         * Makefile.in (preferred-branch-is-current):
53028         Rename from emacs-25-branch-is-current.  All uses changed.
53029         (PREFERRED_BRANCH): New macro.
53031 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53033         Shrink static heap a bit
53035         * src/sheap.h: Include lisp.h, for Lisp_Object.
53036         (STATIC_HEAP_SIZE): Now an enum constant, not a macro.
53037         Make it 2 MiB * sizeof (Lisp_Object), which is a bit more
53038         conservative than the old value.
53039         (Bug#22086)
53041 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53043         Fix extern symbols defined and not used
53045         * src/alloc.c: Always include <signal.h>.
53046         (malloc_warning) [!SIGDANGER && (SYSTEM_MALLOC || HYBRID_MALLOC)]:
53047         Do not define; unused.
53048         * src/emacs.c, src/lisp.h (might_dump) [!DOUG_LEA_MALLOC]: Now static.
53049         * src/gmalloc.c (gdefault_morecore): Rename from __default_morecore,
53050         to avoid collision with glibc.  Now static.  All uses changed.
53051         * src/lastfile.c (my_edata): Define only if
53052         ((!defined SYSTEM_MALLOC && !defined HYBRID_MALLOC && !defined
53053         WINDOWSNT) \ || defined CYGWIN || defined DARWIN_OS).
53054         (Bug#22086)
53056 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53058         Build lib/e-*.o only on platforms that need it
53060         * configure.ac (hybrid malloc): Simplify configuration.
53061         (SHEAP_OBJ): Remove; no longer needed.
53062         (HYBRID_MALLOC): New var. Subst it.
53063         (HYBRID_MALLOC_LIB): New Automake conditional.
53064         * lib/Makefile.am (noinst_LIBRARIES): Add libegnu.a only if
53065         HYBRID_MALLOC_LIB.
53066         (libegnu_a_CPPFLAGS): Omit AM_CPPFLAGS; not needed.
53067         (MOSTLYCLEANFILES): Add libegnu.a.
53068         * src/Makefile.in (SHEAP_OBJ): Remove.
53069         (HYBRID_MALLOC): New macro.
53070         (base_obj): Use it to conditionally add sheap.o.
53071         (LIBEGNU_ARCHIVE): New macro.
53072         ($(LIBEGNU_ARCHIVE)): New rule, replacing $(lib)/libegnu.a.
53073         All uses of the latter replaced by the former.
53074         * src/alloc.c (USE_ALIGNED_ALLOC): Simplify configuration.
53075         Correct misspelling ALIGNED_ALLOC to HAVE_ALIGNED_ALLOC.
53076         * src/gmalloc.c: Update comment.
53077         * src/lisp.h (aligned_alloc)
53078         [!DOUG_LEA_MALLOC && !HYBRID_MALLOC && !SYSTEM_MALLOC]:
53079         New decl.
53080         (Bug#22086)
53082 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53084         Include <malloc.h> when advisable
53086         This should help insulate us better from future glibc changes.
53087         It is good hygiene to include .h files for APIs that Emacs uses.
53088         Fix type clashes between Emacs and GNU <malloc.h> (Bug#22086).
53089         * configure.ac: Check for malloc.h.
53090         * src/alloc.c: Include <malloc.h> depending on HAVE_MALLOC_H,
53091         not on DOUG_LEA_MALLOC.
53092         * src/emacs.c, src/gmalloc.c (malloc_enable_thread):
53093         Remove decl (now in lisp.h).
53094         * src/gmalloc.c: Include stddef.h earlier, for ptrdiff_t.
53095         [emacs]: Include lisp.h.
53096         [HAVE_MALLOC_H]: Include <malloc.h>.
53097         (__MALLOC_HOOK_VOLATILE): New macro, if not already defined.
53098         (__after_morecore_hook, __malloc_initialize_hook, __morecore)
53099         (__default_morecore):
53100         [!HAVE_MALLOC_H]: New decls near non-inclusion of <malloc.h>.
53101         (calloc): Make it clear that the macro should not be used.
53102         Remove unused decl.
53103         (malloc_info): New macro, to avoid clash with glibc <malloc.h>.
53104         (__morecore, __default_morecore, __after_morecore_hook)
53105         (__malloc_extra_blocks, __malloc_initialize_hook, __free_hook)
53106         (__malloc_hook, __realloc_hook, __memalign_hook, memory_warnings):
53107         Remove later decls.
53108         (gmalloc_hook, gfree_hook, grealloc_hook):
53109         Rename from __malloc_hook, __free_hook, __realloc_hook to
53110         avoid type collision with glibc <malloc.h>.  All uses changed.
53111         (gmalloc_hook):
53112         (__malloc_extra_blocks) [DOUG_LEA_MALLOC||HYBRID_MALLOC||SYSTEM_MALLOC]:
53113         Now static.
53114         (gmalloc_hook, __malloc_extra_blocks): Define even if [!HYBRID_MALLOC].
53115         (__malloc_initialize_hook, __after_morecore_hook):
53116         Declare with types compatible with glibc.
53117         (__memalign_hook, hybrid_calloc) [HYBRID_MALLOC]:
53118         Remove.  All uses removed.
53119         * src/lisp.h (__malloc_extra_blocks, malloc_enable_thread): New decls.
53120         * src/ralloc.c, src/vm-limit.c:
53121         Simplify includes and include <malloc.h> if available.
53123 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53125         * src/alloc.c: Include "sheap.h".
53127         (alloc_unexec_pre, alloc_unexec_post) [HYBRID_MALLOC]:
53128         Set and clear bss_sbrk_did_unexec, on all platforms not just Cygwin.
53129         * src/lisp.h (alloc_unexec_pre, alloc_unexec_post) [!DOUG_LEA_MALLOC]:
53130         Declare unconditionally.
53131         * src/unexcw.c, src/unexelf.c (bss_sbrk_did_unexec): Remove decl.
53132         (unexec): Don’t set or clear bss_sbrk_did_unexec;
53133         the caller now does this.
53134         (Bug#22086)
53136 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53138         Pacify --enable-gcc-warnings when HYBRID_MALLOC
53140         * src/buffer.c (init_buffer):
53141         * src/emacs.c (main):
53142         * src/xsmfns.c (smc_save_yourself_CB, x_session_initialize):
53143         Use emacs_get_current_dir_name, not get_current_dir_name.
53144         * src/conf_post.h (aligned_alloc) [HYBRID_MALLOC && emacs]: New macro.
53145         (HYBRID_GET_CURRENT_DIR_NAME, get_current_dir_name): Remove.
53146         * src/emacs.c: Include "sheap.h".
53147         (report_sheap_usage): Remove decl.
53148         (Fdump_emacs) [HYBRID_MALLOC]: Report usage directly.
53149         Don't assume ptrdiff_t can be printed as int.
53150         * src/gmalloc.c [HYBRID_MALLOC]:
53151         Include "sheap.h" rather than declaring its contents by hand.
53152         (get_current_dir_name, gget_current_dir_name)
53153         (hybrid_get_current_dir_name): Remove.
53154         (emacs_abort): Remove duplicate decl.
53155         (aligned_alloc): Undef, like malloc etc.
53156         (ALLOCATED_BEFORE_DUMPING): Now a static function, not a macro.
53157         Make it a bit more efficient.
53158         (malloc_find_object_address): Remove unused decl.
53159         (enum mcheck_status, mcheck, mprobe, mtrace, muntrace, struct mstats)
53160         (mstats, memory_warnings): Declare only if GC_MCHECK.
53161         * src/lisp.h (emacs_get_current_dir_name):
53162         New decl, replacing get_current_dir_name.
53163         * src/sheap.c: Include sheap.h first.
53164         (STATIC_HEAP_SIZE): Remove; now in sheap.h.
53165         (debug_sheap): Now static.
53166         (bss_sbrk_buffer_end): Remove; no longer used.
53167         (bss_sbrk_ptr): Now static and private.
53168         (bss_sbrk_did_unexec): Now bool.
53169         (BLOCKSIZE): Remove, to avoid GCC warning about its not being used.
53170         (bss_sbrk): Don't treat request_size 0 as special, since the code
53171         works without this being a special case.
53172         Avoid overflow if request size exceeds INT_MAX.
53173         (report_sheap_usage): Remove; now done in emacs.c.
53174         * src/sheap.h: New file.
53175         * src/sysdep.c (get_current_dir_name): Remove macro.
53176         Include "sheap.h".
53177         (emacs_get_current_dir_name): Rename function from
53178         get_current_dir_name.  Handle HYBRID_MALLOC here;
53179         this is simpler.
53180         (Bug#22086)
53182 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53184         Report static heap usage on non-Cygwin, too
53186         * src/emacs.c (Fdump_emacs) [HYBRID_MALLOC]: Report sheap usage here ...
53187         * src/unexcw.c (unexec): ... instead of here, since sheap can be used
53188         on platforms other than Cygwin (Bug#22086).
53190 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53192         Pacify GCC on extern decls
53194         * src/unexelf.c (bss_sbrk_did_unexec): Move decl to top level
53195         to pacify recent GCC (Bug#22086).
53197 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
53199         Add musl patch to support HYBRID_MALLOC on elf systems
53201         * src/gmalloc.c: Adjust for HYBRID_MALLOC in the non CYGWIN case.
53202         (__default_morecore): Here, in particular.
53203         * configure.ac: Define HYBRID_MALLOC when unexelf.o is used.
53204         New variable SHEAP_OBJ.
53205         * src/Makefile.in: Use it.
53206         (Bug#22086)
53208 2016-01-30  Rich Felker  <dalias@libc.org>  (tiny change)
53210         unexelf.c hook to support HYBRID_MALLOC on ELF
53212         * src/unexelf.c (unexec) [HYBRID_MALLOC]:
53213         Define bss_sbrk_did_unexec (Bug#22086).
53215 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
53217         Link temacs with gnulib compiled with -Demacs
53219         This is done to support HYBRID_MALLOC, since some static variables
53220         (e.g., last_environ in putenv.c) hold pointers to memory malloced
53221         before dumping (Bug#22086).
53222         * lib/Makefile.am: Add incantation to install libegnu.a.
53223         * src/Makefile.in ($(lib)/libgnu.a): Replace with libegnu.a
53224         (temacs$(EXEEXT)): Use it.
53226 2016-01-30  Wolfgang Jenkner  <wjenkner@inode.at>
53228         Internal linkage for gmalloc etc. if HYBRID_MALLOC
53230         This avoids clashes with symbols if the after-dump malloc is
53231         derived from Doug Lea's implementation (Bug#22086).
53233         * src/gmalloc.c (emacs_abort, __morecore, __default_morecore):
53234         Move declarations up.  For HYBRID_MALLOC, turn all `extern'
53235         declarations below to `static' ones.
53236         (aligned_alloc): Declare for !MSDOS as well.
53237         (heapsize, _fraghead): Move resp. copy declaration downwards.
53238         For HYBRID_MALLOC, conditionalize out the other definitions,
53239         since the previous `static' declarations double as tentative
53240         definitions, anyway.
53241         (_malloc, _free, _realloc, __free_hook, _aligned_blocks)
53242         (__realloc_hook, __memalign_hook): Conditionalize out.
53243         (cfree, memalign, valloc): Ditto.
53245 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53247         -
53249         -
53251         -
53253 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53255         Merge from origin/emacs-25
53257         3f481ad Rename xref-query-replace to xref-query-replace-in-results
53258         62f4ed4 Update cl-defgeneric and cl-defmethod docstrings
53259         2111e0e Comment out next-error-function integration in xref
53260         4e11ad3 Correct a use of "which" in intro.texi
53261         a1865bc Distinguish the two meanings of Java's keyword "default".  Fixes bug #22358.
53262         76045f7 Don't operate on menu bar of nonexistent frame
53263         c32f3bc Unbreak the GNUstep build.
53265 2016-01-30  Paul Eggert  <eggert@cs.ucla.edu>
53267         -
53269         -
53271 2016-01-30  Andreas Schwab  <schwab@linux-m68k.org>
53273         Re-enable checks in member, memql, delete to complain about non-lists
53275         * src/fns.c (Fmember, Fmemql, Fdelete): Revert 2007-10-16 change.
53277 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
53279         Clean up compilation warnings
53281 2016-01-30  Lars Ingebrigtsen  <larsi@gnus.org>
53283         Make async resolution more efficient
53285         * src/process.c (wait_reading_process_output): Use a list of
53286         process objects instead of looping through an array to check
53287         for name resolution.  This should be much faster.
53289 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53291         More async memory leaks
53293         * src/process.c (check_for_dns): Free even more allocated async stuff.
53295 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53297         Compilation for for systems with getaddrinfo_a
53299         * src/process.c (Fmake_network_process): Make stuff work again on
53300         systems with getaddrinfo_a.
53302 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53304         Save correct server data
53306         * src/process.c (connect_network_socket): Save the correct contact
53307         info for servers.
53309 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53311         Compilation for for non-GNU systems
53313         * src/process.c (Fmake_network_process): Make compilation work
53314         again on hosts that don't have getaddrinfo_a.
53316 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53318         Avoid memory leaks in async DNS
53320         * src/process.c (check_for_dns): Free async DNS resources after
53321         they've been used.
53323 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53325         * src/process.c (check_for_dns): Free the result data.
53327 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53329         Fix server connections
53331         * src/process.c (Fmake_network_process): Make creating server
53332         listening ports work again.
53334 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53336         Further make_network_process clean up
53338         * src/process.c (Fmake_network_process): Remove setting of unused
53339         family variable.
53341 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53343         Clean up GETADDRINFO usage in make-network-process
53345         * src/process.c (Fmake_network_process): Clean up the GETADDRINFO
53346         handling.
53348 2016-01-29  Lars Ingebrigtsen  <larsi@gnus.org>
53350         Implement asynchronous name resolution
53352         * src/process.c (Fmake_network_process): Do asynchronous DNS
53353         lookups if we have getaddrinfo_a and the user requests :nowait.
53354         (check_for_dns): New function.
53355         (wait_reading_process_output): Check for pending name
53356         resolution in the idle loop.
53358         * src/process.h: Add structure for async DNS.
53360 2016-01-28  Glenn Morris  <rgm@gnu.org>
53362         Remove some useless-use-of eval.
53364         * lisp/gnus/gnus.el (gnus-load-hook): Don't use eval.
53365         * lisp/gnus/nnrss.el (xml): Simply require it.
53366         (xml-rpc-method-call): Use declare-function.
53368 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
53370         Fix memory leak
53372         * src/process.c (connect_network_socket): Free previous sockaddr
53373         before allocating a new one.
53375 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
53377         Return IP addresses in the correct order
53379         * src/process.c (Fmake_network_process): Return the IP addresses
53380         in the same order as getaddrinfo does.
53381         (set_network_socket_coding_system): Clean up the code slightly.
53383 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
53385         Add checks for getaddrinfo_a
53387         * configure.ac: Detect getaddrinfo_a.
53389 2016-01-28  Lars Ingebrigtsen  <larsi@gnus.org>
53391         Refactor make_network_process
53393         * src/process.c (set_network_socket_coding_system)
53394         (connect_network_socket): Refactor out of
53395         make_network_process to allow calling connect_network_socket
53396         asynchronously.
53397         (Fmake_network_process): Do nothing but parsing the parameters
53398         and name resolution, leaving the connection to
53399         connect_network_socket.
53401 2016-01-28  Glenn Morris  <rgm@gnu.org>
53403         * lisp/emacs-lisp/bytecomp.el (byte-compile-nogroup-warn):
53404         Warn if defcustom has no type.  (Bug#16276)
53406 2016-01-27  Glenn Morris  <rgm@gnu.org>
53408         * test/lisp/vc/vc-hg-tests.el: Move from test/automated/.
53410 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
53412         (rng-c-fix-escaped-newlines): Use subst-char-in-string
53414         * lisp/nxml/rng-cmpct.el (rng-c-fix-escaped-newlines):
53415         Use subst-char-in-string.
53417 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
53419         * lisp/textmodes/sgml-mode.el (sgml-forward-sexp): New function
53421         (sgml-cursor-sensor, sgml-pretty-print, sgml-parse-tag-backward)
53422         (sgml-calculate-indent): Use it.
53424 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
53426         * lisp/org: Fix some compiler warnings
53428         * lisp/org/ob-core.el (org-babel-check-confirm-evaluate)
53429         (org-babel-map-src-blocks): Don't emit warnings if added vars are not used.
53430         (*this*): Declare as dyn-bound.
53431         (org-babel-expand-src-block, org-babel-load-in-session)
53432         (org-babel-switch-to-session-with-code, org-babel-get-rownames):
53433         Mark unused args.
53434         (org-babel-combine-header-arg-lists): Remove unused var `args'.
53435         (org-babel-find-named-block): Remove unused var `msg'.
53437         * lisp/org/org-src.el (org-inhibit-startup, org-src-fontify-natively):
53438         Declare as dyn-bound.
53439         (org-edit-src-code): Remove unused var `lfmt'.
53440         (org-edit-fixed-width-region): Remove unused var `preserve-indentation'.
53442 2016-01-25  Stefan Monnier  <monnier@iro.umontreal.ca>
53444         * lisp/font-lock.el: Use #' to quote function symbols
53446 2016-01-23  Michael Albinus  <michael.albinus@gmx.de>
53448         Improve user name completion in Tramp
53450         * lisp/net/tramp.el (tramp-parse-passwd, tramp-parse-etc-group):
53451         Call also "getent passwd" or "getent group", if possible.
53452         (tramp-parse-putty): Cache the result.
53454 2016-01-22  Michael Albinus  <michael.albinus@gmx.de>
53456         * etc/NEWS: Move kqueue entries to Emacs 25.1 sections.
53458 2016-01-20  Glenn Morris  <rgm@gnu.org>
53460         Remove handling of non-string time-stamp formats, obsolete for 20 years.
53462         * lisp/time-stamp.el (time-stamp-format): Doc fix.
53463         (time-stamp-old-format-warn, time-stamp-fconcat): Remove.
53464         (time-stamp-string): Ignore non-string formats.
53466 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
53468         Anoter fix for problematic merge from emacs-25
53470         * src/w32fns.c (globals_of_w32fns): Move initialization of
53471         resetstkoflw to a non-Cygwin part.
53473 2016-01-20  Michael Albinus  <michael.albinus@gmx.de>
53475         * test/Makefile.in (mostlyclean): Use ${LOGFILES}.
53477 2016-01-20  Eli Zaretskii  <eliz@gnu.org>
53479         Fix MS-Windows build broken by a botched merge from emacs-25
53481         * src/w32.c (w32_crypto_hprov): New static variable.
53482         (globals_of_w32): Initialize w32_crypto_hprov.
53483         (w32_init_crypt_random, w32_init_random): New functions.
53484         Include wincrypt.h.
53485         * src/w32.h (w32_init_random): Add prototype.
53487 2016-01-19  Vincent Belaïche  <vincentb1@users.sourceforge.net>
53489         Correct a whole bunch of bugs coming with renamed cell relocation.
53491         * lisp/ses.el (ses-localvars): rename variable
53492         `ses--renamed-cell-symb-list' into `ses--in-killing-named-cell-list'
53493         and adjust the comment about it.
53494         (ses-plist-delq): new defun.
53495         (ses--ses-buffer-list): new defvar.
53496         (ses--unbind-cell-name): new defun.
53497         (ses-relocate-symbol): Do not relocate symbol when it is a named cell.
53498         (ses-relocate-formula): Undo change of
53499         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net that was
53500         preventing relocation for named cell --- now doing this is delegated
53501         to function `ses-relocate-symbol'.
53502         (ses-relocate-range): In docstring, undo change of
53503         2016-01-03T07:31:52Z!johnw@newartisans.com, `ses-range' must remain
53504         lower case as it is not a variable.
53505         (ses-relocate-all): Cell name relocation : 1) check that cell is a
53506         renamed cell by testing `ses-cell' property to :ses-named, rather than
53507         comparing name to corresponding standard name. Set rowcol of renamed
53508         cell into the hashmap --- `ses-cell' property must not be used for
53509         that as the same name can be used for different locations in different
53510         SES sheets ; 2) use `local-variable-if-set-p' rather than `boundp' and
53511         `local-variable-p' to check if cell name is already in use in this
53512         sheet or needs initialization.
53513         (ses-relocate-all): Cell value relocation : 1) like for name
53514         relocation use the `ses-cell' property rather than comparing actual
53515         name to corresponding standard name. 2) Correct bug introduced in
53516         2011-12-27T19:30:39Z!vincentb1@users.sourceforge.net, as the test was
53517         made the other way round than the intention --- ie value relocation
53518         was disabled for standard cell, not for renamed cell as was the
53519         intention.
53520         (ses-relocate-all): Add loop for unbinding deleted renamed cells
53521         names.
53522         (ses-killbuffer-hook): new defun.
53523         (ses-mode): Add the ses--ses-buffer-list maintenance mechanism ---
53524         kill buffer hook, plus pushing current buffer if new in list.
53525         (ses-delete-row, ses-delete-column): Collect deleted renamed cells
53526         into `ses--in-killing-named-cell-list'.
53527         (ses-rename-cell): Remove update of variable
53528         `ses--renamed-cell-symb-list', this variable is renamed to
53529         `ses--in-killing-named-cell-list', and its setting is done in
53530         functions `ses-delete-row' and , `ses-delete-column' now.
53531         (ses-rename-cell): Change correction of
53532         2015-12-30T23:10:37Z!vincentb1@users.sourceforge.net concerning
53533         computation of the range over which `cursor-intangible' property was
53534         to be updated. This correction was ok for non spilling cells, but not
53535         for cells spilling over following blank cells. Simply use
53536         `next-single-property-change' rather than computing the end column
53537         from column widths.
53539 2016-01-18  John Wiegley  <johnw@newartisans.com>
53541         -
53543 2016-01-18  John Wiegley  <johnw@newartisans.com>
53545         Merge from origin/emacs-25
53547         3ae7934 ; * etc/NEWS: Mark entries that don't need further treatment.
53548         6165c36 * lisp/files.el (dir-locals--all-files): Respect absolute file-names
53549         2ffdf15 * lisp/help-fns.el (describe-variable): Fix a left-over parenthesis
53550         71ecd62 * lisp/dired-x.el (dired-omit-here-always): Use add-dir-local-variable
53551         f0b82b3 * lisp/files.el (dir-locals--all-files): Use completion instead of wildcards
53552         86e4513 Fix incompatbilities with MS-Windows 2000 and older
53553         4e96521 Mention in PROBLEMS an issue with MS-Windows NT4
53554         15c23aa Ensure 8-byte aligned memory allocation on MS-Windows 9X
53555         39afa42 Fix tests for active region in hideif.el
53556         05df666 Fix interactive specs in some hideif.el commands
53558 2016-01-18  John Wiegley  <johnw@newartisans.com>
53560         -
53562 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
53564         Avoid stdio in SIGINT handler
53566         * admin/merge-gnulib (GNULIB_MODULES): Add ignore-value.
53567         * lib/gnulib.mk, m4/gnulib-comp.m4: Regenerate.
53568         * lib/ignore-value.h: New file, from gnulib.
53569         * src/keyboard.c: Include it.
53570         (write_stdout, read_stdin): New functions.
53571         (handle_interrupt): Use them instead of printf and getchar,
53572         and avoid fflush when handling signals.
53574 2016-01-18  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
53576         Refactor mml-smime.el, mml1991.el, mml2015.el
53578         (Maybe this is the last merge from Gnus git to Emacs git)
53580         Cf. discussion on ding mailing list, messages in
53581         <http://thread.gmane.org/gmane.emacs.gnus.general/86228>.
53582         Common code from the three files mml-smime.el, mml1991.el, and
53583         mml2015.el is moved to mml-sec.el.  Auxiliary functions are added
53584         to gnus-util.el.
53586         The code is supported by test cases with necessary test keys.
53588         Documentation in message.texi is updated.
53590         * doc/misc/message.texi (Security, Using S/MIME):
53591         Update for refactoring mml-smime.el, mml1991.el, mml2015.el.
53592         (Using OpenPGP): Rename from "Using PGP/MIME"; update contents.
53593         (Passphrase caching, Encrypt-to-self, Bcc Warning): New sections.
53595         * lisp/gnus/gnus-util.el (gnus-test-list, gnus-subsetp, gnus-setdiff):
53596         New functions.
53598         * lisp/gnus/mml-sec.el: Require gnus-util and epg.
53599         (epa--select-keys): Autoload.
53600         (mml-signencrypt-style-alist, mml-secure-cache-passphrase): Doc fix.
53601         (mml-secure-openpgp-signers): New user option;
53602         make mml1991-signers and mml2015-signers obsolete aliases to it.
53603         (mml-secure-smime-signers): New user option;
53604         make mml-smime-signers an obsolete alias to it.
53605         (mml-secure-openpgp-encrypt-to-self): New user option;
53606         make mml1991-encrypt-to-self and mml2015-encrypt-to-self obsolete
53607         aliases to it.
53608         (mml-secure-smime-encrypt-to-self): New user option;
53609         make mml-smime-encrypt-to-self an obsolete alias to it.
53610         (mml-secure-openpgp-sign-with-sender): New user option;
53611         make mml2015-sign-with-sender an obsolete alias to it.
53612         (mml-secure-smime-sign-with-sender): New user option;
53613         make mml-smime-sign-with-sender an obsolete alias to it.
53614         (mml-secure-openpgp-always-trust): New user option;
53615         make mml2015-always-trust an obsolete alias to it.
53616         (mml-secure-fail-when-key-problem, mml-secure-key-preferences):
53617         New user options.
53618         (mml-secure-cust-usage-lookup, mml-secure-cust-fpr-lookup)
53619         (mml-secure-cust-record-keys, mml-secure-cust-remove-keys)
53620         (mml-secure-add-secret-key-id, mml-secure-clear-secret-key-id-list)
53621         (mml-secure-cache-passphrase-p, mml-secure-cache-expiry-interval)
53622         (mml-secure-passphrase-callback, mml-secure-check-user-id)
53623         (mml-secure-secret-key-exists-p, mml-secure-check-sub-key)
53624         (mml-secure-find-usable-keys, mml-secure-select-preferred-keys)
53625         (mml-secure-fingerprint, mml-secure-filter-keys)
53626         (mml-secure-normalize-cust-name, mml-secure-select-keys)
53627         (mml-secure-select-keys-1, mml-secure-signer-names, mml-secure-signers)
53628         (mml-secure-self-recipients, mml-secure-recipients)
53629         (mml-secure-epg-encrypt, mml-secure-epg-sign): New functions.
53631         * lisp/gnus/mml-smime.el: Require epg;
53632         refactor declaration and autoloading of epg functions.
53633         (mml-smime-use): Doc fix.
53634         (mml-smime-cache-passphrase, mml-smime-passphrase-cache-expiry):
53635         Obsolete.
53636         (mml-smime-get-dns-cert, mml-smime-get-ldap-cert):
53637         Use format instead of gnus-format-message.
53638         (mml-smime-epg-secret-key-id-list): Remove variable.
53639         (mml-smime-epg-passphrase-callback, mml-smime-epg-find-usable-key)
53640         (mml-smime-epg-find-usable-secret-key): Remove functions.
53641         (mml-smime-epg-sign, mml-smime-epg-encrypt): Refactor.
53643         * lisp/gnus/mml1991.el (mml1991-cache-passphrase)
53644         (mml1991-passphrase-cache-expiry): Obsolete.
53645         (mml1991-epg-secret-key-id-list): Remove variable.
53646         (mml1991-epg-passphrase-callback, mml1991-epg-find-usable-key)
53647         (mml1991-epg-find-usable-secret-key): Remove functions.
53648         (mml1991-epg-sign, mml1991-epg-encrypt): Refactor.
53650         * lisp/gnus/mml2015.el (mml2015-cache-passphrase)
53651         (mml2015-passphrase-cache-expiry): Obsolete.
53652         (mml2015-epg-secret-key-id-list): Remove variable.
53653         (mml2015-epg-passphrase-callback, mml2015-epg-check-user-id)
53654         (mml2015-epg-check-sub-key, mml2015-epg-find-usable-key)
53655         (mml2015-epg-find-usable-secret-key): Remove functions.
53656         (mml2015-epg-decrypt, mml2015-epg-clear-decrypt, mml2015-epg-sign)
53657         (mml2015-epg-encrypt): Refactor.
53659 2016-01-18  Paul Eggert  <eggert@cs.ucla.edu>
53661         Merge from gnulib
53663         This mostly just updates copyright dates of gnulib files.
53664         It also updates to the latest version of texinfo.tex.
53666 2016-01-18  YAMAMOTO Mitsuharu  <mituharu@math.s.chiba-u.ac.jp>
53668         Move variables to inner loop, preparing for Mac port merge
53670         * src/keyboard.c (command_loop_1): Move variables `cmd',
53671         `keybuf', and `i' to inner loop.
53673 2016-01-17  Bill Wohler  <wohler@newt.com>
53675         * lisp/mh-e/mh-e.el (mh-version): Add +git to version.
53677 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
53679         * lisp/emacs-lisp/syntax.el (syntax-ppss-table): New var
53681         (syntax-ppss):
53682         * lisp/font-lock.el (font-lock-fontify-syntactically-region): Use it.
53684 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
53686         lisp/nxml: Use syntax-tables for comments
53688         * lisp/nxml/nxml-mode.el (nxml-set-face): Prepend.
53689         (nxml-mode): Set syntax-ppss-table.
53690         Use sgml-syntax-propertize-function for syntax-propertize-function.
53691         Let font-lock highlight strings and comments.
53692         (nxml-degrade): Don't touch "nxml-inside" property any more.
53693         (nxml-after-change, nxml-after-change1): Remove functions.
53694         (comment): Don't set fontify rule any more.
53695         (nxml-fontify-attribute): Don't highlight the value any more.
53696         (nxml-namespace-attribute-value-delimiter, nxml-namespace-attribute-value)
53697         (nxml-comment-delimiter, nxml-comment-content): Remove faces.
53699         * lisp/nxml/nxml-rap.el (nxml-scan-end): Remove.
53700         (nxml-get-inside, nxml-inside-start, nxml-inside-end): Use syntax-ppss.
53701         (nxml-clear-inside, nxml-set-inside): Remove.
53702         (nxml-scan-after-change): Remove function.
53703         (nxml-scan-prolog, nxml-tokenize-forward): Simplify.
53704         (nxml-ensure-scan-up-to-date): Use syntax-propertize.
53705         (nxml-move-outside-backwards):
53706         * lisp/nxml/nxml-outln.el (nxml-section-tag-backward): Adjust to new
53707         nxml-inside-start behavior.
53709         * lisp/nxml/nxml-util.el (nxml-debug-set-inside)
53710         (nxml-debug-clear-inside): Remove macros.
53712         * lisp/nxml/xmltok.el (xmltok-forward-special): Remove function.
53713         (xmltok-scan-after-comment-open): Simplify.
53715 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
53717         * lisp/progmodes/elisp-mode.el
53718         (elisp--font-lock-flush-elisp-buffers): Fix comment
53720 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
53722         * lisp/nxml: Use standard completion; it also works for company-mode
53724         * lisp/nxml/nxml-mode.el (nxml-complete): Obsolete.
53725         (nxml-completion-at-point-function): Remove.
53726         (nxml-mode): Don't set completion-at-point-functions.
53727         * lisp/nxml/rng-nxml.el (rng-nxml-mode-init): Set it here instead.
53728         (rng-completion-at-point): Rename from rng-complete and mark it
53729         non-interactive.  It is now to be used as completion-at-point-function.
53730         (rng-complete-tag, rng-complete-end-tag, rng-complete-attribute-name)
53731         (rng-complete-attribute-value): Don't perform completion, but return
53732         completion data instead.
53733         (rng-complete-qname-function, rng-generate-qname-list): Add a few
53734         arguments, previously passed via dynamic coping.
53735         (rng-strings-to-completion-table): Rename from
53736         rng-strings-to-completion-alist.  Don't return an alist.  Don't both
53737         sorting and uniquifying.
53739         * lisp/nxml/rng-util.el (rng-complete-before-point): Delete function.
53740         (rng-completion-exact-p, rng-quote-string): Delete functions.
53742         * lisp/nxml/rng-valid.el (rng-recover-start-tag-open)
53743         (rng-missing-attributes-message, rng-missing-element-message)
53744         (rng-mark-missing-end-tags): Use explicit ".." in formats rather than
53745         calling rng-quote-string everywhere.
53747 2016-01-16  Stefan Monnier  <monnier@iro.umontreal.ca>
53749         Use sgml-electric-tag-pair-mode also in nxml-mode
53751         * lisp/nxml/rng-nxml.el: Require sgml-mode.
53752         (rng-nxml-easy-menu): Add entry for sgml-electric-tag-pair-mode.
53753         (rng-complete-qname-function): Use complete-with-action.
53755         * lisp/textmodes/sgml-mode.el (sgml-electric-tag-pair-before-change-function):
53756         Let-bind forward-sexp-function, since nxml-mode binds it to
53757         something incompatible.
53759         * lisp/nxml/nxml-mode.el: Use setq-local and defvar-local.
53761 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
53763         * lisp/nxml/xmltok.el: Mark the "sole --" rather than the comment
53764         opener.
53766         * lisp/nxml/xmltok.el (xmltok-scan-after-comment-open): Put the error
53767         marker on the "sole --" rather than on the comment opener.
53769 2016-01-15  Sam Steingold  <sds@gnu.org>
53771         replace `tramp-compat-split-string' (removed) with `split-string'
53773         (python-shell-tramp-refresh-process-environment)
53774         (python-shell-calculate-pythonpath): use `split-string'
53775         instead of defunct `tramp-compat-split-string'
53777 2016-01-15  Stefan Monnier  <monnier@iro.umontreal.ca>
53779         Update nXML to use Emacs's Unicode support, and lexical-binding
53781         * etc/nxml/*.el: Remove obsolete char-name files.
53782         * lisp/nxml/xsd-regexp.el (xsdre-range-list-difference): Remove unused
53783         var `next'.
53784         * lisp/nxml/rng-nxml.el (rng-set-state-after): Don't assume point-min==1.
53785         * lisp/nxml/rng-match.el (rng-update-match-state): Simplify.
53786         * lisp/nxml/nxml-outln.el (nxml-outline-state-transform-exceptions)
53787         (nxml-target-section-pos, nxml-depth-in-target-section)
53788         (nxml-outline-state-transform-alist)
53789         (nxml-outline-display-section-tag-function): Move decl before first use.
53790         * lisp/nxml/nxml-mode.el (nxml-char-name-ignore-case)
53791         (nxml-char-name-alist, nxml-char-name-table)
53792         (nxml-autoload-char-name-set-list, nxml-named-char-history): Remove vars.
53793         (nxml-enable-char-name-set, nxml-disable-char-name-set)
53794         (nxml-char-name-set-enabled-p, nxml-autoload-char-name-set)
53795         (nxml-define-char-name-set, nxml-get-char-name): Remove functions.
53796         (nxml-insert-named-char): Use read-char-by-name instead.
53797         (nxml-char-ref-display-extra): Use get-char-code-property.
53798         * lisp/nxml/nxml-maint.el (nxml-create-unicode-char-name-sets):
53799         Remove function.
53800         * lisp/nxml/nxml-glyph.el, lisp/nxml/nxml-uchnm.el: Remove files.
53802 2016-01-15  Michael Albinus  <michael.albinus@gmx.de>
53804         Add "sg" method to Tramp
53806         * doc/misc/tramp.texi (Inline methods): Add "sg" method.
53807         (Customizing Completion): Add function `tramp-parse-etc-group'.
53809         * lisp/net/tramp-sh.el (tramp-methods) <sg>: Add.  (Bug#22329)
53810         (tramp-completion-function-alist-sg): New defconst.
53811         (top): Completion function for "sg" is
53812         `tramp-completion-function-alist-sg'.
53814         * lisp/net/tramp.el (tramp-completion-function-alist): Adapt docstring.
53815         (tramp-parse-etc-group, tramp-parse-etc-group-group): New defuns.
53817 2016-01-14  Michael Albinus  <michael.albinus@gmx.de>
53819         Remove XEmacs compatibility in Tramp
53821         * doc/misc/tramp.texi: Replace flags by their hard coded name.
53822         Remove unused flags and the enclosed alternative text for XEmacs.
53824         * doc/misc/trampver.texi: Use "Tramp" CamelCase.  Rename "emacs"
53825         and "xemacs" flags to "unified" and "separate".  Remove flags
53826         "emacsgw", "emacsname", "emacsdir", "ftppackagename",
53827         "emacsothername", "emacsotherdir" and "emacsotherfilename".
53828         (trampver):
53829         * lisp/net/trampver.el (tramp-version): Set to "2.3.0-pre".
53831         * lisp/net/tramp.el (bkup-backup-directory-info)
53832         (directory-sep-char, ls-lisp-use-insert-directory-program)
53833         (outline-regexp, tramp-backup-directory-alist)
53834         (tramp-default-method, tramp-shell-prompt-pattern, tramp-syntax)
53835         (tramp-file-name-regexp-unified)
53836         (tramp-file-name-regexp-separate)
53837         (tramp-completion-file-name-regexp-unified)
53838         (tramp-completion-file-name-regexp-separate, tramp-chunksize)
53839         (tramp-get-method-parameter, tramp-find-method, tramp-find-user)
53840         (tramp-debug-message, tramp-progress-reporter-update)
53841         (with-tramp-progress-reporter)
53842         (tramp-rfn-eshadow-setup-minibuffer)
53843         (rfn-eshadow-setup-minibuffer-hook, tramp-unload-hook)
53844         (tramp-rfn-eshadow-update-overlay)
53845         (rfn-eshadow-update-overlay-hook, tramp-default-file-modes)
53846         (tramp-file-name-for-operation)
53847         (tramp-completion-file-name-handler)
53848         (tramp-autoload-file-name-handler, tramp-completion-mode-p)
53849         (tramp-handle-directory-files)
53850         (tramp-handle-directory-files-and-attributes)
53851         (tramp-handle-dired-uncache, tramp-handle-find-backup-file-name)
53852         (tramp-handle-insert-file-contents, tramp-handle-load)
53853         (tramp-handle-shell-command)
53854         (tramp-handle-verify-visited-file-modtime)
53855         (tramp-handle-file-notify-valid-p, tramp-accept-process-output)
53856         (tramp-check-for-regexp, tramp-wait-for-regexp)
53857         (tramp-send-string, tramp-mode-string-to-int)
53858         (tramp-get-local-gid, tramp-check-cached-permissions)
53859         (tramp-get-remote-tmpdir, tramp-make-tramp-temp-file)
53860         (auto-save-file-name-transforms)
53861         (tramp-handle-make-auto-save-file-name, tramp-read-passwd)
53862         (tramp-clear-passwd, tramp-time-diff):
53863         * lisp/net/tramp-adb.el (directory-listing-before-filename-regexp)
53864         (directory-sep-char, tramp-adb-file-name-handler-alist)
53865         (tramp-adb-parse-device-names)
53866         (tramp-adb-handle-expand-file-name)
53867         (tramp-adb-handle-file-truename, tramp-adb--gnu-switches-to-ash)
53868         (tramp-adb-handle-file-local-copy)
53869         (tramp-adb-handle-write-region, tramp-adb-handle-set-file-modes)
53870         (tramp-adb-handle-rename-file, tramp-adb-handle-process-file)
53871         (tramp-adb-handle-shell-command)
53872         (tramp-adb-handle-start-file-process, tramp-adb-get-device)
53873         (tramp-adb-maybe-open-connection):
53874         * lisp/net/tramp-cache.el (tramp-persistency-file-name)
53875         (tramp-cache-print):
53876         * lisp/net/tramp-cmds.el (tramp-cleanup-all-connections)
53877         (tramp-bug, tramp-reporter-dump-variable)
53878         (tramp-load-report-modules, tramp-append-tramp-buffers):
53879         * lisp/net/tramp-compat.el (tramp-compat-funcall)
53880         (tramp-advice-file-expand-wildcards)
53881         (tramp-compat-temporary-file-directory)
53882         (tramp-compat-make-temp-file, tramp-compat-copy-file)
53883         (tramp-compat-delete-directory, )
53884         (tramp-compat-process-running-p):
53885         * lisp/net/tramp-ftp.el (tramp-methods) <ftp>:
53886         (tramp-default-method-alist, tramp-foreign-file-name-handler-alist):
53887         * lisp/net/tramp-gvfs.el (tramp-gvfs-file-name-handler-alist)
53888         (tramp-gvfs-do-copy-or-rename-file, tramp-gvfs-handle-copy-file)
53889         (tramp-gvfs-handle-file-local-copy)
53890         (tramp-gvfs-handle-file-name-all-completions)
53891         (tramp-gvfs-handle-file-notify-add-watch)
53892         (tramp-gvfs-monitor-file-process-filter)
53893         (tramp-gvfs-handle-file-readable-p)
53894         (tramp-gvfs-handle-rename-file, tramp-gvfs-handle-write-region)
53895         (tramp-gvfs-file-name, tramp-gvfs-handler-askquestion)
53896         (tramp-gvfs-maybe-open-connection)
53897         (tramp-gvfs-parse-device-names):
53898         * lisp/net/tramp-gw.el (tramp-gw-aux-proc-sentinel)
53899         (tramp-gw-open-connection, tramp-gw-open-network-stream):
53900         * lisp/net/tramp-sh.el (directory-sep-char)
53901         (tramp-sh-file-name-handler-alist)
53902         (tramp-sh-handle-file-truename)
53903         (tramp-sh-handle-set-visited-file-modtime)
53904         (tramp-sh-handle-verify-visited-file-modtime)
53905         (tramp-sh-handle-set-file-modes, tramp-sh-handle-set-file-times)
53906         (tramp-sh-handle-file-acl)
53907         (tramp-sh-handle-file-name-all-completions)
53908         (tramp-sh-handle-copy-file, tramp-sh-handle-rename-file)
53909         (tramp-do-copy-or-rename-file-directly)
53910         (tramp-do-copy-or-rename-file-out-of-band)
53911         (dired-compress-file-suffixes, dired-remove-file)
53912         (tramp-sh-handle-dired-compress-file)
53913         (tramp-sh-handle-insert-directory)
53914         (tramp-sh-handle-expand-file-name)
53915         (tramp-sh-handle-start-file-process)
53916         (tramp-sh-handle-process-file, tramp-sh-handle-file-local-copy)
53917         (tramp-sh-handle-write-region, tramp-sh-handle-vc-registered)
53918         (tramp-sh-handle-file-notify-add-watch)
53919         (tramp-sh-gvfs-monitor-dir-process-filter)
53920         (tramp-sh-inotifywait-process-filter, tramp-maybe-send-script)
53921         (tramp-find-executable)
53922         (tramp-open-connection-setup-interactive-shell)
53923         (tramp-find-inline-encoding, tramp-compute-multi-hops)
53924         (tramp-maybe-open-connection, tramp-convert-file-attributes)
53925         (tramp-get-remote-path, tramp-get-remote-touch):
53926         * lisp/net/tramp-smb.el (tramp-smb-file-name-handler-alist)
53927         (tramp-smb-handle-copy-directory, tramp-smb-handle-copy-file)
53928         (tramp-smb-handle-delete-directory)
53929         (tramp-smb-handle-directory-files, tramp-smb-handle-file-acl)
53930         (tramp-smb-handle-make-directory-internal)
53931         (tramp-smb-handle-process-file, tramp-smb-handle-rename-file)
53932         (tramp-smb-handle-set-file-acl, tramp-smb-handle-set-file-modes)
53933         (tramp-smb-handle-write-region, tramp-smb-get-file-entries)
53934         (tramp-smb-get-cifs-capabilities)
53935         (tramp-smb-maybe-open-connection):
53936         * lisp/net/trampver.el (tramp-repository-get-version):
53937         Remove XEmacs compat code.
53939         * lisp/net/tramp-cmds.el (mml-mode, mml-insert-empty-tag)
53940         (reporter-dump-variable): Declare functions.
53942         * lisp/net/tramp.el (tramp-bkup-backup-directory-info)
53943         (tramp-advice-minibuffer-electric-separator)
53944         (tramp-advice-minibuffer-electric-tilde)
53945         (tramp-handle-unhandled-file-name-directory):
53946         * lisp/net/tramp-compat.el (tramp-compat-with-temp-message)
53947         (tramp-compat-font-lock-add-keywords)
53948         (tramp-compat-load, tramp-compat-number-sequence)
53949         (tramp-compat-split-string, tramp-compat-delete-dups):
53950         * lisp/net/tramp-sh.el (tramp-sh-handle-insert-file-contents-literally):
53951         Remove.
53953         * lisp/net/tramp-sh.el (tramp-methods) <psftp>: This does not work
53954         recursively.
53956 2016-01-14  K. Handa  <handa@gnu.org>
53958         fix previous change of src/ftfont.c (ftfont_shape_by_flt)
53960         * src/ftfont.c (ftfont_shape_by_flt): Fix previous change.  Access the
53961         second glyph only when there are enough glyphs.
53963 2016-01-13  Glenn Morris  <rgm@gnu.org>
53965         * src/buffer.c (Fset_buffer_major_mode): Allow default major-mode,
53967         or its hook, to move point.  (Bug#22348)
53969 2016-01-12  Michael Albinus  <michael.albinus@gmx.de>
53971         Merge missing commit from emacs-25 branch
53973         * test/Makefile.in (SELECTOR_DEFAULT, SELECTOR_EXPENSIVE, SELECTOR):
53974         New variables.
53975         (check-expensive, check-doit): New targets.
53977         * Makefile.in (check-expensive): New target.
53979         * test/lisp/autorevert-tests.el
53980         (auto-revert-test01-auto-revert-several-files):
53981         * test/lisp/filenotify-tests.el (file-notify--deftest-remote)
53982         (file-notify-test06-many-events):
53983         * test/lisp/net/tramp-tests.el (tramp-test26-process-file)
53984         (tramp-test27-start-file-process, tramp-test28-shell-command)
53985         (tramp-test29-vc-registered)
53986         (tramp-test31-special-characters-with-stat)
53987         (tramp-test31-special-characters-with-perl)
53988         (tramp-test31-special-characters-with-ls)
53989         (tramp-test32-utf8-with-stat, tramp-test32-utf8-with-perl)
53990         (tramp-test32-utf8-with-ls, tramp-test33-asynchronous-requests)
53991         (tramp-test35-unload): Tag the tests as :expensive-test.
53993 2016-01-11  John Wiegley  <johnw@newartisans.com>
53995         Merge from origin/emacs-25
53997         1f6898d test/automated/vc-hg.el: Support out-of-tree build
53998         3adb56e Minor change in tramp-tests.el
53999         2b535ba ; * etc/NEWS: Update the js.el entry.
54000         76b518c * etc/HELLO: Add Armenian and Mongolian greetings.
54001         b51f1ef Java Mode: Fontify identifiers in the presence of annotations.
54002         36b9539 Avoid an infloop when we run out of memory
54003         2006752 Avoid unnecessary failures of auto-saving after fatal error
54004         eef6784 Simplify HAVE_MODULES use in mark_maybe_pointer
54005         552694a Revert attempt to use 'noexcept' in typedef
54006         6ad0d39 Update documentation of 'indirect-function'
54007         c6a5314 ; * etc/NEWS: Move entry of 'inhibit-point-motion-hooks'.
54008         303141a Update documentation for obsoleting 'syntax-begin-function'
54009         4e6f61c ; * etc/NEWS: Mark documented and not-to-be-documented entries.
54010         e667bbb Document new features if Eshell
54011         9c4e4e0 ; * etc/NEWS: Update EUDC entries.
54012         1089dc9 Handle too long commands in Tramp
54013         684eb58 * .gitattributes: *.cur and *.pif are binary files too.
54014         d2c7fda * src/alloc.c (mark_maybe_pointer): HAVE_MODULES may be undefined
54015         bd3f53d * sh-script.el (sh-smie-sh-rules): Improve indentation inside $(...)
54016         09b2b8a * src/alloc.c (mark_maybe_pointer): Also check wide-int's emacs_value
54017         cca0f93 ; Account for spaces before the filename
54018         c71e1e8 Use short date for 'hg annotate', and output the author
54019         f50027b Spelling fix
54020         c7dff67 ; * etc/NEWS: Fix the Xref entries that got separated.
54021         cc140bc Document user-level functions in project.el
54022         f8208b6 Document the user-level features of the Xref package
54023         b131fb8 * loading.texi: Add `define-type' entry for load-history
54024         db3c2a8 Improve doc strings and prompts in xref.el
54025         f6117ef Allow the use of `font-lock-extend-region-multiline' in CC Mode.
54026         90fd798 Fix coding system for Tramp on OS X.
54027         e985a0e ; * etc/NEWS: Mark the 'check-expensive' entry not to be documented.
54028         9dfcbf0 Update 'load-history' docs
54029         207e191 Fix (error ...) error
54030         457738f Correctly analyze brace arguments in templated C++ function declarations.
54031         d57724a * lisp/cedet/mode-local.el (describe-function-orig-buffer): Declare.
54032         2a9532d * lisp/ffap.el (ffap-latex-mode): Avoid free variable.
54033         1a6b084 * lisp/play/dunnet.el (dun-fix-screen): Avoid `end-of-buffer`.
54034         8be046f Respect fontification region calculated by major mode.  Fixes bug #22316.
54035         4b37cba Improve documentation of Delete Selection mode
54036         a034dd3 Fix two project-find-file issues
54037         30abf29 Clarify doc string of 'dired-current-directory'
54038         e990bb2 Use the face of preceding text for displaying the ellipsis
54039         5810ac3 Suppress Chinese file name test for OSX in tramp-tests.el
54040         eeb710a ; * lisp/startup.el: Sentences end with two spaces.
54041         428b3de * admin/admin.el (set-version): Also handle the NEWS file.
54042         648de81 ; Add NEWS entry for project.el
54043         671862f apropos-library: Skip obvious duplicates; don't error on generics
54044         51668a5 ; Grammar fix
54045         ed41d11 Add project-find-file and project-or-external-find-file
54046         056da45 ; Improve commentary in 'setup_for_ellipsis'
54047         269d008 ; Improve docstring for `inhibit-startup-echo-area-message'
54049 2016-01-11  John Wiegley  <johnw@newartisans.com>
54051         Merge from origin/emacs-25
54053         ce4a052 Add defvar-local to lisp-imenu-generic-expression
54054         a0121bc Revert commit b1e3d14845517bfa9fa5d6d3840f3ab3160306fd
54055         76fe2d5 * lisp/emacs-lisp/autoload.el (autoload-find-destination): Doc fix.
54056         1ae088f * lisp/emacs-lisp/autoload.el (autoload-find-destination):
54057         b6b47af Properly encode/decode base64Binary data in SOAP
54058         c632466 Obey coding-system-for-write when writing stdout/stderr in batch
54059         2f32cb5 * doc/misc/efaq.texi (Packages that do not come with Emacs):
54060                 Update the URI of MELPA and marmalade-repo.
54061                 Reported by CHENG Goa <chenggao@royau.me> in
54062                 https://lists.gnu.org/r/emacs-devel/2016-01/msg00390.html.
54063         d2937aa * lisp/progmodes/opascal.el (opascal-mode-syntax-table):
54064         5330c25 * lisp/progmodes/xscheme.el (xscheme-prompt-for-expression-exit):
54065         7380990 Remove function wrongly on AWK Mode value of context
54066         fontification hook.
54067         d400753 * src/buffer.c: Stick with ASCII in doc string.
54068         221240c Reword transient-mark-mode doc string
54069         977d3ea Update doc string of 'selective-display'
54070         229c3fa Make C++ buffers writeable when writing their initial text
54071                 properties.
54072         f5c762c Additional changes for "make check-expensive"
54073         1729cf3 ; * admin/MAINTAINERS: Remove myself.
54074         33219d3 Apply text properties for <, > in new after-change function
54075                 (C++ Java Modes).
54077 2016-01-11  John Wiegley  <johnw@newartisans.com>
54079         Merge from origin/emacs-25
54081         9fb185a shr-tag-video bug fix
54082         6300655 Minor fixes in tramp-tests.el
54083         50575b1 Ensure redisplay when 'truncate-lines' is set
54084         0d9e80d Fix a doc string of 'transient-mark-mode'
54085         0000ae5 MS-Windows followup to latest gnulib update
54086         4bc5e02 Spelling fix
54087         f1093f7 Do secure signed Bcc handling
54089 2016-01-11  John Wiegley  <johnw@newartisans.com>
54091         Merge from origin/emacs-25
54093         861022f * doc/misc/texinfo.tex: Revert unwanted copyright change.
54094         46e47a5 ; * etc/refcards/ru-refcard.tex (cyear): Update via M-x set-copyright.
54095         71ea138 * lisp/align.el (align): Simplify a lambda
54096         5618a50 * lisp/align.el (align): Fix arg order in call to `align-region'
54097         1f680db Fix compilation next-error in buffers with selective-display
54098         d20a948 * nsm.el (nsm-check-protocol): Fix typo in the message.
54099         1da116f Add SHA1 warnings for high network security settings
54100         e48bacd ; * etc/NEWS: Typo fix.
54102 2016-01-11  John Wiegley  <johnw@newartisans.com>
54104         Merge from origin/emacs-25
54106         43662a2 ; Clarify that xref is still experimental
54107         0a6e6ca ; * admin/release-process: Remove some obsolete records.
54108         c2e9e3d * lisp/progmodes/fortran.el (fortran-make-syntax-propertize-function):
54109         8637f3d (semantic-symref-derive-find-filepatterns): Return a list
54110         0a7ad07 ; Re-arrange xref-related entries in NEWS.
54111         fe903ef Fix xref-find-references on MS-Windows
54112         55a28d8 ; Fixed visual bell artifact problem on NextStep.
54113         d064034 Document new features of tildify-mode
54114         964bea7 Document new features of Whitespace mode
54115         cd68f47 Improve documentation of new Hide-IfDef features
54116         723b8bf Fix regression in font-locking cl-assert and cl-check-type
54118 2016-01-11  John Wiegley  <johnw@newartisans.com>
54120         Merge from origin/emacs-25
54122         ef33bc7 Spelling and grammar fixes
54123         9c3dbab Fix copyright years by hand
54124         0e96320 Update copyright year to 2016
54126 2016-01-11  John Wiegley  <johnw@newartisans.com>
54128         Merge from origin/emacs-25
54130         9ee6ecb lisp/emacs-lisp/chart.el (chart-new-buffer): Move to silence byte compiler.
54131         526d80c Port chart.el methods to cl-generic.
54132         410bb69 Add nt/INSTALL.W64 build instructions
54133         8f5b524 Add new input method 'programmer-dvorak'
54134         6d11f6e Allow to invoke original M-TAB binding in 'flyspell-prog-mode'
54135         bb83bb1 Fix EWW rendering of long RTL lines
54136         b1a8509 fix  bug#21054
54137         ce5ad12 Clean up cairo printing code
54139 2016-01-11  John Wiegley  <johnw@newartisans.com>
54141         Merge from origin/emacs-25
54143         6ee327d Add handle_user_signal_hook
54144         47580e0 Avoid writing to purespace
54145         0588be7 Remove unused variable
54146         89e7483 * configure.ac: Find libxml2 headers in Xcode SDK dir on Darwin.
54147         3b95e9c Use posix_openpt instead of openpty on Darwin
54148         86312ff Document support for ':documentation' in Lisp mode
54149         c930e75b Document new features of TeX mode
54150         7c83d84 Clarify docs of hscroll in RTL text
54151         4c8f8db Fix rendering of HTML pages that use character composition
54152         a8d37ca Avoid some compiler warnings in w32.c
54153         ce106f3de Undo ill-advised change
54154         be0bba4 Unbreak completion in python-mode buffers
54156 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
54158         Adding example replies to bug-triage.
54160         * admin/notes/bug-triage: Added example replies. Also, as requested,
54161           making the process notes into more of a checklist.
54163 2016-01-08  Andrew Hyatt  <ahyatt@gmail.com>
54165         Rename the notes/admin/triage file to bug-triage.
54167         * CONTRIBUTE: Change reference to the triage file name.
54168         * admin/notes/triage: Rename file to admin/notes/bug-triage.
54170 2016-01-08  K. Handa  <handa@gnu.org>
54172         Fix outdated comments.
54174 2016-01-06  Glenn Morris  <rgm@gnu.org>
54176         Allow creation of loaddefs files without timestamps.
54178         * lisp/emacs-lisp/autoload.el (autoload-timestamps): New variable.
54179         (autoload-generate-file-autoloads, update-directory-autoloads):
54180         If autoload-timestamps is nil, write "t" instead of file timestamp.
54181         (autoload-find-destination, update-directory-autoloads):
54182         If timestamp is "t", use the modtime of the output file instead.
54184 2016-01-06  Glenn Morris  <rgm@gnu.org>
54186         Doc tweaks.
54188         * lisp/calendar/cal-hebrew.el (diary-hebrew-list-entries):
54189         * lisp/calendar/cal-iso.el (calendar-iso-to-absolute)
54190         (calendar-iso-from-absolute):
54191         * lisp/calendar/cal-tex.el (cal-tex-comment):
54192         * lisp/calendar/solar.el (calendar-time-display-form): Doc tweaks.
54194 2016-01-06  Glenn Morris  <rgm@gnu.org>
54196         Build tweaks related to tags files.
54198         * lib-src/Makefile.in (tagsfiles): New variable.
54199         (TAGS): Also depend on the source files.  Use our own etags program.
54200         * lisp/Makefile.in (ETAGS): Add EXEEXT.
54201         (lisptagsfiles1, lisptagsfiles2, lisptagsfiles3, lisptagsfiles4):
54202         Remove.
54203         (tagsfiles): New, replacing lisptagsfiles1 etc.
54204         Remove irrelevant source files here rather than in the TAGS rule.
54205         (${ETAGS}): New rule.
54206         (TAGS): Also depend on the etags executable.
54207         * lwlib/Makefile.in (EXEEXT): New, set by configure.
54208         (ETAGS): Add EXEEXT.
54209         (${ETAGS}): New rule.
54210         (ctagsfiles): Use "wildcard".
54211         (TAGS): Also depend on the etags executable.
54212         * nt/Makefile.in (ETAGS, tagsfiles): New variables.
54213         (${ETAGS}): New rule.
54214         (TAGS): Fix dependencies.
54215         * oldXMenu/Makefile.in (EXEEXT): New, set by configure.
54216         (ETAGS): New variable, replacing $TAGS.  Use our own etags program.
54217         Remove "-t" argument.
54218         (${ETAGS}): New rule.
54219         (tagsfiles): New variable.
54220         (TAGS): New rule, with proper dependencies.
54221         * src/Makefile.in (ETAGS): Add EXEEXT.  Add a build rule.
54222         (ctagsfiles1, ctagsfiles2): Use "wildcard".
54223         (ctagsfiles3): Remove.
54224         (TAGS): Depend on etags.
54225         (../lisp/TAGS, $(lwlibdir)/TAGS): Let the rules in the relevant
54226         directories decide if updates are needed.
54228 2016-01-06  Glenn Morris  <rgm@gnu.org>
54230         * lisp/Makefile.in (CAL_SRC): Skip calendar.el.
54232 2016-01-06  Glenn Morris  <rgm@gnu.org>
54234         * test/lisp/emacs-lisp/package-tests.el
54236         (package-test-macro-compilation): Fixup branch merge.
54238 2016-01-05  Eli Zaretskii  <eliz@gnu.org>
54240         Fix fallout from merging emacs-25 branch in test/
54242         * .gitignore: Update for the new place of biditest.txt.
54243         * test/automated/: Directory removed.  All files moved to their
54244         proper places.
54245         * test/etags/: Directory removed.  All files moved to their proper
54246         places.
54247         * test/automated/url-parse-tests.el: File removed; it was an exact
54248         copy of the same file in test/lisp/url/.
54249         * test/automated/url-expand-tests.el: Moved to test/lisp/url/.
54251 2016-01-04  Paul Eggert  <eggert@cs.ucla.edu>
54253         Spelling fixes
54255 2016-01-04  Daniel Colascione  <dancol@dancol.org>
54257         Let users disable unsafe signal handling code
54259         * src/keyboard.c (syms_of_keyboard): New user variables
54260         `attempt-stack-overflow-recovery' and
54261         `attempt-orderly-shutdown-on-fatal-signal'.
54262         * src/sysdep.c (stack_overflow): Check
54263         `attempt-stack-overflow-recovery'.
54264         * src/emacs.c (terminate_due_to_signal): Check
54265         `attempt-orderly-shutdown-on-fatal-signal'.
54267 2016-01-03  Michael Albinus  <michael.albinus@gmx.de>
54269         * configure.ac: Add error message for gfile on Nextstep.
54271 2016-01-02  John Wiegley  <johnw@newartisans.com>
54273         Merge branch 'emacs-25-merge'
54275 2016-01-02  Vincent Belaïche  <vincentb1@users.sourceforge.net>
54277         Align textually on fix done for emacs-25 branch for bug#21054
54279         * lisp/ses.el (ses-check-curcell): Suppress ``temporary fix'' comment,
54280         and useless `(if t ...)' in order to align textually on fix done for
54281         emacs-25 branch for bug#21054.
54283 2016-01-01  K. Handa  <handa@gnu.org>
54285         support rendering of wider range of combinging characters by ftfont backend
54287         * lisp/language/hebrew.el (hebrew-shape-gstring): If the font backend
54288         supports rendering of combining characters, call
54289         font-shape-gstring.
54291         * src/font.c (Ffont_get): Handle `combining-capability' property.
54292         (syms_of_font): New symbol ":combining-capability'.
54294         * src/font.h (struct font_driver): New member combining_capability.
54296         * src/ftfont.c: Include "category.h".
54297         (ftfont_driver): Initialize combining_capability to
54298         ftfont_combining_capability.
54299         (ftfont_shape_by_flt): If OTF is null, try to find a suitable
54300         FLT in advance.
54301         (ftfont_combining_capability): New function.
54303 2016-01-01  Andrew Hyatt  <ahyatt@gmail.com>
54305         Add notes on bug triage procedure
54307         * CONTRIBUTE: In section on the issue tracker, point to new triage file.
54308         * admin/notes/triage: New file explaining triage procedure.
54310 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
54312         Correct ses-rename-cell cursor-intangible text prop updating.
54314         There were two problems:
54316         - First ses-rename-cell has to work when called non interactively
54317           (with non-nil CELL argument), so in this case the start pos of
54318           put-text-property cannot be plainly (point), you need a
54319           ses-goto-print call before
54321         - Second, the range itself was computed erronously, only the first
54322           char was affected instead of the full cell width. This was not
54323           noticeable prior to changes (Deprecate `intangible' and
54324           `point-entered' properties) made by Stefan on 2015-04-13T19:51:15Z
54326         * lisp/ses.el (ses-rename-cell): Correct computation of position range
54327         to which the 'cursor-intangible text property has to be set to cell
54328         new name.
54330 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
54332         Don't fake empty cells value by "" when printing with a lambda.
54334         When using a lambda expression printer function the user should be
54335         free to format differently a really empty cell, ie. containing nil,
54336         from a cell containing an empty string "".
54338         * lisp/ses.el (ses-call-printer): Replace `(or value "")' by just
54339         `value' in the case of a lambda expression printer function.
54341         * doc/misc/ses.texi (Printer functions): Add example and
54342         description about lambda expression printer function handling all
54343         the possible values, including unexpected ones.
54345 2015-12-30  Vincent Belaïche  <vincentb1@users.sourceforge.net>
54347         Quick temporary hack to fix curcell refreshing.
54349         The problem was caused by change: 2015-04-13 Deprecate `intangible'
54350         and `point-entered' properties. The problem is that this change has
54351         removed the (setq ses--curcell t) setting in the ses-command-hook
54352         function.
54354         * lisp/ses.el (ses-check-curcell): replace `(eq ses--curcell t)' by just `t' as
54355         a condition to call function `ses-set-curcell'. Comment this as a quick
54356         temporary hack to make it work, as I don't know yet whether a definite
54357         correction would be to make the ses-set-curcell at every ses-check-curcell,
54358         or to revert to the previous approach, ie marking ses--curcell as out-of-date
54359         at every potentially cursor motion command.
54361 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54363         Restrictive URL checking tweaks
54365         * lisp/net/eww.el (eww): Check whether the domain is
54366         restrictive instead of the string
54367         (http://македонија.icom.museum is restrictive even if each
54368         part is from a different script).
54370 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54372         New function `puny-highly-restrictive-domain-p'
54374         * lisp/net/puny.el (puny-highly-restrictive-string-p): Rename.
54375         (puny-highly-restrictive-domain-p): New function.
54377 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54379         eww build fix (require puny)
54381 2015-12-30  Lars Magne Ingebrigtsen  <larsi@gnus.org>
54383         Transform non-restrictive domains to punycode for display
54385         * lisp/net/eww.el (eww): Check whether the domain is Highly
54386         Restrictive in the Unicode IDNA sense.
54388 2015-12-29  John Wiegley  <johnw@newartisans.com>
54390         Merge emacs-25 into master (using imerge)
54392 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
54394         Further Unicode restrictive fixups
54396         * lisp/net/puny.el (puny-highly-restrictive-p): Include the extra
54397         identifier characters from table 3.
54399 2015-12-29  Lars Ingebrigtsen  <larsi@gnus.org>
54401         Add a new function to say whether a string is restrictive
54403         * lisp/net/puny.el (puny-highly-restrictive-p): New function.
54405 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54407         Mention the new puny.el library
54409 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54411         IDNA-related fixes for the URL library
54413         * lisp/url/url-http.el (url-http-create-request): IDNA-encode
54414         the Host: header.
54416         * lisp/url/url-util.el (url-encode-url): Don't hex-encode
54417         domain names, but leave them as UTF-8, so that they can be
54418         IDNA-encoded later when contacting the host.
54420 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54422         IDNA-encode all domain names in `open-network-stream'
54424         * lisp/net/network-stream.el (open-network-stream)
54425         (network-stream-open-plain, network-stream-open-starttls):
54426         IDNA-encode all domain names, if needed.
54428 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54430         Fix puny-encoding all-non-ASCII domains
54432         * lisp/net/puny.el (puny-encode-string): Fix the all-non-ASCII
54433         encoding case.
54435 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54437         shr link traversal fixup
54439         * lisp/net/shr.el (shr-next-link): Don't bug out on adjacent links.
54441 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54443         Reconnect erc even on server errors
54445         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Try to
54446         reconnect even if a server error has occurred (bug#18527).
54448 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54450         Fix punycode short circuit logic
54452         * lisp/net//puny.el (puny-encode-domain): Fix short-circuit logic.
54454 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54456         IDNA speed up
54458         * lisp/net/puny.el (puny-encode-domain): Make the common non-IDNA case faster
54460 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54462         Add IDNA domain encode/decode functions
54464         * lisp/net/puny.el (puny-decode-domain): New function.
54465         (puny-encode-domain): Ditto.
54466         (puny-decode-digit): Fix digit decoding error.
54468 2015-12-28  Lars Ingebrigtsen  <larsi@gnus.org>
54470         Rename idna.el to puny.el
54472         * lisp/net/puny.el: Renamed from idna.el to avoid name collisions with
54473         the external idna.el library.
54475 2015-12-27  Katsumi Yamaoka  <yamaoka@jpl.org>
54477         lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Keep old Emacsen compatibility
54479         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe):
54480         Don't use split-string with 4th arg for old Emacsen compatibility.
54482 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
54484         * lisp/net/idna.el (idna-decode-string-internal): Implement
54485         decoding.
54487 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
54489         Further IDNA tweaks
54491         (idna-encode-string): Make idna-encode-string safe for
54492         non-ASCII use.
54494 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
54496         Clean up the code slightly
54498 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
54500         Added basic idna encoding support
54502         * lisp/net/idna.el: New file.
54504 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
54506         Disconnection fixes for erc
54508         * lisp/erc/erc-backend.el (erc-server-reconnect-p): Don't
54509         reconnect if the user has disconnected explicitly (bug#4589).
54511 2015-12-27  Thomas Riccardi  <riccardi.thomas@gmail.com>  (tiny change)
54513         Further erc asynch fixes
54515         * lisp/erc/erc-backend.el (erc-process-sentinel-2): Make
54516         erc-server-connect to return even if the connection is not
54517         ready.  Then erc-open and erc-server-reconnect do the
54518         same. (bug#5650).
54520 2015-12-27  Vivek Dasmohapatra  <vivek@etla.org>
54522         Make erc connect asynchronously
54524         * lisp/erc/erc-backend.el (erc-server-reconnect): Use it to
54525         reconnect asynchronously.
54527         * lisp/erc/erc-backend.el (erc-open-network-stream): New function (bug#5650).
54529 2015-12-27  David Edmondson  <dme@dme.org>
54531         Proxy error in erc with multiple clients
54533         * lisp/erc/erc.el (erc-channel-receive-names): Fix errors
54534         generated when multiple IRC clients talk to a single IRC proxy
54535         (bug#19034).
54537 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
54539         Fix mml-sec build warnings
54541         * lisp/gnus/mml-sec.el: Fix warnings by adding autoloads
54542         (bug#18718).
54544 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
54546         (eww-setup-buffer): Restore left-to-right defaults
54548         * eww.el (eww-setup-buffer): Restore left-to-right defaults.
54550 2015-12-27  Lars Ingebrigtsen  <larsi@gnus.org>
54552         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): Fix typo in last check-in.
54554 2015-12-27  Jens Lechtenboerger  <jens.lechtenboerger@fsfe.org>
54556         Identify unsafe combinations of Bcc and encryption
54558         * lisp/gnus/gnus-util.el (gnus-subsetp): New function
54559         * lisp/gnus/mml-sec.el (mml-secure-safe-bcc-list): New variable
54560         * lisp/gnus/mml-sec.el (mml-secure-bcc-is-safe): New function
54562 2015-12-26  Lars Ingebrigtsen  <larsi@gnus.org>
54564         * shr.el (shr-descend): Allow using lambdas in external functions.
54566 2015-12-25  Stefan Monnier  <monnier@iro.umontreal.ca>
54568         * admin/gitmerge.el: Tweaks that seemed necessary
54570         * admin/gitmerge.el (gitmerge-skip-regexp): Remove "sync".
54571         (gitmerge-maybe-resume): Provide explicit empty commit message.
54573 2015-12-25  Łukasz Stelmach  <stlman@poczta.fm>  (tiny change)
54575         Use a different port for TLS erc
54577         * lisp/erc/erc.el (erc-default-port-tls): New variable
54578         (bug#19497).
54579         * lisp/erc/erc.el (erc-tls): Use it.
54581 2015-12-25  Alain Schneble  <a.s@realize.ch>
54583         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
54585         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
54586         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
54587         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
54588         information in URL-struct.
54589         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
54590         path and query into nil path and query, respectively.
54591         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
54592         empty path into an absolute ("/") path.
54593         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
54594         fragment-only URIs. Do not just return them unchanged.
54595         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
54596         reference URI should not drop the last segment.
54598 2015-12-25  Alain Schneble  <a.s@realize.ch>
54600         Make relative URL parsing and resolution consistent with RFC 3986 (bug#22044)
54602         * test/lisp/url/url-parse-tests.el: Add tests covering url-generic-parse-url.
54603         * test/lisp/url/url-expand-tests.el: Add tests covering url-expand-file-name.
54604         * lisp/url/url-parse.el (url-generic-parse-url): Keep empty fragment
54605         information in URL-struct.
54606         * lisp/url/url-parse.el (url-path-and-query): Do not artificially turn empty
54607         path and query into nil path and query, respectively.
54608         * lisp/url/url-expand.el (url-expander-remove-relative-links): Do not turn
54609         empty path into an absolute ("/") path.
54610         * lisp/url/url-expand.el (url-expand-file-name): Properly resolve
54611         fragment-only URIs. Do not just return them unchanged.
54612         * lisp/url/url-expand.el (url-default-expander): An empty path in the relative
54613         reference URI should not drop the last segment.
54615 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
54617         Let url use default file modes when copying files
54619         * lisp/url/url-handlers.el (url-copy-file): Use default file
54620         modes when copying files (bug#11400).
54622 2015-12-25  Devon Sean McCullough  <Emacs-Hacker2012@jovi.net>
54624         Doc fix for url-http
54626         * lisp/url/url-http.el (url-http): Document better return values
54627           (bug#13187) (tiny change)
54629 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
54631         * eww.el (eww-display-html): Support <button> tags (bug#20485).
54633 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
54635         Made ffap-url-p a defun instead of a defsubst
54637         * lisp/ffap.el (ffap-url-p): Change from defsusbt to defun,
54638         since there doesn't seem to be much of a reason for it to be a
54639         defsubst (bug#18203).
54641 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
54643         Add a command to view files in the browser to dired
54645         * lisp/dired.el (dired-mode-map): Add the `W' command
54646         (bug#18810).
54648 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
54650         Allow http://user:pass@foo/ URLs again
54652         * lisp/url/url-auth.el (url-basic-auth): Allow explicit
54653         user/passwords in URLs (bug#19046).
54655 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
54657         * eww.el (eww-mode-map): Fix command name of eww-toggle-colors.
54659 2015-12-25  Samer Masterson  <samer@samertm.com>
54661         Autoload url-insert-buffer-contents
54663         * lisp/url/url-handlers.el: Add autoload cookie so that
54664         `package-list-packages' doesn't bug out (bug#21927) (tiny change)
54666 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
54668         Allow toggling colors in eww
54670         * doc/misc/eww.texi (Basics): Mention "C".
54672         * lisp/net/eww.el (eww-toggle-colors): New command and keystroke.
54674         * lisp/net/shr.el (shr-use-colors): New variable.
54675         (shr-colorize-region): Use it.
54677 2015-12-25  Lars Ingebrigtsen  <larsi@gnus.org>
54679         Follow meta refresh tags in eww
54681         * eww.el (eww-tag-meta): Follow meta refresh tags (bug#22234).
54683 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54685         More eww file name coding fixes
54687         * eww.el (eww-decode-url-file-name): Use the base coding
54688         system to check for encodability.
54690 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54692         Always save eww history
54694         * eww.el (eww-setup-buffer): Always save history, even when
54695         called from outside the eww buffer (bug#19638).
54697 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54699         Default web pages to right-to-left
54701         * eww.el (eww-mode): Most web pages are left-to-right, so make
54702         that the default (bug#19801).
54704         * shr.el (shr-tag-html): Respect "dir" attributes
54705         (left-to-right, right-to-left).
54707 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54709         Make toggling checkboxes work again
54711         * eww.el (eww-update-field): Make toggling checkboxes work
54712         again (bug#21881).
54714 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54716         Don't store cookies with empty names
54718         * lisp/url/url-cookie.el (url-cookie-store): Refuse to store
54719         cookies with empty names (bug#21936).
54721 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54723         Stop rendering HTML before specdlr exhaustion
54725         Fixes: 22117
54727         * shr.el (shr-descend): Stop rendering before we run out of
54728         specpdl room (bug#22117).
54730 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54732         Use cl-reduce, not reduce.
54734 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54736         Allow several <tbody> tags in shr
54738         * shr.el (shr-table-body): New function to find the real body
54739         of a table.
54740         (shr-tag-table): Use it to render several <tbody> tags in a
54741         table (bug#22170).
54743 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54745         Make prettier unique file names in eww
54747         (eww-make-unique-file-name): Make unique file names by making
54748         files like foo(2).jpg instead of foo(1)(2).jpg.
54750 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54752         Decode hex-encoded URLs before using them as file names
54754         * eww.el (eww-decode-url-file-name): New function.
54755         (eww-download-callback): Use it to decode file names before
54756         saving them.
54758 2015-12-24  Ashish SHUKLA  <ashish.is@lostca.se>
54760         Add FreeBSD cert bundle
54762         * doc/misc/emacs-gnutls.texi (Help For Users): Document
54763         FreeBSD bundle.
54765         * lisp/net/gnutls.el (gnutls-trustfiles): Add FreeBSD cert bundle.
54767 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54769         Allow overriding shr functions from eww
54771         * eww.el (eww-display-html): Allow overriding elements in
54772         `shr-external-rendering-functions'.
54774 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54776         Ignore invalid SVG images
54778         * shr.el (shr-tag-svg): Ignore SVG images that have no width
54779         or height, because these can't be displayed by ImageMagick,
54780         anyway.
54782 2015-12-24  Lars Ingebrigtsen  <larsi@gnus.org>
54784         shr table rendering fix
54786         * shr.el (shr-tag-table): Allow rendering body-less tables
54787         that have headers.
54789 2015-12-22  Sam Steingold  <sds@gnu.org>
54791         clipboard should still work even if interprogram-* is disabled
54793         (clipboard-yank): When `interprogram-cut-function' is nil,
54794         bind it to `gui-selection-value' - the default value.
54795         (clipboard-kill-region, clipboard-kill-ring-save): When
54796         `interprogram-paste-function' is nil, bind it to `gui-select-text' -
54797         the default value.
54799 2015-12-18  Phillip Lord  <phillip.lord@russet.org.uk>
54801         Fix bootstrap issue with dired-loaddefs
54803         * lisp/dired.el: Autoloads for secondary files loaded optionally.
54805 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
54807         dired generate autoloads to non-versioned file.
54809         * lisp/dired.el: Remove autoloads.
54810         * lisp/Makefile.in: Add dired to autogenel.
54811         * lisp/dired-aux.el, lisp/dired-x.el: Update file local.
54812         * test/lisp/dired-tests.el: Add new test.
54814 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
54816         eieio generate autoloads to non-versioned file.
54818         * lisp/Makefile.in: eieio-loaddefs add to autogenel.
54819         * lisp/emacs-lisp/eieio.el, lisp/emacs-lisp/eieio-core.el:
54820           Remove autoloads.
54821         * lisp/emacs-lisp/eieio-compat.el, lisp/emacs-lisp/eieio-custom.el,
54822           lisp/emacs-lisp/eieio-opt.el: Update file local.
54823         * test/lisp/emacs-lisp/eieio-tests/eieio-tests.el: New test.
54825 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
54827         htmlfontify generate autoload to non-versioned file.
54829         * lisp/Makefile.in: Add htmlfontity-loaddefs to autogenel.
54830         * lisp/hfy-cmap.el: Update file local.
54831         * lisp/htmlfontify.el: Remove autoloads, add require.
54832         * test/lisp/htmlfontify-tests.el: Test autoload functionality.
54834 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
54836         ibuffer generate autoloads to non-versioned file.
54838         * lisp/Makefile.in: Add ibuffer-loaddefs to autogenel.
54839         * lisp/ibuf-ext.el: Update file local.
54840         * lisp/ibuffer.el: Remove autoloads and add a require.
54841         * test/lisp/ibuffer-tests.el: Test that autoload is working.
54843 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
54845         rmail generate autoloads to non-versioned file.
54847         * lisp/Makefile.in: Add rmail-loaddefs.el to autogenel.
54848         * lisp/mail/rmail.el: Remove autoloads, add require.
54849         * lisp/mail/rmailedit.el, lisp/mail/rmailkwd.el:
54850         * lisp/mail/rmailmm.el, lisp/mail/rmailmsc.el:
54851         * lisp/mail/rmailsort.el, lisp/mail/rmailsum.el:
54852         * lisp/mail/undigest.el: Update file-local.
54853         * test/lisp/mail/rmail-tests.el:
54855 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
54857         Add autoload-force target.
54859         * lisp/Makefile.in (autoload-force): New target.
54861 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
54863         ps-print generate autoloads to non versioned file.
54865         * lisp/Makefile.in: Add ps-print-loaddefs.el to autogen list.
54866         * lisp/ps-print.el: Remove autoloads.
54867         * lisp/ps-mule.el: Update file-local.
54868         * test/lisp/ps-print-tests.el: Test autoload functionality.
54870 2015-12-17  Phillip Lord  <phillip.lord@russet.org.uk>
54872         reftex generate autoloads to non versioned file.
54874         * lisp/Makefile.in: Add reftex-loaddefs to autogen files
54875         * lisp/textmodes/reftex.el: Remove autoloads.
54876         * lisp/textmodes/reftex-auc.el, lisp/textmodes/reftex-cite.el:
54877         * lisp/textmodes/reftex-dcr.el, lisp/textmodes/reftex-global.el:
54878         * lisp/textmodes/reftex-index.el, lisp/textmodes/reftex-parse.el:
54879         * lisp/textmodes/reftex-ref.el, lisp/textmodes/reftex-sel.el:
54880         * lisp/textmodes/reftex-toc.el: Update autoload file-local.
54881         * test/lisp/textmodes/reftex-tests.el: Add test of an autoloaded
54882           function.
54884 2015-12-07  Stefan Monnier  <monnier@iro.umontreal.ca>
54886         * lisp/calculator.el (calculator-define-key): Undo last change
54888         Make map argument mandatory instead (bug#22106).
54889         (calculator-add-operators): Pass the argument that's not optional any more.
54891 2015-12-03  Glenn Morris  <rgm@gnu.org>
54893         * Makefile.in: Avoid duplication.
54895         (have-tests): New rule.
54896         (check, check-maybe): Use it.
54898 2015-12-02  Phillip Lord  <phillip.lord@russet.org.uk>
54900         make check unconditional, check-maybe top-level.
54902          * Makefile.in: Add check-maybe target.
54903          * test/Makefile.in: Restore unconditional behaviour to make check.
54905 2015-12-01  Phillip Lord  <phillip.lord@russet.org.uk>
54907         Tests now support out-of-source-build.
54909          * tests/Makefile.in,test/make-test-deps.emacs-lisp: Remove assumptions
54910            about current working directory.
54912 2015-12-01  Artur Malabarba  <bruce.connor.am@gmail.com>
54914         * lisp/emacs-lisp/let-alist.el: Now an Elpa :core package
54916 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
54918         Improve documentation and clean up.
54920          * test/Makefile.in: Improve documentation, use EMACS variable
54921            correctly, and clean up makefile rules.
54923 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
54925         Update file headers for name change.
54927          * (test/src/decompress-tests.el, test/src/alloc-tests.el): Update headers.
54929 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
54931         Test files renamed to new scheme.
54933          * (finalizer-tests.el): Now renamed alloc-tests.el
54934          * (zlib-tests.el): Now renamed decompress-tests.el.
54936 2015-11-30  Phillip Lord  <phillip.lord@russet.org.uk>
54938         Tests now depend on source files
54940          * test/Makefile.in: Include dependences from tests to source files.
54941          * test/make-test-deps.emacs-lisp: New file
54942          * .gitignore: Ignore generated make include file
54944 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
54946         * lisp/progmodes/which-func.el: Improve disabling the mode
54948         Use lexical-binding.
54949         (which-func-modes, which-func-non-auto-modes, which-func-maxout)
54950         (which-func, which-func-format): Remove redundant :group arg.
54951         (which-func-try-to-enable): New function.
54952         (which-func-ff-hook, which-function-mode): Use it.
54953         (mode-line-misc-info): Add ourselves here instead of in bindings.el.
54954         * lisp/bindings.el (mode-line-misc-info): Remove which-func-mode entry.
54956 2015-11-30  Stefan Monnier  <monnier@iro.umontreal.ca>
54958         * lisp/calculator.el (calculator-define-key): Silence warning
54960         ...about unknown calculator-mode-map.
54962 2015-11-29  Eli Barzilay  <eli@barzilay.org>
54964         * lisp/calculator.el: more improvements and bugfixes.
54966         - Mark `calculator-paste-decimals' as obsolete.  (It wasn't having an
54967           effect anyway.)
54969         - Simplify `calculator-number-to-string' by throwing most of the work
54970           onto `number-to-string', leaving just some tweaks for decimal inputs.
54971           This leads to some minor changes, for example, pasting "1x1" in hex
54972           mode would warn that "x" is ignored and result in "11" (and it wasn't
54973           done in decimal mode), whereas now it just ignores everything from the
54974           "x" and on and result in a "1" just like in decimal input mode.  Also,
54975           overflows are left for `number-to-string' to deal with.
54977         - `calculator-paste' is very simple as a result.
54979         - Extend the simplified `calculator-paste': with a prefix argument it
54980           pastes a string as if the characters were entered.  This can be used
54981           to reduce expressions, but note that it's a simple literal operation,
54982           so precedence can be messed, a number can be paster while entering a
54983           number, spaces and newlines matter, etc.
54985         - Fix a minor bug where "e+" in hex mode wouldn't use "+" as an
54986           operator.
54988         - Fix a bug in `calculator-put-value': avoid grouping in the display
54989           that is used to construct `calculator-curnum'.  This would trigger
54990           when pasting or getting a value from a register in some radix mode
54991           with a large enough value.  Another fix: make the output radix equal
54992           the input one, otherwise numbers could be converted twice.
54994 2015-11-29  Eli Barzilay  <eli@barzilay.org>
54996         * lisp/calculator.el: Re-do key bindings.
54998         Use a helper function that arranges a parent keymap that binds alternate
54999         case keys so if some letter key is unbound and it's un/shifted version
55000         is, it will get used.  This makes the global-map trickery unnecessary.
55002         Also switch to passing strings that name keys through `kbd'.
55004 2015-11-29  Eli Barzilay  <eli@barzilay.org>
55006         * lisp/calculator.el: improve radix modes
55008         Fix prompt for some input radix with decimal output (eg, "BD" instead of
55009         the incorrect "B="); also, some minor docstring tweaks for these.
55011 2015-11-29  Eli Barzilay  <eli@barzilay.org>
55013         * lisp/calculator.el: better reading of register names
55015         Use `register-read-with-preview' with a dynamically bound
55016         `register-alist' and a proper preview function to read register names.
55018 2015-11-29  Eli Barzilay  <eli@barzilay.org>
55020         * lisp/calculator.el: General improvements
55022         Use things like `when', `unless', and `push'.
55024         Improve `calculator-last-input' so it doesn't barf when hitting `F1' in
55025         non-electric mode.
55027 2015-11-28  Michael Albinus  <michael.albinus@gmx.de>
55029         Fix a problem with gfilenotify in filenotify-tests.el
55031         * test/lisp/filenotify-tests.el
55032         (file-notify--test-expected-events): Remove.
55033         (file-notify--test-cleanup): Do not set that variable.
55034         (file-notify--test-with-events): EVENTS can also be a list of lists.
55035         (file-notify-test02-events, file-notify-test04-file-validity):
55036         Adapt expected result.
55038 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
55040         * .gitignore: Adjust to changes in 'test' directory structure.
55042 2015-11-28  Eli Zaretskii  <eliz@gnu.org>
55044         Fix test/manual/etags/Makefile
55046         * test/manual/etags/Makefile (ETAGS_PROG, CTAGS_PROG): Adjust to
55047         changes in 'test' directory structure.
55049 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
55051         Exclude resource dirs from search for tests.
55053         * test/Makefile.in: Test file locations are now found with find
55054           rather than using finds native functions.
55056 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
55058         Add test targets without directory names.
55060          * (test/Makefile.in): Extend test_template to add two targets for each
55061            file.
55063 2015-11-27  Artur Malabarba  <bruce.connor.am@gmail.com>
55065         * lisp/emacs-lisp/package.el: Require url-handlers
55067 2015-11-27  Phillip Lord  <phillip.lord@russet.org.uk>
55069         Move elisp-mode-tests to new function names.
55071          * test/lisp/progmodes/elisp-mode-tests.el (find-defsdefun-c-defvar-c,
55072          find-defs-defun-el-defvar-c): Call `elisp--xref-find-definitions'.
55074 2015-11-27  Juanma Barranquero  <lekktu@gmail.com>
55076         * lisp/emacs-lisp/package.el: Declare `url-insert-buffer-contents'
55078 2015-11-26  Phillip Lord  <phillip.lord@russet.org.uk>
55080         Merge branch 'feature/standard-test-location'
55082 2015-11-25  Stefan Monnier  <monnier@iro.umontreal.ca>
55084         * lisp/emacs-lisp/eieio.el: Add some default implementations
55086         (standard-class): Mark it obsolete.
55087         (slot-missing): Give it a default implementation.
55088         (destructor): Simplify and mark it obsolete.
55089         (object-print): Give it a default implementation.
55090         (eieio-change-class): Rename from change-class.
55091         (change-class): Redefine as obsolete alias.
55093 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55095         Mention kqueue in NEWS
55097 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55099         Merge from scratch/kqueue
55101         bec57a4 Some final fixes in file notification before merging with master
55102         0247489 Rework file notifications, kqueue has problems with directory monitors
55103         5154781 Continie with pending events
55104         6b490c0 Improve loops in file-notify-test06-many-events
55105         c8e266f Handle more complex rename operation in kqueue
55106         5044bdf New test with a larger number of events.
55107         65ba5a9 Further fixes for kqueue.
55108         13f3508 Code cleanup of kqueue.c
55109         99aa855 Doc changes for kqueue
55110         8deebe1 Finish implementation in kqueue.c
55111         90d6c69 * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
55112         e95b309 More work on kqueue
55113         41d9bd0 Implement directory events
55114         c571fc1 Build fixes for kqueue support.
55115         e0a68f2 Continue kqueue implementation
55116         7543d1c Work on kqueue
55117         e3354e2 Add kqueue support
55118         c6457ce Minor fix to comment indentation and typo in last commit
55119         b92307f linum-mode plays more nicely with other margin-setting extensions
55120         58e6235 * lisp/image-mode.el: Support encrypted file
55121         9375652 * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
55122         47f83b6 ; ChangeLog.2 fixes
55123         7cc233e * lisp/emacs-lisp/package.el: Fix a decoding issue
55124         5f9153f * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
55125         353f5e7 * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
55126         70f1fda ; Auto-commit of ChangeLog files.
55127         ae0653b * CONTRIBUTE: Remove information about feature freeze.
55128         9459456 Merge branch 'release-process-lowercase'
55129         9a4aa0f Document the release process
55130         f8cc14b * admin/release-process: Rename from admin/FOR-RELEASE.
55131         dcd5877 gitmerge: Fix git log command
55132         2ac79ae gitmerge: Try to detect cherry-picks
55133         5f7a2a9 Increment Emacs version on master branch
55134         ed2e7e2 Mention CONTRIBUTE in README
55135         9e00a02 Update verilog-mode.el to 2015-11-09-b121d60-vpo.
55136         138ad3d ; Fix warnings
55137         7126e9a ; Update xref-etags-mode for the latest change
55138         246d660 Use generic dispatch for xref backends
55139         31f6e93 Support rectangular regions for more commands
55140         f103a27 Handle multiple matches on the same line; add highlighting
55141         fe973fc Replace xref-match-bounds with xref-match-length
55142         92a5010 Merge from gnulib
55143         04ac097 Spruce up ftfont.c memory allocation
55144         4c4b520 Port recent XCB changes to 64-bit ‘long int’
55145         4f0ce9c * src/undo.c (run_undoable_change): Now static.
55146         695a6f9 Remove support for ':timeout' from w32 tray notifications
55147         a731c2f * test/automated/simple-test.el: Add test for bug#20698 (bug#21885)
55148         2b4c0c0 * lisp/progmodes/elisp-mode.el: Declare function `project-roots'
55149         66b9f7b * src/undo.c: Small fixes for previous change
55150         2fac30e Add a few more variables to redisplay--variables
55151         04f69f1 * lisp/loadup.el: Enlarge the size of the hash table to 80000.
55152         e221d32 Fix point positioning after transposing with negative arg
55153         35f5afb Fix last change in shr.el
55154         508e77b Fix last change
55155         d60ed3f Another fix for MinGW64 and Cygwin builds due to notifications
55156         805a39b Remove intern calls and XXX comments from Fx_export_frames
55157         9463abf shr: don't invoke unbound function (Bug#21895)
55158         6e5186e * test/automated/keymaps-test.el: Fix test to make it repeatable
55159         0c92826 * test/automated/cl-lib-tests.el (cl-lib-struct-constructors): Small fix
55160         39dbd1c : Tests for undo-auto functionality.
55161         20aa42e ; Merge branch 'fix/no-undo-boundary-on-secondary-buffer-change'
55162         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'.
55163         d2f73db Bind [?\S-\ ] to previous line command in Dired-like modes.
55164         c1bc6e5 Fix the MinGW64 and Cygwin-w32 builds
55165         1e363a8 Enable sorting of JSON object keys when encoding
55166         9dd7da9 * test/automated/keymap-tests.el: New test file
55167         aa17de9 Speed up x_real_pos_and_offsets using XCB
55168         a838c83 Enable use of XCB for checking window manager state
55169         c7f2b6a Detect XCB and save a connection handle
55170         e1c27db Reduce some data dependencies between X calls
55171         25e32bd Use color cache for creating bitmap
55172         851be0f Add "^" to the interactive specs of `dired-next/previous-line'
55173         055ca3a Sync with soap-client repository, version 3.0.2
55174         e0f64e7 CC Mode: Respect users' settings of open-paren-in-column-0-is-defun-start.
55175         952395d * lisp/obarray.el: Fix shadowed variables
55176         436d330 Avoid error in submitting a form with EWW
55177         e887f6e ; * doc/lispref/os.texi: Fix indentation of sample code.
55178         51d840a Rename seq-p and map-p to seqp and mapp
55179         23036ba Rename obarray-p to obarrayp
55180         20aea42 Rename obarray-foreach to obarray-map
55181         a3b2101 New file with obarray functions.
55182         9d43941 Implement tray notifications for MS-Windows
55184 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55186         Some final fixes in file notification before merging with master
55188         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
55189         (file-notify-callback): Improve check for `stopped' event.  Call
55190         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
55191         (file-notify-add-watch): In case FILE is not a directory, call the
55192         file monitor for the kqueue backend.  Otherwise, call the
55193         directory monitor for the upper directory.
55195         * src/inotify.c (inotifyevent_to_event): Extract file name from
55196         watch_object if the event doesn't provide it.
55197         (Finotify_add_watch): Add file name to watch_object.
55199         * test/automated/file-notify-tests.el (file-notify--test-timeout):
55200         Use different timeouts for different libraries.
55201         (file-notify--test-with-events): Suppress lock files.  Flush
55202         outstanding events before running the body.
55203         (file-notify-test02-events, file-notify-test04-file-validity): Do
55204         not skip cygwin tests.  Add additional test for file creation.
55205         Adapt expected result for different backends.
55206         (file-notify-test03-autorevert): Some of the tests don't work for
55207         w32notify.
55208         (file-notify-test06-many-events): Rename into both directions.
55210 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55212         Rework file notifications, kqueue has problems with directory monitors
55214         * lisp/filenotify.el (file-notify-add-watch): Call the native
55215         add-watch function on the file, not on the dir.
55217         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
55218         about already deleted entries.
55220         * test/automated/auto-revert-tests.el
55221         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
55222         since this deletes the target file first.
55224         * test/automated/file-notify-tests.el (file-notify--test-event-test):
55225         Make stronger checks.
55226         (file-notify-test01-add-watch, file-notify-test02-events)
55227         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
55228         Rewrite in order to call file monitors but directory monitors.
55229         (file-notify-test06-many-events): Ler rename work in both directions.
55231 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55233         Continie with pending events
55235         * src/kqueue.c (pending_events): Remove global variable.
55236         (kqueue_compare_dir_list): Create `write' event for not used
55237         pending events.
55238         (globals_of_kqueue): Remove initialization of pending_events.
55240 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55242         Improve loops in file-notify-test06-many-events
55244         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
55245         Use `read-event' pauses for the `write-file' loops; otherwise
55246         events are lost in inotify and gfilenotify cases.
55248 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55250         Handle more complex rename operation in kqueue
55252         * src/kqueue.c (pending_events): New variable.
55253         (kqueue_compare_dir_list): Handle more complex rename operation.
55254         (globals_of_kqueue): Initialize pending_events.
55256         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
55257         Adapt expected events in the `rename-file' case.
55258         (file-notify-test06-many-events-remote): Declare.
55260 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
55262         New test with a larger number of events.
55264         * test/automated/file-notify-tests.el (file-notify--test-with-events):
55265         Make timeout heuristically depend on the number of events.
55267         (file-notify-test06-many-events): Use it for new test.
55269 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55271         Further fixes for kqueue.
55273         * lisp/filenotify.el (file-notify-callback): Raise also event if
55274         directory name matches.
55275         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
55277         * src/kqueue.c (kqueue_generate_event): Use watch_object as
55278         argument instead of ident.  Remove callback argument.  Adapt
55279         callees.  Check actions whether they are monitored flags.
55281         * test/automated/file-notify-tests.el (file-notify--test-library):
55282         New defun.
55283         (file-notify-test00-availability, file-notify-test02-events)
55284         (file-notify-test04-file-validity)
55285         (file-notify-test05-dir-validity): Use it.
55286         (file-notify-test02-events, file-notify-test04-file-validity): Add
55287         `read-event' calls between different file actions, in order to
55288         give the backends a chance to rais an event.  Needed especially
55289         for kqueue.  In case of deleting a directory, there are two
55290         `deleted' events.
55292 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55294         Code cleanup of kqueue.c
55296         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
55297         (kqueue_compare_dir_list): Do not loop when calling
55298         directory_files_internal.  Remove checks for "." and "..", this is
55299         done in kqueue_directory_listing now.
55300         (Fkqueue_add_watch): Check for proper emacs_open flags.
55302 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55304         Doc changes for kqueue
55306         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
55307         Fix some glitches in the example.
55309 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55311         Finish implementation in kqueue.c
55313         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
55314         Simplify access to list.
55315         (kqueue_compare_dir_list): Simplify access to list.  Raise
55316         `delete' event if directory does not exist any longer.  Otherwise,
55317         wait until directory contents has changed.  Fix error in check.
55319 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55321         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
55323 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55325         More work on kqueue
55327         * lisp/filenotify.el (file-notify-callback): Handle also the
55328         `rename' event from kqueue.
55329         (file-notify-add-watch): Do not register an entry twice.
55331         * src/kqueue.c (kqueue_directory_listing): New function.
55332         (kqueue_generate_event): New argument FILE1.  Adapt callees.
55333         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
55335 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55337         Implement directory events
55339         * lisp/filenotify.el (file-notify-handle-event)
55340         (file-notify-callback): Remove traces.
55342         * src/kqueue.c: Include <sys/time.h>.
55343         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
55344         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
55345         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
55346         Compute initial directory listing.  Close file descriptor in case
55347         of errors.
55348         (syms_of_kqueue): Declare Qcreate.
55350 2015-11-25  Wolfgang Jenkner  <wjenkner@inode.at>
55352         Build fixes for kqueue support.
55354         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
55355         flag.
55357         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
55358         kqueue on *BSD.
55360 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55362         Continue kqueue implementation
55364         * lisp/filenotify.el (file-notify-handle-event)
55365         (file-notify-callback): Enable trace messages.
55367         * src/kqueue.c: Include also <sys/types.h>.
55368         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
55369         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
55370         (syms_of_kqueue): Add them.
55372 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55374         Work on kqueue
55376         * lisp/filenotify.el (file-notify--library)
55377         (file-notify-descriptors, file-notify-callback)
55378         (file-notify-add-watch, file-notify-rm-watch)
55379         (file-notify-valid-p): Add kqueue support.
55381         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
55383 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55385         Add kqueue support
55387         * configure.ac (--with-file-notification): Add kqueue.
55388         (top): Remove special test for "${HAVE_NS}" and
55389         ${with_file_notification}, this is handled inside gfilenotify
55390         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
55391         instead of library specific variables.
55393         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
55395         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
55397         * src/kqueue.c: New file.
55399         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
55401 2015-11-25  Michael Albinus  <michael.albinus@gmx.de>
55403         Some final fixes in file notification before merging with master
55405         * lisp/filenotify.el (file-notify--rm-descriptor): Remove WHAT arg.
55406         (file-notify-callback): Improve check for `stopped' event.  Call
55407         `file-notify-rm-watch' rather than `file-notify--rm-descriptor'.
55408         (file-notify-add-watch): In case FILE is not a directory, call the
55409         file monitor for the kqueue backend.  Otherwise, call the
55410         directory monitor for the upper directory.
55412         * src/inotify.c (inotifyevent_to_event): Extract file name from
55413         watch_object if the event doesn't provide it.
55414         (Finotify_add_watch): Add file name to watch_object.
55416         * test/automated/file-notify-tests.el (file-notify--test-timeout):
55417         Use different timeouts for different libraries.
55418         (file-notify--test-with-events): Suppress lock files.  Flush
55419         outstanding events before running the body.
55420         (file-notify-test02-events, file-notify-test04-file-validity): Do
55421         not skip cygwin tests.  Add additional test for file creation.
55422         Adapt expected result for different backends.
55423         (file-notify-test03-autorevert): Some of the tests don't work for
55424         w32notify.
55425         (file-notify-test06-many-events): Rename into both directions.
55427 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
55429         Update elisp-mode-tests for changed file location.
55431          * test/lisp/progmodes/elisp-mode-tests.el:
55433 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
55435         Exclude manual tests from Makefile
55437          * test/Makefile.in:
55439 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
55441         Move package test files to new directory.
55443          * test/lisp/emacs-lisp/package-tests.el: Update resoruce file location.
55444          * test/data/package: Moved to test/lisp/emacs-lisp/package-resources
55446 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
55448         Restore delete Makefiles and fix .gitignore.
55450          * .gitignore: Update Makefiles to changed locations
55451          * test/lisp/progmodes/flymake-resources/Makefile,
55452            test/manual/etags/Makefile,
55453            test/manual/etags/make-src/Makefile,
55454            test/manual/indent/Makefile: Restored and moved to new location.
55456 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
55458         Test infrastructure: updates after directory move
55460          * (test/Makefile.in): Support directories several levels deep.
55461          * (test/data/flymake): Rename to test/lisp/progmodes/flymake-resources.
55462          * (test/lisp/progmodes/flymake-tests.el): Support renamed resource directory.
55464 2015-11-24  Phillip Lord  <phillip.lord@russet.org.uk>
55466         Rename all test files to reflect source layout.
55468         * CONTRIBUTE, Makefile.in, configure.ac: Update to reflect
55469         test directory moves.
55470         * test/file-organisation.org: New file.
55471         * test/automated/Makefile.in:
55472         * test/automated/data/decompress/foo.gz:
55473         * test/automated/data/epg/pubkey.asc:
55474         * test/automated/data/epg/seckey.asc:
55475         * test/automated/data/files-bug18141.el.gz:
55476         * test/automated/data/flymake/test.c:
55477         * test/automated/data/flymake/test.pl:
55478         * test/automated/data/package/archive-contents:
55479         * test/automated/data/package/key.pub:
55480         * test/automated/data/package/key.sec:
55481         * test/automated/data/package/multi-file-0.2.3.tar:
55482         * test/automated/data/package/multi-file-readme.txt:
55483         * test/automated/data/package/newer-versions/archive-contents:
55484         * test/automated/data/package/newer-versions/new-pkg-1.0.el:
55485         * test/automated/data/package/newer-versions/simple-single-1.4.el:
55486         * test/automated/data/package/package-test-server.py:
55487         * test/automated/data/package/signed/archive-contents:
55488         * test/automated/data/package/signed/archive-contents.sig:
55489         * test/automated/data/package/signed/signed-bad-1.0.el:
55490         * test/automated/data/package/signed/signed-bad-1.0.el.sig:
55491         * test/automated/data/package/signed/signed-good-1.0.el:
55492         * test/automated/data/package/signed/signed-good-1.0.el.sig:
55493         * test/automated/data/package/simple-depend-1.0.el:
55494         * test/automated/data/package/simple-single-1.3.el:
55495         * test/automated/data/package/simple-single-readme.txt:
55496         * test/automated/data/package/simple-two-depend-1.1.el:
55497         * test/automated/abbrev-tests.el:
55498         * test/automated/auto-revert-tests.el:
55499         * test/automated/calc-tests.el:
55500         * test/automated/icalendar-tests.el:
55501         * test/automated/character-fold-tests.el:
55502         * test/automated/comint-testsuite.el:
55503         * test/automated/descr-text-test.el:
55504         * test/automated/electric-tests.el:
55505         * test/automated/cl-generic-tests.el:
55506         * test/automated/cl-lib-tests.el:
55507         * test/automated/eieio-test-methodinvoke.el:
55508         * test/automated/eieio-test-persist.el:
55509         * test/automated/eieio-tests.el:
55510         * test/automated/ert-tests.el:
55511         * test/automated/ert-x-tests.el:
55512         * test/automated/generator-tests.el:
55513         * test/automated/let-alist.el:
55514         * test/automated/map-tests.el:
55515         * test/automated/advice-tests.el:
55516         * test/automated/package-test.el:
55517         * test/automated/pcase-tests.el:
55518         * test/automated/regexp-tests.el:
55519         * test/automated/seq-tests.el:
55520         * test/automated/subr-x-tests.el:
55521         * test/automated/tabulated-list-test.el:
55522         * test/automated/thunk-tests.el:
55523         * test/automated/timer-tests.el:
55524         * test/automated/epg-tests.el:
55525         * test/automated/eshell.el:
55526         * test/automated/faces-tests.el:
55527         * test/automated/file-notify-tests.el:
55528         * test/automated/auth-source-tests.el:
55529         * test/automated/gnus-tests.el:
55530         * test/automated/message-mode-tests.el:
55531         * test/automated/help-fns.el:
55532         * test/automated/imenu-test.el:
55533         * test/automated/info-xref.el:
55534         * test/automated/mule-util.el:
55535         * test/automated/isearch-tests.el:
55536         * test/automated/json-tests.el:
55537         * test/automated/bytecomp-tests.el:
55538         * test/automated/coding-tests.el:
55539         * test/automated/core-elisp-tests.el:
55540         * test/automated/decoder-tests.el:
55541         * test/automated/files.el:
55542         * test/automated/font-parse-tests.el:
55543         * test/automated/lexbind-tests.el:
55544         * test/automated/occur-tests.el:
55545         * test/automated/process-tests.el:
55546         * test/automated/syntax-tests.el:
55547         * test/automated/textprop-tests.el:
55548         * test/automated/undo-tests.el:
55549         * test/automated/man-tests.el:
55550         * test/automated/completion-tests.el:
55551         * test/automated/dbus-tests.el:
55552         * test/automated/newsticker-tests.el:
55553         * test/automated/sasl-scram-rfc-tests.el:
55554         * test/automated/tramp-tests.el:
55555         * test/automated/obarray-tests.el:
55556         * test/automated/compile-tests.el:
55557         * test/automated/elisp-mode-tests.el:
55558         * test/automated/f90.el:
55559         * test/automated/flymake-tests.el:
55560         * test/automated/python-tests.el:
55561         * test/automated/ruby-mode-tests.el:
55562         * test/automated/subword-tests.el:
55563         * test/automated/replace-tests.el:
55564         * test/automated/simple-test.el:
55565         * test/automated/sort-tests.el:
55566         * test/automated/subr-tests.el:
55567         * test/automated/reftex-tests.el:
55568         * test/automated/sgml-mode-tests.el:
55569         * test/automated/tildify-tests.el:
55570         * test/automated/thingatpt.el:
55571         * test/automated/url-future-tests.el:
55572         * test/automated/url-util-tests.el:
55573         * test/automated/add-log-tests.el:
55574         * test/automated/vc-bzr.el:
55575         * test/automated/vc-tests.el:
55576         * test/automated/xml-parse-tests.el:
55577         * test/BidiCharacterTest.txt:
55578         * test/biditest.el:
55579         * test/cedet/cedet-utests.el:
55580         * test/cedet/ede-tests.el:
55581         * test/cedet/semantic-ia-utest.el:
55582         * test/cedet/semantic-tests.el:
55583         * test/cedet/semantic-utest-c.el:
55584         * test/cedet/semantic-utest.el:
55585         * test/cedet/srecode-tests.el:
55586         * test/cedet/tests/test.c:
55587         * test/cedet/tests/test.el:
55588         * test/cedet/tests/test.make:
55589         * test/cedet/tests/testdoublens.cpp:
55590         * test/cedet/tests/testdoublens.hpp:
55591         * test/cedet/tests/testfriends.cpp:
55592         * test/cedet/tests/testjavacomp.java:
55593         * test/cedet/tests/testnsp.cpp:
55594         * test/cedet/tests/testpolymorph.cpp:
55595         * test/cedet/tests/testspp.c:
55596         * test/cedet/tests/testsppcomplete.c:
55597         * test/cedet/tests/testsppreplace.c:
55598         * test/cedet/tests/testsppreplaced.c:
55599         * test/cedet/tests/testsubclass.cpp:
55600         * test/cedet/tests/testsubclass.hh:
55601         * test/cedet/tests/testtypedefs.cpp:
55602         * test/cedet/tests/testvarnames.c:
55603         * test/etags/CTAGS.good:
55604         * test/etags/ETAGS.good_1:
55605         * test/etags/ETAGS.good_2:
55606         * test/etags/ETAGS.good_3:
55607         * test/etags/ETAGS.good_4:
55608         * test/etags/ETAGS.good_5:
55609         * test/etags/ETAGS.good_6:
55610         * test/etags/a-src/empty.zz:
55611         * test/etags/a-src/empty.zz.gz:
55612         * test/etags/ada-src/2ataspri.adb:
55613         * test/etags/ada-src/2ataspri.ads:
55614         * test/etags/ada-src/etags-test-for.ada:
55615         * test/etags/ada-src/waroquiers.ada:
55616         * test/etags/c-src/a/b/b.c:
55617         * test/etags/c-src/abbrev.c:
55618         * test/etags/c-src/c.c:
55619         * test/etags/c-src/dostorture.c:
55620         * test/etags/c-src/emacs/src/gmalloc.c:
55621         * test/etags/c-src/emacs/src/keyboard.c:
55622         * test/etags/c-src/emacs/src/lisp.h:
55623         * test/etags/c-src/emacs/src/regex.h:
55624         * test/etags/c-src/etags.c:
55625         * test/etags/c-src/exit.c:
55626         * test/etags/c-src/exit.strange_suffix:
55627         * test/etags/c-src/fail.c:
55628         * test/etags/c-src/getopt.h:
55629         * test/etags/c-src/h.h:
55630         * test/etags/c-src/machsyscalls.c:
55631         * test/etags/c-src/machsyscalls.h:
55632         * test/etags/c-src/sysdep.h:
55633         * test/etags/c-src/tab.c:
55634         * test/etags/c-src/torture.c:
55635         * test/etags/cp-src/MDiagArray2.h:
55636         * test/etags/cp-src/Range.h:
55637         * test/etags/cp-src/burton.cpp:
55638         * test/etags/cp-src/c.C:
55639         * test/etags/cp-src/clheir.cpp.gz:
55640         * test/etags/cp-src/clheir.hpp:
55641         * test/etags/cp-src/conway.cpp:
55642         * test/etags/cp-src/conway.hpp:
55643         * test/etags/cp-src/fail.C:
55644         * test/etags/cp-src/functions.cpp:
55645         * test/etags/cp-src/screen.cpp:
55646         * test/etags/cp-src/screen.hpp:
55647         * test/etags/cp-src/x.cc:
55648         * test/etags/el-src/TAGTEST.EL:
55649         * test/etags/el-src/emacs/lisp/progmodes/etags.el:
55650         * test/etags/erl-src/gs_dialog.erl:
55651         * test/etags/f-src/entry.for:
55652         * test/etags/f-src/entry.strange.gz:
55653         * test/etags/f-src/entry.strange_suffix:
55654         * test/etags/forth-src/test-forth.fth:
55655         * test/etags/html-src/algrthms.html:
55656         * test/etags/html-src/index.shtml:
55657         * test/etags/html-src/software.html:
55658         * test/etags/html-src/softwarelibero.html:
55659         * test/etags/lua-src/allegro.lua:
55660         * test/etags/objc-src/PackInsp.h:
55661         * test/etags/objc-src/PackInsp.m:
55662         * test/etags/objc-src/Subprocess.h:
55663         * test/etags/objc-src/Subprocess.m:
55664         * test/etags/objcpp-src/SimpleCalc.H:
55665         * test/etags/objcpp-src/SimpleCalc.M:
55666         * test/etags/pas-src/common.pas:
55667         * test/etags/perl-src/htlmify-cystic:
55668         * test/etags/perl-src/kai-test.pl:
55669         * test/etags/perl-src/yagrip.pl:
55670         * test/etags/php-src/lce_functions.php:
55671         * test/etags/php-src/ptest.php:
55672         * test/etags/php-src/sendmail.php:
55673         * test/etags/prol-src/natded.prolog:
55674         * test/etags/prol-src/ordsets.prolog:
55675         * test/etags/ps-src/rfc1245.ps:
55676         * test/etags/pyt-src/server.py:
55677         * test/etags/tex-src/gzip.texi:
55678         * test/etags/tex-src/nonewline.tex:
55679         * test/etags/tex-src/testenv.tex:
55680         * test/etags/tex-src/texinfo.tex:
55681         * test/etags/y-src/atest.y:
55682         * test/etags/y-src/cccp.c:
55683         * test/etags/y-src/cccp.y:
55684         * test/etags/y-src/parse.c:
55685         * test/etags/y-src/parse.y:
55686         * test/indent/css-mode.css:
55687         * test/indent/js-indent-init-dynamic.js:
55688         * test/indent/js-indent-init-t.js:
55689         * test/indent/js-jsx.js:
55690         * test/indent/js.js:
55691         * test/indent/latex-mode.tex:
55692         * test/indent/modula2.mod:
55693         * test/indent/nxml.xml:
55694         * test/indent/octave.m:
55695         * test/indent/pascal.pas:
55696         * test/indent/perl.perl:
55697         * test/indent/prolog.prolog:
55698         * test/indent/ps-mode.ps:
55699         * test/indent/ruby.rb:
55700         * test/indent/scheme.scm:
55701         * test/indent/scss-mode.scss:
55702         * test/indent/sgml-mode-attribute.html:
55703         * test/indent/shell.rc:
55704         * test/indent/shell.sh:
55705         * test/redisplay-testsuite.el:
55706         * test/rmailmm.el:
55707         * test/automated/buffer-tests.el:
55708         * test/automated/cmds-tests.el:
55709         * test/automated/data-tests.el:
55710         * test/automated/finalizer-tests.el:
55711         * test/automated/fns-tests.el:
55712         * test/automated/inotify-test.el:
55713         * test/automated/keymap-tests.el:
55714         * test/automated/print-tests.el:
55715         * test/automated/libxml-tests.el:
55716         * test/automated/zlib-tests.el: Files Moved.
55718 2015-11-21  Wilson Snyder  <wsnyder@wsnyder.org>
55720         verilog-mode.el: Commentary and fix pre-Emacs 21 behavior.
55722         * lisp/progmodes/verilog-mode.el
55723         (verilog-save-font-no-change-functions): Commentary and fix
55724         pre-Emacs 21 behavior.
55726 2015-11-20  Michael Albinus  <michael.albinus@gmx.de>
55728         Rework file notifications, kqueue has problems with directory monitors
55730         * lisp/filenotify.el (file-notify-add-watch): Call the native
55731         add-watch function on the file, not on the dir.
55733         * src/kqueue.c (kqueue_compare_dir_list): Make also bookkeeping
55734         about already deleted entries.
55736         * test/automated/auto-revert-tests.el
55737         (auto-revert-test01-auto-revert-several-files): Do not call "cp -f"
55738         since this deletes the target file first.
55740         * test/automated/file-notify-tests.el (file-notify--test-event-test):
55741         Make stronger checks.
55742         (file-notify-test01-add-watch, file-notify-test02-events)
55743         (file-notify-test04-file-validity, file-notify-test05-dir-validity):
55744         Rewrite in order to call file monitors but directory monitors.
55745         (file-notify-test06-many-events): Ler rename work in both directions.
55747 2015-11-19  Przemysław Wojnowski  <esperanto@cumego.com>
55749         Use obarray functions from obarray.
55751         * lisp/abbrev.el (copy-abbrev-table, abbrev-table-p, make-abbrev-table,
55752           abbrev-table-get, abbrev-table-put, abbrev-table-empty-p,
55753           clear-abbrev-table, define-abbrev, abbrev--symbol, abbrev-table-menu):
55754           delegate to obarray.el functions.
55755         * lisp/loadup.el: load obarray before abbrev
55756         * test/automated/abbrev-tests.el: new tests
55758 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
55760         Continie with pending events
55762         * src/kqueue.c (pending_events): Remove global variable.
55763         (kqueue_compare_dir_list): Create `write' event for not used
55764         pending events.
55765         (globals_of_kqueue): Remove initialization of pending_events.
55767 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
55769         Improve loops in file-notify-test06-many-events
55771         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
55772         Use `read-event' pauses for the `write-file' loops; otherwise
55773         events are lost in inotify and gfilenotify cases.
55775 2015-11-19  Michael Albinus  <michael.albinus@gmx.de>
55777         Handle more complex rename operation in kqueue
55779         * src/kqueue.c (pending_events): New variable.
55780         (kqueue_compare_dir_list): Handle more complex rename operation.
55781         (globals_of_kqueue): Initialize pending_events.
55783         * test/automated/file-notify-tests.el (file-notify-test06-many-events):
55784         Adapt expected events in the `rename-file' case.
55785         (file-notify-test06-many-events-remote): Declare.
55787 2015-11-18  Christian Schwarzgruber  <c.schwarzgruber.cs@gmail.com>  (tiny change)
55789         epa.el: Add option to replace original text
55791         * lisp/epa.el (epa-replace-original-text): New user option.
55792         (Bug#21947)
55794 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
55796         Add interactive seek command.
55798         * lisp/mpc.el (mpc-cmd-seekcur): New function.
55799         (mpc-seek-current): New command.
55800         (mpc-mode-menu): Add entry for mpc-seek-current
55801         (mpc-mode-map): Bind mpc-seek-current to "g"
55803 2015-11-18  Mark Oteiza  <mvoteiza@udel.edu>
55805         Fix issue where a new tempfile was created every refresh
55807         * lisp/mpc.el (mpc-format): Leave dir as relative path
55809 2015-11-18  Wolfgang Jenkner  <wjenkner@inode.at>
55811         New test with a larger number of events.
55813         * test/automated/file-notify-tests.el (file-notify--test-with-events):
55814         Make timeout heuristically depend on the number of events.
55816         (file-notify-test06-many-events): Use it for new test.
55818 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
55820         * lisp/progmodes/cc-defs.el: Use with-silent-modifications
55822         (c-save-buffer-state): Use with-silent-modifications when available.
55823         (c--macroexpand-all): Check macroexpand-all directly rather than
55824         c--mapcan-status.
55826 2015-11-18  Stefan Monnier  <monnier@iro.umontreal.ca>
55828         * lisp/loadup.el: Set max-lisp-eval-depth here
55830         * lisp/Makefile.in (BIG_STACK_DEPTH, BIG_STACK_OPTS): Remove.
55831         (BYTE_COMPILE_FLAGS): Adjust accordingly.
55833 2015-11-18  Michael Albinus  <michael.albinus@gmx.de>
55835         Further fixes for kqueue.
55837         * lisp/filenotify.el (file-notify-callback): Raise also event if
55838         directory name matches.
55839         (file-notify-add-watch): Add `create' to the flags for `kqueue'.
55841         * src/kqueue.c (kqueue_generate_event): Use watch_object as
55842         argument instead of ident.  Remove callback argument.  Adapt
55843         callees.  Check actions whether they are monitored flags.
55845         * test/automated/file-notify-tests.el (file-notify--test-library):
55846         New defun.
55847         (file-notify-test00-availability, file-notify-test02-events)
55848         (file-notify-test04-file-validity)
55849         (file-notify-test05-dir-validity): Use it.
55850         (file-notify-test02-events, file-notify-test04-file-validity): Add
55851         `read-event' calls between different file actions, in order to
55852         give the backends a chance to rais an event.  Needed especially
55853         for kqueue.  In case of deleting a directory, there are two
55854         `deleted' events.
55856 2015-11-17  João Távora  <joaotavora@gmail.com>
55858         Minor fix to comment indentation and typo in last commit
55860         * lisp/linum.el (linum-update-window): Fix comment indentation and
55861         a typo.
55863 2015-11-17  João Távora  <joaotavora@gmail.com>
55865         linum-mode plays more nicely with other margin-setting extensions
55867         linum.el will only modify the left margin if it needs to, and will
55868         only reset the it back to 0 if it guesses that no-one has touched that
55869         margin in the meantime.
55871         As such, this is a more of a workaround than an actual fix, but fixes
55872         the problems described in bug#20674 regarding the interaction with
55873         modes such as darkroom-mode and olivetti-mode.
55875         A similar fix was commited to nlinum.el in ELPA.git's
55876         e7f5f549fbfb740b911fb7f33b42381ecece56d8
55878         * lisp/linum.el (linum-delete-overlays): Restore margins more
55879         criteriously.
55880         (linum-update-window): Set margins more criteriously.
55882 2015-11-17  Michael Albinus  <michael.albinus@gmx.de>
55884         Code cleanup of kqueue.c
55886         * src/kqueue.c (kqueue_directory_listing): Skip "." and "..".
55887         (kqueue_compare_dir_list): Do not loop when calling
55888         directory_files_internal.  Remove checks for "." and "..", this is
55889         done in kqueue_directory_listing now.
55890         (Fkqueue_add_watch): Check for proper emacs_open flags.
55892 2015-11-16  Daiki Ueno  <ueno@gnu.org>
55894         * lisp/image-mode.el: Support encrypted file
55896         (image-toggle-display-image): Read content from the buffer instead
55897         of the file, if the buffer holds a decrypted data.  (Bug#21870)
55899 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
55901         Doc changes for kqueue
55903         * doc/lispref/os.texi (File Notifications): Add kqueue as backend.
55904         Fix some glitches in the example.
55906 2015-11-16  Michael Albinus  <michael.albinus@gmx.de>
55908         Finish implementation in kqueue.c
55910         * src/kqueue.c (kqueue_directory_listing, kqueue_callback):
55911         Simplify access to list.
55912         (kqueue_compare_dir_list): Simplify access to list.  Raise
55913         `delete' event if directory does not exist any longer.  Otherwise,
55914         wait until directory contents has changed.  Fix error in check.
55916 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
55918         * lisp/filenotify.el (file-notify-add-watch): Fix thinko.
55920 2015-11-15  Juanma Barranquero  <lekktu@gmail.com>
55922         * lisp/progmodes/verilog-mode.el (verilog-save-buffer-state): Add backquote
55924 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
55926         * lisp/emacs-lisp/package.el: Fix a decoding issue
55928         (package--with-response-buffer): Use `url-insert-buffer-contents'.
55929         The previous code had some issues with decoding. Refactoring that
55930         function allows us to use the decoding from url-handlers while still
55931         treating both sync and async requests the same.
55933         * lisp/url/url-handlers.el (url-insert-file-contents): Move some code to
55934         `url-insert-buffer-contents'.
55935         (url-insert-buffer-contents): New function
55937 2015-11-15  Artur Malabarba  <bruce.connor.am@gmail.com>
55939         * lisp/emacs-lisp/package.el: Refactor -with-work-buffer-async
55941         (package--with-work-buffer-async): Reimplement as
55942         `package--with-response-buffer'.
55943         (package--with-work-buffer): Mark obsolete.
55944         (package--with-response-buffer): New macro. This is a more self
55945         contained and less contrived version of
55946         `package--with-work-buffer-async'.  It uses keyword arguments,
55947         doesn't have async on the name, doesn't fallback on
55948         `package--with-work-buffer', and has _much_ simpler error
55949         handling.
55951         (package--check-signature, package--download-one-archive)
55952         (package-install-from-archive, describe-package-1): Use it.
55954         (package--download-and-read-archives): Let
55955         `package--download-one-archive' take care of calling
55956         `package--update-downloads-in-progress'.
55958 2015-11-15  Stefan Monnier  <monnier@iro.umontreal.ca>
55960         * lisp/progmodes/verilog-mode.el: Use with-silent-modifications
55962         (verilog-save-buffer-state): Use with-silent-modifications when available.
55963         (verilog-save-font-no-change-functions): Don't bind
55964         before/after-change-functions if it's not needed.
55966 2015-11-15  Michael Albinus  <michael.albinus@gmx.de>
55968         More work on kqueue
55970         * lisp/filenotify.el (file-notify-callback): Handle also the
55971         `rename' event from kqueue.
55972         (file-notify-add-watch): Do not register an entry twice.
55974         * src/kqueue.c (kqueue_directory_listing): New function.
55975         (kqueue_generate_event): New argument FILE1.  Adapt callees.
55976         (kqueue_compare_dir_list): Rewrite in order to make it more robust.
55978 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
55980         * CONTRIBUTE: Remove information about feature freeze.
55982         Merge branch 'release-process-lowercase'
55984 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
55986         Document the release process
55988         * admin/notes/versioning: Add information about RC releases.
55989         * admin/release-process: Document the release process.
55990         * admin/authors.el (authors-ignored-files):
55991         * admin/README: Change FOR-RELEASE to release-process.
55992         * CONTRIBUTE:
55993         * admin/notes/bugtracker: Don't mention FOR-RELEASE.
55995 2015-11-14  Xue Fuqiao  <xfq.free@gmail.com>
55997         * admin/release-process: Rename from admin/FOR-RELEASE.
55999 2015-11-14  David Engster  <deng@randomsample.de>
56001         gitmerge: Fix git log command
56003         * admin/gitmerge.el (gitmerge-missing): Use '--left-only' since we
56004         only want commits from the branch that is to be merged.
56005         (gitmerge-setup-log-buffer): Use the same symmetric range as in
56006         `gitmerge-missing'.
56008 2015-11-14  David Engster  <deng@randomsample.de>
56010         gitmerge: Try to detect cherry-picks
56012         * admin/gitmerge.el (gitmerge-default-branch): Change to
56013         origin/emacs-25.
56014         (gitmerge-missing): Use symmetric difference ('...') between
56015         branch and master so that cherry-picks can be detected.
56017 2015-11-14  Michael Albinus  <michael.albinus@gmx.de>
56019         Implement directory events
56021         * lisp/filenotify.el (file-notify-handle-event)
56022         (file-notify-callback): Remove traces.
56024         * src/kqueue.c: Include <sys/time.h>.
56025         (kqueue_generate_event, kqueue_compare_dir_list): New functions.
56026         (kqueue_callback): Use them.  Call kevent() with a zero timeout.
56027         (Fkqueue_add_watch): Adapt docstring.  Support directory events.
56028         Compute initial directory listing.  Close file descriptor in case
56029         of errors.
56030         (syms_of_kqueue): Declare Qcreate.
56032 2015-11-14  Eli Zaretskii  <eliz@gnu.org>
56034         Increment Emacs version on master branch
56036         * lisp/cus-edit.el (customize-changed-options-previous-release):
56037         Increase previous version to 24.5.
56039         * configure.ac:
56040         * msdos/sed2v2.inp: Bump version to 25.1.50.
56042 2015-11-13  Xue Fuqiao  <xfq.free@gmail.com>
56044         Mention CONTRIBUTE in README
56046         Mention CONTRIBUTE in README, since it was moved from etc/ to root.
56047         * etc/TODO: Remove the reference to `etc/CONTRIBUTE'.
56048         * README: Mention CONTRIBUTE.
56050 2015-11-13  Wilson Snyder  <wsnyder@wsnyder.org>
56052         Update verilog-mode.el to 2015-11-09-b121d60-vpo.
56054         * lisp/progmodes/verilog-mode.el (verilog-auto, verilog-delete-auto)
56055         (verilog-modi-cache-results, verilog-save-buffer-state)
56056         (verilog-save-font-no-change-functions): When internally suppressing change
56057         functions, use `inhibit-modification-hooks' and call
56058         `after-change-funtions' to more nicely work with user hooks.  Reported by
56059         Stefan Monnier.
56061         (verilog-auto, verilog-delete-auto, verilog-delete-auto-buffer):
56062         Create `verilog-delete-auto-buffer' to avoid double-calling
56063         fontification hooks.
56065         (verilog-restore-buffer-modified-p, verilog-auto)
56066         (verilog-save-buffer-state): Prefer restore-buffer-modified-p over
56067         set-buffer-modified-p. Reported by Stefan Monnier.
56069         (verilog-diff-auto, verilog-diff-buffers-p)
56070         (verilog-diff-ignore-regexp): Add `verilog-diff-ignore-regexp'.
56072         (verilog-auto-inst-port, verilog-read-sub-decls-expr): Fix
56073         AUTOINST with unpacked dimensional parameters, bug981. Reported by
56074         by Amol Nagapurkar.
56076         (verilog-read-decls, verilog-read-sub-decls-line): Avoid unneeded
56077         properties inside internal structures. No functional change
56078         intended.
56080 2015-11-11  Wolfgang Jenkner  <wjenkner@inode.at>
56082         Build fixes for kqueue support.
56084         * src/kqueue.c (Fkqueue_add_watch): O_BINARY is not a POSIX open(3)
56085         flag.
56087         * configure.ac (HAVE_KQUEUE): There is no pkg-config module for native
56088         kqueue on *BSD.
56090 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
56092         Continue kqueue implementation
56094         * lisp/filenotify.el (file-notify-handle-event)
56095         (file-notify-callback): Enable trace messages.
56097         * src/kqueue.c: Include also <sys/types.h>.
56098         (kqueue_callback): Remove watch in case of NOTE_DELETE or NOTE_RENAME.
56099         (Fkqueue_rm_watch, Fkqueue_valid_p): New functions.
56100         (syms_of_kqueue): Add them.
56102 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
56104         Work on kqueue
56106         * lisp/filenotify.el (file-notify--library)
56107         (file-notify-descriptors, file-notify-callback)
56108         (file-notify-add-watch, file-notify-rm-watch)
56109         (file-notify-valid-p): Add kqueue support.
56111         * src/keyboard.c (make_lispy_event): Check also for HAVE_KQUEUE.
56113 2015-11-11  Michael Albinus  <michael.albinus@gmx.de>
56115         Add kqueue support
56117         * configure.ac (--with-file-notification): Add kqueue.
56118         (top): Remove special test for "${HAVE_NS}" and
56119         ${with_file_notification}, this is handled inside gfilenotify
56120         tests.  Add kqueue tests.  Use NOTIFY_CFLAGS and NOTIFY_LIBS
56121         instead of library specific variables.
56123         * src/Makefile.in: Use NOTIFY_CFLAGS and NOTIFY_LIBS.
56125         * src/emacs.c (main): Call globals_of_kqueue and syms_of_kqueue.
56127         * src/kqueue.c: New file.
56129         * src/lisp.h: Declare extern globals_of_kqueue and syms_of_kqueue.
56131 This file records repository revisions from
56132 commit 9d56a21e6a696ad19ac65c4b405aeca44785884a (exclusive) to
56133 commit 5dd0e5c54d29e81c07798a124295c8c3f016d621 (inclusive).
56134 See ChangeLog.1 for earlier changes.
56136 ;; Local Variables:
56137 ;; coding: utf-8
56138 ;; End:
56140   Copyright (C) 2015-2018 Free Software Foundation, Inc.
56142   This file is part of GNU Emacs.
56144   GNU Emacs is free software: you can redistribute it and/or modify
56145   it under the terms of the GNU General Public License as published by
56146   the Free Software Foundation, either version 3 of the License, or
56147   (at your option) any later version.
56149   GNU Emacs is distributed in the hope that it will be useful,
56150   but WITHOUT ANY WARRANTY; without even the implied warranty of
56151   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
56152   GNU General Public License for more details.
56154   You should have received a copy of the GNU General Public License
56155   along with GNU Emacs.  If not, see <https://www.gnu.org/licenses/>.